Show HN: Thaw – 実行中のLLMのGitブランチ(エージェントのフォーク、プリフィルスキップ)
Thawは、実行中のLLMセッションを複数のブランチにフォークし、高コストなプリフィルフェーズをスキップすることでAIエージェントの並列探索を可能にするオープンソースツールです。H100 GPU上でサブ秒のフォーク時間(中央値0.88秒)を達成し、コールドブートの約340秒と比較して約400倍の高速化を実現します。vLLM/SGLangと連携し、エージェント分岐、RLトレーニング、並列コーディングエージェント、セッション移行などのユースケースに対応します。
記事インテリジェンス
要点
- Thawは、実行中のセッションからプリフィルをやり直すことなく分岐できるフォークプリミティブをAIエージェントに提供します。
- パフォーマンス実績:H100 GPU上で初回フォーク1.16秒、中央値0.88秒と、コールドブート比約400倍の高速化。
- ユースケース:エージェント推論分岐、RL後訓練(PPO、DPOなど)、並列コーディングエージェント、GPU/データセンター間のセッション移行。
- オープンソース(Apache-2.0)、vLLMおよびSGLangと統合、ディスク、プリステージRAM、スロットホットスワップの3つの復元モードをサポート。
重要な理由
このニュースが重要なのは、Thawは、実行中のセッションからプリフィルをやり直すことなく分岐できるフォークプリミティブをAIエージェントに提供しますためです。
技術的影響
モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。
Thawは、AIエージェント向けのフォークプリミティブを提供するオープンソースツールです。実行中の大規模言語モデル(LLM)セッションをGitブランチのようにスナップショットし、複数の並列子プロセスにフォークします。重みとKVキャッシュを共有することで、高コストなプリフィルフェーズをスキップします。GitHubで公開されており、ライセンスはApache-2.0です。
Thawの核となるのは、プリウォームされたサブプロセスのプール(ForkPool)です。エンジンは一度だけ起動され、以降のfork_completions()呼び出しではKVキャッシュのみをスナップショットします。H100 80GB PCIe GPU上のLlama-3.1-8Bモデルでは、初回フォークに1.16秒、中央値フォークに0.88秒しかかからず、コールドブートの約340秒と比較して約400倍の高速化を達成しています。すべてのブランチはフォーク境界でビット一致かつ多様です。
Thawの応用範囲は広範囲です。エージェント分岐では、推論中に会話を複数の並列仮説にフォークし、最良の結果を選択できます。強化学習後訓練(PPO、DPO、ツリーGRPOなど)では、各ブランチのプリフィル時間をメモリコピー時間に置き換えることでコストを大幅に削減します。並列コーディングエージェントでは、8つのエージェントが8つの解決策を探索する際に、各ブランチに完全なプリフィルを支払う必要がなくなります。セッション移行では、状態を失うことなく、リアルタイム推論セッションを別のGPU、クラスタ、データセンターに移動できます。
技術的には、Thawは4つのプリミティブを組み合わせています:重みの凍結、KVキャッシュの凍結、スケジューラ状態の凍結、そしてそれらを新しいプロセスに復元することです。エンジンの完全な状態を.thawと.thawkvの2つのバイナリファイルに保存し、ダブルバッファリングされたパイプラインDMAを介してディスクまたはプリステージメモリから高速に復元します。Thawは3つの復元モードをサポートします:ディスクモード(O_DIRECTでカーネルページキャッシュをバイパス)、プリステージRAMモード(mmap + cudaHostRegisterによるゼロコピーパス、ただし登録コストがかかるため多数の復元で償却される)、スロットホットスワップモード(thaw serveはmmapをピン留めし、その後のモデル交換は純粋なPCIe DMAとなり、8Bモデルで0.29秒)。KVキャッシュのスナップショットは技術的に最も困難な部分です。thawはブロック内容、ハッシュテーブル、スケジューラのビューをシリアライズし、復元時にブロックデータをDMAでGPUに戻し、ハッシュテーブルを再構築します。これにより、親でキャッシュされたリクエストのプレフィックスは子でも即座にキャッシュヒットします。
ThawはvLLMのスリープモード(RFC #34303)とも統合されており、LLM.sleep(level=2)とLLM.wake_up()を組み合わせることで、GPUメモリ解放後もビット一致の復元が可能です。70Bモデル(TP=2)では、スリープで72.67 GiB/rankを解放し、ウェイクアップ復元に約53.6秒かかります。
アーキテクチャはRustベースで、複数のクレートから構成されています:thaw-core(ファイル形式とI/O)、thaw-cuda-sys(CUDA FFIバインディング)、thaw-runtime(オーケストレーション、Mac上でテストするためのMockCudaも提供)、thaw-py(Pythonバインディング)、thaw-cli(ベンチマークツール)。Python層はvLLMおよびSGLangの統合、エンジンプール、OpenAI互換APIサーバーを提供します。
クイックスタートは pip install thaw-vllm[all] で、その後ForkPoolを使用してフォークできます。詳細なベンチマーク手法についてはプロジェクトのドキュメントを参照してください。