Modal が cold start を 40 倍縮めた方法 — serverless GPU の新しい経済学
Modal が cold start を 40 倍縮めた方法 — serverless GPU の新しい経済学
Modal はどうやって GPU 推論コンテナの起動時間を 33 分から 50 秒へ縮めたのか。そしてこの変化は、「serverless GPU」という表現がついに本当の意味を持つようになる時点を指しているのか。
導入 — 33 分と 50 秒のあいだの距離
5月 14日に Modal が公開した技術ブログ 1 本が、システムエンジニアコミュニティで急速に話題になった。タイトルは短い。「Cutting inference cold starts by 40x with LP, FUSE, C/R, and CUDA-checkpoint。」HN のスコアは 65 点止まりだったが、本文に並ぶ数字があまりに鮮明で、目を通した人は忘れがたい。ベースラインの cold start は約 2,000 秒、つまり 33 分。Modal の新スタックを通せば、同じワークロードが約 50 秒で起動する。ちょうど 40 倍だ。
この数字は単なるマイクロベンチではない。Modal は 2026 年 2 月から 4 月までの自社トラフィックの中で、CPU スナップショットを 3,500 万回、CPU+GPU スナップショットを 1,500 万回復元しており、その間に生成された固有スナップショットが 170 万個に達したと書いている。つまりこのスタックはすでに本番で四半期単位の検証を受けたインフラだ。同じ記事で Reducto という顧客事例を簡潔に引いている。文書処理のワークロードで cold start が約 70 秒から約 12 秒に下がった、6 倍。この短縮があったからこそ Reducto は 1,000 を超える GPU 規模で idle 容量を別に確保せずに安定したスループットを維持できた。
この記事が真に重要な理由は二つある。ひとつは cold start こそが、これまで「serverless GPU」という表現をマーケティング用語の域にとどめてきた決定的なボトルネックだったという点。もうひとつは Modal がそのボトルネックを単一の技術ではなく、四層に積み重ねたインフラ — LP、FUSE、C/R、CUDA-checkpoint — として解体したという点だ。Modal のブログが本文末尾に書いた一行、「インフラは積み重なる(infrastructure compounds)」は本稿の真の論点を凝縮している。
本稿はその四層を順に追いながら、GPU 推論インフラの経済学が 5月のこの発表を起点にどう変わるのかを整理する。最後に、この変化が LLM の価格曲線と新興推論会社の参入障壁にどんな影響を及ぼすかを検討する。
本文 1 — 四層に積み上げた cold start の解体
Modal のスタックを下から見る。
最下層は GPU 割当ての線形計画(LP)である。 Modal は Google の GLOP ソルバーを用いて分単位でクラウド事業者ごとの GPU 価格とユーザー要求を入力し、「ユーザー要求 + バッファ」分の GPU を最小コストで確保する最適化問題を解く。この決定そのものが cold start を縮めるわけではないが、idle 容量バッファをどれくらい持つかを価格関数で解いておくことで、cold start が発生したときにシステム全体が崩れるのを防ぐ。Modal は同じ記事ではっきり書く。「100% 稼働のシステムは誤差の余地がなく、不具合は日常的に障害になる(A 100% utilized system has no margin for error, and so faults routinely become failures)。」この一文は GPU インフラ運用の本質を突く。稼働率を 100% まで上げようとする試みは結局信頼性を削るので、一定の idle バッファを持つこと自体がコストではなく信頼性投資だ。
第二層は FUSE ベースのコンテナイメージ lazy loading だ。 一般にコンテナ起動はイメージ全体をディスクに展開してからプロセスを起こす。AI 推論コンテナは 30〜50 GB のイメージが普通で、50 GB を 1 GB/s で受けても 50 秒かかる。Modal は libfuse 上に独自のファイルシステムを敷き、コンテナ起動時にメタデータ(インデックス)数 MB だけを 100ms 以内に読み込み、その後プロセスが実際にアクセスしたファイルのみ非同期で取得する構造を作った。content-addressed + 階層化キャッシュの上で動く。トレードオフもある。ユーザー空間とカーネルを 2 回往復するので character-device 演算は少し遅くなるが、推論ワークロードはほぼスループット中心なので影響は小さい。Modal はもうひとつの意識的な決定も書く。gzip 展開をスキップしているという点だ。DEFLATE がシングルスレッドの限界で約 100 MB/s に縛られるので、速いキャッシュ層が逆に詰まってしまう。
第三層はホスト側の checkpoint/restore(C/R)である。 gVisor の runsc ランタイムを用い、Python プロセスがライブラリ import を終えた時点の状態をそのままディスクにスナップショットとして落とす。PyTorch、transformers、vLLM のような重いライブラリの import 時間は小さなモデルでも数十秒かかるが、この段階を毎回再実行せず、直列化されたヒープとスレッド状態の復元で迂回する。ホスト側 C/R の効果は小さいモデルで特に大きい。vLLM で Qwen 3 0.6B(1 GiB)を起動するとき、スナップショットなしで平均 95.7 秒、ありで 13.8 秒。SGLang で同じモデルを起動すると 83.7 秒が 17.5 秒に下がる。いずれも 7 倍前後だ。
第四層、そして最も決定的な層は CUDA-checkpoint である。 Nvidia のドライバ拡張で、GPU デバイスメモリをホストメモリへ直列化して保存し、後でそのまま復元できる。この段階があってはじめて CUDA グラフとコンパイル済みカーネルを一から作り直さずに持ち込める。Modal はこの段階で 4〜10 倍の追加短縮を得たと書く。「コンテナの起動時間が数分から数十秒の単位へ下がる(reducing container start time from several minutes to tens of seconds)。」大きなモデルほどこの短縮は大きい。7B モデルの重い CUDA コンテキストがディスクからそのまま復元されると、GPU メモリ確保とカーネルコンパイルにかかっていた数分がまるごと消える。
ここでの核心は四層が独立ではないという点だ。Modal の記事が末尾に書いた一文、「デバイス側 checkpoint/restore はホスト側 checkpoint/restore の上に積まれ、その上にファイルシステムが敷かれる。インフラは積み重なる(The device checkpoint/restore builds on the host checkpoint/restore, which builds on the underlying filesystem. Infrastructure compounds)。」という表現は単なる修辞ではない。CUDA-checkpoint だけ単独で使おうとしても、ホスト側 Python プロセスがすでに import を終えた状態でなければ、GPU メモリだけ復元しても再 import が走る。ホスト C/R だけ使っても、コンテナイメージを 50 GB 展開しなければならないならそれだけで分単位を持っていかれる。四層がひとまとめで動いてはじめて 40 倍が出る。
本文 2 — トレードオフの中で何を選んだか
Modal の記事が印象的なもうひとつの理由はトレードオフを隠さない点だ。本文には限界が二つ明示されている。
第一の限界は CPU スナップショットの命令セット依存性だ。 Modal はホスト C/R スナップショットがホスト CPU の命令セットに敏感だと書く。具体的には AWS の g6.12xlarge インスタンスには pclmulqdq 命令がなく、別のインスタンスで作ったスナップショットをそのまま復元できない。この限界はクラウド運用者からすれば小さくない。同じワークロードをどのインスタンスで起動しても cold start が同じく速いという保証がない、ということだ。Modal はこれに対処するためホストグループごとに別途スナップショットを管理していると書く。つまり同じモデルでもホストタイプごとに別々のスナップショットを用意する必要がある。運用複雑度の増加が代償である。
第二の限界はマルチ GPU ワークロードの非互換性だ。 現状の GPU スナップショットはシングル GPU ワークロードにしか適用できない。Modal は理由を一行で書く。「NCCL プログラムは一時停止を前提に設計されておらず、しばしばデッドロックする(nccl programs are not designed for pauses and frequently deadlock)。」NCCL はマルチ GPU 通信ライブラリで、GPU 間の collective 演算を同期する。この同期状態を一方の GPU だけ止めて復元しようとすると、他方の GPU は応答を待って固まる。大きなモデルほどマルチ GPU が必須だが、その領域ではこのスタックはまだ効かない。Modal はそれを率直に認め、その領域では RDMA ベースの weight server のような別のアプローチが必要だと書く。
第三の興味深い決定は、RDMA weight server のようなより攻撃的な最適化をあえて追わなかった点だ。 Modal はその可能性を知りつつ「これは可能だがコストが高く厄介である。特に複数モデルと動的なワーカープールへ拡張しようとするとなおさら(This is doable, but expensive and gnarly, especially when scaling to many models and dynamic worker pools)」と書く。つまり Modal は意図的に「エンジニアリングの合理性」の地点で止まることにした。この決定自体が興味深い。cold start を 1 秒未満までさらに縮める道はあるが、その道は運用複雑度が爆発し、小規模チームには維持できなくなる。50 秒で 40 倍の短縮を得たあとは、より攻撃的な短縮より、その 50 秒を多様なワークロードで安定的に再現するほうが価値があるという判断だ。
この判断自体が、GPU インフラ各社が 5月時点で到達した合意を示している。モデル自体の性能は比較的平坦化した一方、モデルを serving するインフラの安定性とコスト可視化は依然として差が大きい。その差は cold start、スループット安定性、価格の予測可能性、マルチモデルホスティング効率のような運用ディテールで決まる。Modal の発表が単なる自慢ではなく、業界標準がどこへ固まりつつあるかを示す記事として読まれる理由だ。
本文 3 — serverless GPU の経済学が変わる地点
「serverless GPU」という表現は 2023 年から頻繁に使われたが、実態はマーケティング用語に近かった。GPU の可用性が分単位で揺らぐ状況では、ユーザーはどうしても idle 容量をある程度先に確保せざるを得なかった。この idle 時間はそのまま価格だった。1 秒単位で課金するとしても、ユーザーが実際には使っていない分単位の時間が価格に組み込まれる。それが本当の serverless ではない理由だ。AWS Lambda がミリ秒単位で課金できるのは cold start が短いからで、cold start が長ければどんな課金単位でも本当の serverless にはならない。
Modal の 5月の発表が意味するのはこの経済学が変わるという点だ。cold start が 50 秒まで下がれば、価格モデルは「idle 時間をユーザーに転嫁する分単位課金」から「秒単位または分単位の使用課金 + インフラ側が抱える idle バッファ」へ移れる。これが本当の serverless の定義だ。インフラ事業者が idle コストをどう処理するにせよ、ユーザーは自分が使った分だけ払う。Reducto の事例はその変化の最初の可視信号だ。1,000 を超える GPU の上で idle 容量を別に持たずに安定したスループットを維持できるようになったのは、cold start が 70 秒から 12 秒へ下がったという事実が決定的だった。
この変化は LLM の価格曲線にも影響を及ぼす。これまで推論価格はトークンあたりの価格で表示されてきたが、その価格の下のコスト構造は単に GPU 時間だけではなく idle 時間を含む。cold start が長いほどその idle コストが価格にたくさん入り込む。cold start が短くなれば、同じ GPU 稼働率を保ったままより多くのモデルをより小さな単位で serving できる。つまり小さなモデル、特殊用途モデル、ユーザー別ファインチューンモデルのような long-tail ワークロードの単位コストが下がる。5月に入り、小さなファインチューンモデル 1 個を別サービスとして立てることが経済的に意味を持ち始めた背景には、このインフラ変化がある。
この変化は新興推論会社の参入障壁にも影響する。昨年までは LLM 推論を専門にする会社を立ち上げるには、大きな GPU クラスターを先に確保して idle 容量を負担できる必要があった。これが参入障壁だった。5月の Modal のような会社が cold start とコスト構造を解いておけば、小さなチームでも自前の GPU クラスターを持たずに良い cold start と良い価格を同時に提供できる。この流れが固まれば、LLM 推論市場の新興会社の数は増える可能性がある。ただしモデル自体の差別化はますます難しくなっているので、新規参入者の差別化軸はモデルではなく運用 ergonomics — 価格予測、モニタリング、MCP ツール連携 — のほうへ移っていく。5月 18日に Anthropic が Stainless を買収したのも同じ方向を指している。運用ディテールが新しい競争軸になった。
結論 — 「インフラは積み重なる」が指すもの
冒頭の二つの問いに戻ろう。Modal はどうやって cold start を 33 分から 50 秒に縮めたか。そしてこの変化は serverless GPU がついに意味を持つ時点なのか。
第一の問いへの答えは単一技術の魔法ではない。LP、FUSE、C/R、CUDA-checkpoint の四層がひとまとめで動く結果だ。どれかひとつ抜けても他の層の効果が半分以下になる。Modal の「infrastructure compounds」という表現が指すのはこの掛け算構造だ。そしてその掛け算を可能にした決定は単なる技術選定ではなく、エンジニアリングの合理性の地点で止まったという点である。RDMA weight server のようなより攻撃的な最適化を追えば cold start をさらに縮められるが、運用複雑度が爆発して小さなチームの手のうちで安定させづらくなる。40 倍を安定的に得てそこで止まった決定が、四半期単位で検証されたインフラを作った。
第二の問いへの答えは「そうだ、ただし部分的に」だ。シングル GPU ワークロードで cold start が 50 秒以内に収まったという事実は本当の serverless GPU の始まりを指す。しかしマルチ GPU が必要な大きなモデルでは依然このスタックが効かず、ホストタイプによってスナップショット互換性が割れる問題も残る。最大のモデルを最速で立ち上げる領域では、まだ旧来の idle 容量確保が要る。しかし long-tail 領域では 5月の発表がゲームのルールを変える。
本稿が残すメッセージは一行で要約できる。AI 推論インフラの次の四半期は単一の魔法技術ではなく、四層のインフラがどう積み重なるかで決まる。 Modal の発表はその積み重ね構造の最初の可視信号だ。次の四半期に OpenAI、Anthropic、Google の自前推論インフラが同じパターンを踏むのか、別の道を見つけるかを見れば、GPU 推論市場の新しい均衡が見えてくる。その間、小さな推論会社は「infrastructure compounds」という一行を自分のロードマップの最初のページに書いておいたほうがよい。一層だけ敷いても足りない。
出典: