推論における 99.9% の稼働率の意味
Together AI は、推論サービスにおける 99.9% の稼働率という数値が単なる統計上の目標ではなく、ユーザー体験やコスト計算に直結する具体的な運用指標であることを解説している。
キーポイント
稼働率の定義と可用性の限界
99.9% の稼働率が年間約 8.76 時間のダウンタイムを意味することを説明し、推論サービスにおいてこの許容範囲がユーザーに与える影響を定量化している。
推論特有の課題と SLA の乖離
トレーニングとは異なり、推論はリアルタイム性と一貫性が求められるため、99.9% という数字が実際のサービス品質(レイテンシやエラー率)を完全に保証するわけではない点を指摘している。
コストと信頼性のトレードオフ
稼働率を 99.99% や 99.999% に引き上げるには指数関数的にコストが増大するため、ビジネス要件に応じて適切な SLA を選択する重要性を説いている。
重要な引用
"99.9% uptime means you can expect your service to be down for about 8 hours and 45 minutes per year."
"For inference, the definition of 'down' is often more nuanced than just server availability."
"The cost of moving from 99.9% to 99.99% is not linear; it requires significant architectural redundancy."
影響分析・編集コメントを表示
影響分析
この記事は、AI 推論サービスの導入を検討する企業や開発者に対し、SLA の数値を盲目的に信頼するのではなく、その背後にある実質的なダウンタイム時間やコスト構造を理解する必要性を啓蒙しています。特に、推論というリアルタイム性が求められる領域において、単純な稼働率指標がサービス品質の全てを示さないことを示唆しており、インフラ設計やベンダー選定における重要な判断基準を提供します。
編集コメント
推論サービスの SLA を議論する際、多くの企業が「99.9%」という数字だけを鵜呑みにしがちですが、この記事はそれが意味する具体的なダウンタイム時間とコストの関係を明確にしています。特に推論特有のレイテンシ要件を考慮すると、単純な稼働率だけでなく、サービス品質の多面的な評価が求められることを示唆しており、インフラ設計者にとって重要な視点です。
TL;DR
- 要約すると、信頼性のレベルはそれぞれ特定の障害ドメインに対応しており、それを生き延びるには独自のアーキテクチャが必要です。大まかに言えば:
- 99% の稼働率とは、ノードレベルの障害(GPU ハードウェアの故障、ドライバークラッシュ、熱暴走など)に耐えられるアーキテクチャを意味します。これを実現するには、単一のデータセンター内で自動化された健康診断、ノードの排水処理、そして迅速なレプリカの置き換えが必要です。
- 99.9% の稼働率とは、データセンター全体の障害に耐えられることを意味します。通常、これはモデルの重みを 2 つの施設に分散配置し、片側が全負荷を吸収できる十分なキャパシティを持たせ、コールドスタンバイではなくライブトラフィックを両方にルーティングする構成が必要です。
- 99.99% の稼働率とは、リージョン全体の障害に耐えられることを意味します。これには通常、複数リージョンへの展開と AZ(可用性ゾーン)の冗長化、そして予備のフェイルオーバーキャパシティの確保が求められます。
信頼性の数値を公表するのは簡単ですが、その数値が何を意味するのかを説明するのは難しいものです。アーキテクチャが実際にカバーしている障害ドメインは何か、そのレイヤーでインフラを制御できるのはプロバイダー自身なのか、深夜 3 時に何かが起きたときにどうなるのか——それらを明確に示す必要があります。
Together は Cursor、Decagon、Cartesia、Yutori といったチームの推論(inference)運用を担当しています。以下の内容は、私たちが実際に呼び出しを受け対応してきた経験に基づいています。そこで得た教訓を以下にまとめます。
信頼性数値の落とし穴
推論(インファレンス)が停止すれば、それを利用する製品も同時に止まります。GPU を使った推論は、従来のサービスとは異なる形で障害を起こします。ハードウェアには特有の故障モードが存在し、CPU インフラでは見られない問題です。また、システムはパフォーマンス最大化のために限界までチューニングされています。1 GPU あたり 1 分間に 100 万トークンを処理し、200 TPS を維持する、あるいはカスタムカーネルを用いて音声モデルで 50 ミリ秒未満の TTFT(First Token Time)を実現するような状況では、余裕はほとんど残されていません。こうしたシステムに信頼性を追加していくのは、9 の桁数が増えるごとに指数関数的に困難になります。
理解を深めるための有効な思考モデルは「階層」です。各レイヤーには固有の故障モードが存在します:
- 計算リソース(Compute): VRAM 内の ECC エラー(最も頻繁に見られる問題で、重みデータを静かに破損させます。リクエストは正常に返されますが、出力結果は信頼できません)、サーマルスロットリング、ドライバのクラッシュ、NVLink の障害、GPU の状態に関わらずマシン全体を停止させる NIC や CPU の故障。
- ネットワーク: スイッチの故障、性能低下を引き起こしてから完全な利用不可に至るトランシーバの問題、サイト全体をダウンさせるエッジデバイスの故障。
- ストレージ: 重みの取得をブロックする障害、リスケジューリングの停止、そして容量問題へと連鎖する事態。
- ソフトウェア: ルーティングの不具合、スケジューラの極端なケース(エッジケース)、注意を怠ると伝播してしまうデプロイメントの失敗。
これらの要素が単独で故障することは決してありません。ストレージの一時的な不調は容量問題として表面化し、サーマルイベントは健康アラートが発火するずっと前に出力品質の低下として現れます。この問題を扱うには、誤解を招く症状から真のシグナルを読み取る力を養う必要があります。

