レイテンシのスパイクを発生させずに 1M トークン リクエストを処理する方法 (シャーディング戦略、並列デコード、コンテキスト圧縮パイプライン)。
1M トークン リクエストは、大きな小さなリクエストではありません。単純な処理では、遅延のスパイクが発生し、すべてのダウンストリーム タイムアウトが中断されます。 3 つのテクニックにより、コンテキストが成長しても p99 をフラットに保ちます。
プレフィルのシャーディング
プレフィルは長いコンテキストでは主なコストであり、適切に並列化されます。プロンプトをセマンティック境界で分割し、デバイス間で同時にシャードを事前入力し、デコードが開始される前に KV キャッシュをステッチします。 200k トークンを超えると、最初のトークンまでの時間がおよそ 60% 短縮されます。
パラレルデコード
デコードは本質的に逐次的ですが、小規模なドラフト モデルを使用した投機的デコードにより、損失の多くが回復されます。ドラフトでは複数のトークンが提案されており、ターゲットは 1 回のパスで検証され、構造化出力の受け入れ率は 70% を超えます。
コンテキスト圧縮
- リクエストがゲートウェイを出る前に、ドキュメント間で繰り返される定型文を重複排除します。
- 取得チャンクを固定 k にパディングするのではなく、関連性フロアの下にドロップします。
- 長い会話で過去 20 歳よりも古い順番を要約する
ほとんどの 1M トークン リクエストは、1M トークンである必要はありません。顧客トラフィックにおける圧縮性廃棄物の中央値は 23% であり、これを適切に処理するよりも、それを除去する方が早くて安価です。
トークンの予算
リクエストごとの厳しい上限とテナントごとの時間予算を設定します。両方がなければ、1 つの暴走エージェント ループが 20 分で 1 日分の容量を消費する可能性があります。これは、ロングコンテキストのワークロードで最も一般的なインシデント クラスです。