
2026/08/04 2:08
より小さく、高速で、安全に:Kim i と G L M を大規模に展開するための実行方法
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Workers AI は、Cloudflare のインフラストラクチャ上で大規模な AI モデルの提供を進めており、NVIDIA Blackwell GPU と SGLang フレームワークを活用することでコストを大幅に削減するとともに速度を向上させながら精度を維持しています。本ソリューションは、モデル重みの圧縮、KV キャッシュメモリへの量子化、共有メモリの保護を実現するための整合性チェックという 3 つの中核技術を採用しています。
モデル重みについては、Workers AI がハイブリッド戦略を採用しており、応答のデコードには低精度の INT4 形式を使用します(GLM モデルでは約 60% のメモリ使用量削減を実現しながら、全精度重みから機能的不可能区別性 を維持)。一方、初期処理には高精度な形式を留保しています。KV キャッシュについては、BF16 から 8 ビット FP8 への量子化によりメモリサイズが半分になり、コンテキスト容量が倍増します(例えば、約 137 万トークンの対応が可能になり、従来の約 686 千トークンから)。MMLU や GSM8K などの主要なベンチマークにおける精度劣化はありません。
莫大な同時接続下での安定性を確保するため、Workers AI は共有 KV キャッシュに対して汎用整合性チェックを実装しており、数百件のリクエストが物理メモリページを共有する際のエラーを防いでいます。これにより、スループットおよびレイテンシに対するオーバーヘッドは 1% も未満です。これらの最適化により、同時接続制限が倍増し(例えば、64 つの同時リクエストへの対応が可能になり、従来の 32 から)、運用コストを約 30% 削減するとともに、モデルの信頼性を損なうことなくデコード速度を大幅に向上させることが可能になりました。技術が進化するにつれ、Workers AI は効率的なグローバル展開を実現するために新たな精度形式の検証を継続しています。
本文
ワークス AI における大規模オープンソースモデル高速化の技術揭秘:KV キャッシュ量子化・重み圧縮・キャッシュ整合性チェック
ワークス AI(Workers AI)は、クラウドファリアのデータセンター内で GPU を活用し、世界最高峰のオープンソースモデルを推論処理しています。Moonshot 社の「Kimi K シリーズ」や Z.ai 社の「GLM」などの大規模で長文脈対応・エキスパート混合(MoE)アーキテクチャを持つモデルは、メモリ制約からの効率化が大きな課題となります。
今回は、SGLang を基盤として採用し、メモリ内に収めつつ高速に動作させるための3 つの最適化テクニックについて解説します。これらはモデル精度への影響を一切与えず、多くの顧客を低コストでサポートすることを可能にしています。
- KV キャッシュの量子化(Quantization)
- モデル重みの圧縮
- 共用ハードウェア上のキャッシュ保護機構
基盤:SGLang とオープンソースへのコミットメント
我々のすべての実験および本番環境でのトラフィックは、オープンソース推論サービングフレームワークである SGLang によって実行され、ベンチマーク評価が行われています。
- パフォーマンス証明: SGLang は市場で最高のパフォーマンスを発揮することが実証済みです。
- コミュニティ貢献: ワークス AI と SGLang チームは緊密に連携し、パッチや新機能を開源的なコミュニティへアップストリーミング(upstream)しています。
1. KV キャッシュの量子化(Quantization)
モデルがテキスト生成を行う際、処理済みトークンの注意キー(K)とバリュー(V)は「KV キャッシュ」として保存されます。長文脈対応モデルにおいて、GPU メモリの制約は主にこのキャッシュが占めることが一般的です。
量子化によるメモリ効率の向上
通常、キャッシュは**16 ビット精度(BF16)**で保存されますが、ワークス AI は **8 ビット浮動小数点(FP8: e4m3 形式)**を使用しています。
- 容量削減: キャッシュサイズを半減させることができます。
- Kimi K2.6 モデルの例:保持可能なコンテキスト量は、約 68 万トークンから約 137 万トークンへと倍増しました。
- 利点の本質:
- 単純な処理速度の向上ではありません。
- FP8 アテンションカーネルは値読み取り時に変換を行うため、わずかな追加作業が発生します。
- 真の効果は、**同時実行可能なリクエスト数(メモリ使用量あたりの効率性)**の増加にあります。
ベンチマーク比較:Kimi K2.6 のデコード処理
disaggregated H200 クラウド環境での測定結果です。BF16 は計算速度は若干速いですが、容量不足により同時実行数が制限されます。一方、FP8 では容量が確保され、高い同時実行数に対応できます。
| 同時実行リクエスト数 | BF16 KV キャッシュ (tok/s) | FP8 KV キャッシュ (tok/s) | 備考 |
|---|---|---|---|
| 11 | 371 | 258 | BF16 の方が速い |
| 7 | 316 | 89 | BF16 の方が速い |
| 16 | 1,106 | 1,028 | - |
| 32 | 1,558 | 1,489 | BF16 は容量上限到達(Out of memory)の回避 |
| 64 | メモリ不足 (OOM) | 2,192 | FP8 で拡張可能。ピーク速度は約 41% 高騰 |
- 結論: BF16 は 32 リクエストで容量限界に達するのに対し、FP8 では 64 リクエストまで対応可能になりました。これにより、トータルコストはおよそ 30% 低下しました。
- 適用戦略: プリフィル(計算依存)は BF16 を維持し、デコード(メモリ依存)で FP8 を採用するハイブリッド方式をとっています。
精度への影響なしの検証
評価スイート全体を通じて、FP8 と BF16 のキャッシュは区別できない精度を保持しています。
| ベンチマーク | BF16 KV 結果 | FP8 KV 結果 | 差分 |
|---|---|---|---|
| GSM8K | 94.24 | 94.09 | - |
| ARC-Easy | 89.06 | 89.14 | + |
| ARC-Challenge | 66.72 | 67.49 | + |
| MMLU | 89.11 | 89.04 | - |
| MMLU-Pro | 80.29 | 79.29 | - |
| mcxams(内部ベンチマーク) | 61 / 63 | 61 / 63 | 同等 |
| ツール呼び出しの有効性 | 92.2% | 92.6% | + |
2. モデル重みの圧縮
モデルの重みが GPU メモリの主要な負荷源の一つです。GLM 5.2 で、FP8 から INT4(4 ビット整数)への圧縮を実施しました。
- チェックポイントサイズ削減: 705GB → 421GB(約 40% 削減)
- GPU メモリ使用量削減(8 ウエイテンソル並列): 約 88GB → 約 52GB
- 結果: 残されたメモリで確保できる KV キャッシュ量は、約 118 万トークン分に相当します。
精度検証:INT4 vs FP8
重みの圧縮によりモデルの回答品質に差異は見られませんでした。
| ベンチマーク / 能力指標 | FP8 (基準) | INT4 (圧縮後) | 評価 |
|---|---|---|---|
| GSM8K(完全一致) | 94.39% | 93.56% | 同等 |
| GSM8K(柔軟評価) | 94.24% | 93.48% | 同等 |
| ARC-Easy(精度) | 86.62% | 86.15% | 同等 |
| ARC-Challenge(精度) | 64.93% | 64.85% | 同等 |
| MMLU(平均) | 86.60% | 86.54% | 同等 |
| MMLU-Pro(完全一致) | 80.80% | 80.47% | 同等 |
| mcxams(内部ベンチマーク)通過数 | 62 / 63 | 62 / 63 | 同等 |
デコードフェーズでの速度向上
モデル重みを GPU メモリからストリーミングする必要があるため、デコード速度はメモリ帯域幅で制限されます。データ移動量を減らすことで、INT4 はより高速なデコードを実現します。
| 同時実行リクエスト数 | GLM FP8 (tok/s) | GLM INT4 (tok/s) | INT4 の向上率 |
|---|---|---|---|
| 16 | 92 | +55% | |
| 8 | 413 | +21% | |
| 166 | 838 | +21% | |
| 32 | 1,672 | +27% | |
| 64 | 1,933 | +16% |
プリフィルフェーズの挙動
一方、プリフィルでは計算リソースが主導となります。INT4 重みを FP8 に展開し直すためのオーバーヘッドがあるため、FP8 の方が高速です(GLM 例:FP8 約 10,160 トークン/秒 vs INT4 約 8,660 トokens/秒)。
- disaggregated アーキテクチャの活用:
- デコード: 大容量 KV キャッシュが必要 → INT4 を採用(速度向上)。
- プリフィル: 計算リソース依存 → FP8 を維持(速度維持)。
- 総合的な品質: すべてのベンチマークにおいて、モデル精度は FP8 モデルから0.8 ポイント以内であり、品質上の差異は検出できません。
3. 共用 KV キャッシュの保護
KV キャッシュ量子化や重み圧縮により、1 つの GPU メモリ上で多数のリクエストを共有可能になりました。しかし、数百のリクエストが同じ物理ページを読み書きするため、高速化を実現する仕組み(Paged Attention など)は帳簿管理の完全な正確性に依存します。
- リスク: 大規模なボリュームにおいて、誤った読み出しが発生するとシステム安定性に直結します。
- 対策: **「KV キャッシュの整合性チェック」**を防御層として構築しました。
動作原理
- タグ管理: 各物理キャッシュページには、再割り当てごとに一意のタグが付与されます。
- マッピング検証: デコード操作中にキャッシュからデータを読み取る直前、サーバーは「どのリクエストがどのページを使用するか」を検証します。
- 異常時の挙動: タグやマッピングが一致しない場合、誤ったデータを返すのではなく、そのリクエストを中止させます。
コストパフォーマンス測定
2 プリフィル・2 デコード構成の中規模本番モデル(入力 8,192 トークン、出力 1,000 トークン)での測定結果です。
| 同時実行数 | スループット変化 | p95 レイテンシ変化 |
|---|---|---|
| 1 | -0.53% | +0.42% |
| 2 | -0.38% | +0.54% |
| 4 | -0.79% | +0.63% |
| 8 | -0.43% | +0.80% |
- コスト評価:
- スループットおよび p95 レイテンシのオーバーヘッドは、いずれも 1% 未満です。
- GPU スレッド群間の競合を招かないよう、アテンションカーネルに融合させず別々のバッチチェックとして実装しています(計算コスト最小化)。
- デフォルト動作: デプロイ単位で有効化可能です。デフォルトは無操作(no-op)トラッカーを使用するため、測定可能なオーバーヘッドはありません。**必要な場合は「完全に無料」**で利用できます。
今後の展望と参画への招待
frontier モデルの効率的なサービングは常に進化し続ける領域です。今後以下の取り組みを推進します。
- 技術拡張: FP8 KV キャッシュをフリート全体のさらに多くのシステムに展開。
- 新アーキテクチャ対応: Blackwell GPU での NVFP4 重みの妥当性を検証。
- 安定性向上: 整合性チェック機能を全システムで安定的かつ無償に近い状態で維持・提供。
これらの最適化により、より多くの顧客を低コストかつ同等の精度でサポートし続けることができます。
最先端のオープンソースモデルを GPU に最適化し、何百万もの開発者にサービスを提供するこの挑戦に興味をお持ちの場合は、ぜひ我々と一緒に働いてください。