各「9」が実際に要求するもの
それぞれの信頼性レベルは、単に難易度が上がるだけでなく、全く異なるエンジニアリング課題を伴います。ここでは各レベルで何が必要か、そして私たちがそのために何を構築してきたかを解説します。
99%:ノード障害への耐性
目標は、リクエストが到達する前に劣化したノードを検知し、処理を停止させ、代替ノードへ切り替えることです。ここで重要となるエンジニアリング課題は、観測可能性(オプザビリティ)の確保です。
パッシブなヘルスチェック(ハードウェアのテレメトリやメトリクスに基づく監視)は、リソース容量を増やすことなく可視化を提供しますが、実際の GPU 負荷下でのみ発生する特定の障害タイプを見逃すリスクがあります。一方、アクティブなヘルスチェックはそのような障害を検出できますが、それを実行するためのリソース容量を確保する必要があります。
すでにトラフィックを処理している GPU をテスト対象にすることはできません。なぜなら、それは明らかなジレンマを生むからです。誰もが 100% の利用率で運用したいと考えていますが、ヘルスチェック用の余剰容量を維持し続けることは、信頼性を犠牲にして非効率さを招くことになります。
私たちが選んだアプローチは、スケジューリングの高速化です。チェック処理をスケジューラと統合し、ワークロード間の隙間に実行されるようにしています。また、チェック自体を可能な限り短時間化するよう最適化しています。これは現在も継続的にチューニングを行っている課題です。
このレベルの障害上限は、建物そのものにあります。熱問題、変電所のイベント、エッジルーターの故障など、いずれも DC 内の冗長性があっても単一 DC の展開を停止させます。ほとんどのプロバイダーがバックアップシステムを持っていますが、実環境で定期的にテストされていない冗長システムは、6 週間練習していない選手をベンチから呼び出すようなものです。フェイルオーバーは書類上存在していても、実際に機能するかは別問題です。

99.9%: DC 全体の障害を生き延びる
ここでは、施設全体が障害ドメインとなります。電源、冷却、ネットワークの取り込み(ingress)、エッジネットワーキングです。これを生き残るために必要なものは、2 つの施設に分散された重み付けデータ、負荷全体を受け入れるのに十分な各施設のキャパシティ、そしてきれいに切り替わるトラフィックルーティングです。
プロバイダーがこのレベルを本当に提供できるかどうかを決めるアーキテクチャ上の判断は、両方の施設にライブトラフィックを継続的に流すか、コールドスタンバイ(待機状態)を維持するかという点にあります。私たちは継続運用を選びました。多くの 99.9% SLA 主張はこのレベルを暗黙のうちに約束していますが、肝心なのは、その主張の背後にあるアーキテクチャが実際にそれを支えるように設計されているかどうかです。
インフラの所有権が具体的にどう影響するか、ここでも明確になります。ハイパースケラーやネオクラウドから容量を借りているプロバイダーは、自社の障害ドメインを所有していません。電源や冷却層で何かが故障した場合、彼らはその責任を持つ事業者にチケットを提出するしかありません。その階層での物理的な SLA(サービスレベルアグリーメント)がどこまで耐えられるか、彼らには説明できません。なぜなら、そこを制御していないからです。
一方、Together AI なら、ハードウェア、ネットワーク、ストレージ、ソフトウェアのすべてをカバーする単一のチケットで済みます。これは、グローバルな展開全体にわたってチップからトークンまでの可視性を保有しているからこそ可能です。対照的なケースでは、プロバイダーへの問い合わせ、そこからハイパースケラーやネオクラウドへの転送、そして待ち行列が発生します。午前 3 時に何が起きるかは、実際に目撃しています。
99.99%:地域全体の障害を生き延びる
このレベルにおける根本的な課題は、本質的に信頼性の低いハードウェアの上に、信頼できるインフラを構築している点にあります。GPU の故障率は CPU よりも明らかに高く、あらゆる故障モードに対応する必要があります。4 つの 9(99.99%)を実現するために必要なことは、複数リージョンへの展開と AZ(可用性ゾーン)の冗長化、そして地域全体の障害が発生しても吸収できる規模で、フェイルオーバー領域に予備容量を確保しておくことです。ここで重要なのは「予約済み」という言葉です。「そこにトラフィックをルーティングできる」ではなく、「今すぐそこに空きリソースが待機している状態である」という意味です。
プロバイダーに契約する前に確認すべきこと
SLA は出発点に過ぎません。この質問たちは、その背後にあるアーキテクチャ、障害発生時の責任所在、そして復旧までの速度を問うものです。私たちに対しても同様に聞いてほしいと考えています:**
- インフラの所有権について:モデルはどこにホストされていますか?単一リージョンですか、それとも複数リージョン構成ですか?
- 自前でインフラを構築・運営しているのか、ハイパースケーラーやサードパーティから容量を借りているのか。
- データセンターの運用(電力供給、冷却、トランジットなど)は誰が責任を持つのでしょうか。物理的なアクセス権はあるのか、それともチケット発行による対応フローに頼っているのか。
- あるデータセンターで障害が発生した場合、そのデプロイ先をどこへ移すまでどのくらい時間がかかるでしょうか?まさにこの事態のために予備容量を確保しているのか、それともリソースを最小限に抑えた運用をしているのか。
- フルスタックの専門性について:インフラからトークン生成までの全体を見渡せる可視化(オバザビリティ)はできているのでしょうか。推論処理とハードウェアの間に観測のギャップはないですか?
- 何かが故障した際、チームが直接ハードウェアにアクセスできるのか、それとも診断や対応をサードパーティに依存しているのか。
- GPU ハードウェアに関する専門知識は、推論ソフトウェアの領域を超えてどこまで及んでいるのでしょうか。
- 容量とフェイルオーバーについて:フェイルオーバーのテストはどのように行われていますか。継続的な本番トラフィックによるものですか、それとも定期的な訓練(ドリル)ですか?
- 実際にフェイルオーバーを実行する必要がある場合、現実的な復旧目標時間(RTO)はいくつでしょうか。
- SLA の測定について:各 SLA ティアは実際にはどの障害ドメインをカバーしているのでしょうか。ノード単位、データセンター単位、それともリージョン全体ですか?
- SLA はロードバランサーのレベルで測定されているのか、それとも推論が正常に完了した時点での測定なのか。
- クライアント側のリトライは、アップタイム測定の対象に含まれるのでしょうか。
数値の定義について
曖昧な SLA の定義こそが、「約束されたもの」と「実際に提供されるもの」の乖離を生む原因です。ここでは、私たちが何を測定し、各用語をどのように定義しているかを具体的に解説します。
何を測定しているか
定義と数値
インフラの稼働率(アップタイム)は、推論エンドポイントがリクエストを正常に処理できる時間の割合として定義されます。ただし、これはロードバランサーでの判定ではなく、推論完了時点での結果に基づいています。
- 通常稼働率:99.9%(一貫して達成)
- 単一データセンター向けSLA保証:契約上 99%
- 複数データセンター向けSLA保証:契約上 99.9%
- フェイルオーバー時間:施設障害発生後、正常な容量へトラフィックを切り替えるまでの所要時間(秒単位)
- リクエスト量:測定期間中に処理された推論リクエスト数(200 億 TPM 以上)
私たちが測定するのは、ゲートウェイでの通過時ではなく、推論完了時点です。ロードバランサーには到達したが、GPU で失敗したリクエストも、私たちの基準では「ダウンタイム」としてカウントされます。
もう一つ重要な点は、「可用性」と「パフォーマンス」は別々の契約事項だということです。プロビジョンド・スループット(Provisioned Throughput)では、エンドポイントが単に応答するだけでなく、特定の TPS(1 秒あたりの処理数)を確実に提供するための GPU リソースに対して課金されます。サービスが稼働していても、契約したスループットの 30% しか出せていなければ、それは契約違反となります。
アーキテクチャを見てみる
すべてのプロバイダーは数字を提示します。重要なのは、その背後にあるアーキテクチャがその数字を支えられるか、そして保証が守られるインフラを自前で管理しているかどうかです。
これらは答えられる質問です。各 SLA ティアを支えるアーキテクチャについて、プロバイダーに具体的な説明を求めてください。インフラを自社で所有しているのか、それとも他社のサービスの上に構築されているのかを確認しましょう。また、フェイルオーバー経路が実際のトラフィック下で動作しているかも重要なポイントです。自社のインフラを深く理解しているプロバイダーなら、こうした質問には即座に答えられるはずです。
私どもの仕組みについても、いつでもご説明できます。詳しく知りたい場合は、いつでもお気軽にお声がけください。
原文を表示
TL;DR
- The short version: Each reliability tier maps to a specific failure domain, and each one requires its own architecture to survive it. Roughly speaking:
- 99% means your architecture can survive node-level failures: GPU hardware faults, driver crashes, thermal events. Getting there generally takes automated health checking, node draining, and fast replica replacement within a single DC.
- 99.9% means your architecture can survive a full data center failure. That usually means model weights deployed across two facilities, enough capacity on each side to absorb the full load, and live traffic routing to both, not a cold standby.
- 99.99% means your architecture can survive a regional outage. That typically calls for multi-region deployment with AZ redundancy and reserved failover capacity.
Reliability numbers are easy to publish. What’s hard is explaining what they mean: which failure domains the architecture actually covers, whether the provider controls the infrastructure at those layers, and what happens when something breaks at 3 a.m.
Together runs inference for teams like Cursor, Decagon, Cartesia, and Yutori. We’ve been paged for most of what follows; here’s what we’ve learned.
The problem with reliability numbers
When inference goes down, someone’s product goes down with it. GPU inference fails differently from conventional services. The hardware has failure modes; CPU infrastructure doesn't, and the systems are tuned hard for performance. Hitting 1M tokens per minute per GPU at 200 TPS, or sub-50ms TTFT on voice models with custom kernels, leaves limited slack. Adding reliability to a system like that is exponentially harder with each nine.
The useful mental model is layers, and the failure modes in each one are distinct:
- Compute: ECC errors in VRAM (the most common thing we see; they corrupt weights silently, so requests return but outputs aren't trustworthy), thermal throttling, driver crashes, NVLink faults, NIC or CPU failures that kill the machine regardless of GPU state.
- Network: Switch failures, transceiver issues that degrade performance before causing full unavailability, edge device failures that take out an entire site.
- Storage: Outages that block weight fetching, stall rescheduling, and cascade into capacity problems.
- Software: Routing bugs, scheduler edge cases, deployment failures that can propagate if you're not careful.
None of these fail in isolation. A storage hiccup surfaces as a capacity problem, a thermal event shows up as degraded output quality long before any health alert fires. Getting good at this means learning to read the real signal from the misleading symptom.

What each nine actually requires
Each tier is a different engineering problem, not just a harder version of the same one. Here’s what each one actually takes, and what we’ve built around it.
99%: Survive node failures
The goal is to catch a degrading node before a request reaches it. Detect fast, drain, replace. The interesting engineering problem is observability.
Passive health checks (hardware telemetry, metrics) give you visibility without capacity overhead, but miss a class of failure that only shows up under real GPU load. Active health checks catch those, but they require capacity to run. You can’t exercise a GPU that’s already serving traffic, since this creates obvious tension. Everyone wants to run near 100% utilization, and maintaining excess capacity for health checks just trades reliability for inefficiency. That path we’ve taken is getting fast at rescheduling: integrating checks with the scheduler so they run in the gaps between workloads, and making the checks themselves as quick as possible. It’s still something we tune.
The ceiling at this tier is the building itself. A thermal issue, a substation event, an edge router failure. Any of these takes a single-DC deployment down regardless of in-DC redundancy. Most providers have backup systems for this, but a redundant system that isn’t regularly tested under real conditions is like calling a player off the bench who hasn’t practiced in six weeks. The failover might be there on paper, whether it works is a different question.

99.9%: Survive a full DC failure
The whole facility is the failure domain here: Power, cooling, network ingress, edge networking. What surviving it requires: Weights deployed across two facilities, enough capacity on each side to absorb the full load, and routing traffic that shifts cleanly.
The architectural decision that defines whether a provider actually delivers this tier is whether they run live traffic to both facilities continuously, or maintain a cold standby. We chose continuous. Most 99.9% SLA claims implicitly promise this tier. The question is whether the architecture behind the claim is actually built for it.
This is also where infrastructure ownership matters concretely. A provider renting capacity from a hyperscaler or neocloud doesn’t own their failure domains. When something breaks at the power or cooling layer, they’re filing a ticket with whoever does. They can’t tell you what their SLA physically survives at that layer because they don’t control it. When you’re with Together AI, one ticket covers the hardware, network, storage, and software because we have chip-to-token visibility across our entire global footprint. The alternative: ticket to the provider, ticket from the provider to hyperscaler/neocloud, queue. We’ve seen what that looks like at 3 a.m.
99.99%: Survive a regional outage
The underlying challenge at this tier is that we’re building reliable infrastructure on inherently unreliable hardware. GPU failure rates are meaningfully higher than CPU failure rates, and every failure mode has to be accounted for. What four nines requires: multi-region deployment with AZ redundancy, and reserved capacity in the failover region sized to absorb a full regional outage. The key word here is reserved. Not “we can route traffic there” but “we have room sitting idle there right now.”
What to ask before you commit to a provider
SLAs are a starting point. These questions get to the architecture underneath it, who owns what when things break, and how fast recovery happens. We’d expect you to ask them of us too:
- On infrastructure ownership:Where are models hosted, and is it single or multi-region?
- Do you own your infrastructure, or are you renting capacity from a hyperscaler or third party?
- Who’s responsible for the data center: power, cooling, transit? Do you have physical access, or do you go through a ticket queue?
- If there’s an outage in one DC, how fast can you move that deployment somewhere else? Do you maintain reserve capacity for exactly this, or are you running lean?
- On full-stack expertise:Do you have chip-to-token visibility across the stack, or are there gaps in observability between inference and hardware?
- When something breaks, does your team have direct hardware access or are dependent on a third party to diagnose and respond?
- How deep does your GPU hardware expertise go beyond inference software?
- On capacity and failover:How is failover tested: live traffic continuously, or periodic drills?
- What’s your realistic RTO when a failover actually needs to execute?
- On SLA measurement:Which failure domain does each SLA tier actually cover: a node, a DC, or a region?
- Is your SLA measured at the load balancer or at successful inference completion?
- Do client-side retries count against your uptime measurement?
Our numbers defined
Vague SLA definitions are where the gap between what’s promised and what’s delivered lives. Here’s exactly what we measure and how we define each term.
What we measure
How we define it
Our number
Delivered uptime% of time the inference endpoint successfully serves requests (measured at inference completion, not load balancer)99.9% (consistently delivered)
Guaranteed SLA: Single DCContractual SLA for a single data center deployment99%
Guaranteed SLA: Multi DCContractual SLA for a multi-data center deployment99.9%
Failover timeTime to shift traffic to healthy capacity after a facility faultSeconds
Request volumeInference requests served over the measurement window2B TPM+
We measure at inference completion, not at the gateway. A request that reaches the load balancer but fails at the GPU is downtime in our accounting. One more thing: availability and performance are different contracts. In Provisioned Throughput, you’re paying for a GPU allocation to deliver specific TPS, not just for the endpoint to respond. A service that’s up but delivering 30% of contracted throughput isn’t meeting the deal.
Come see the architecture
Every provider will give you a number. What matters is whether the architecture behind it is built to back it up, and whether they own the infrastructure where the guarantee has to hold.
Those are answerable questions. Ask any provider to walk through the architecture behind each SLA tier. Ask whether they own the infrastructure or sit above someone else’s. Ask whether the failover paths run under live traffic. A provider that knows their infrastructure can answer these quickly.
We can walk you through ours anytime. If you want to dig in, we’re here.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み