快手万擎大模型、推論コストと性能の全链路最適化手法を公開
本文の状態
日本語全文を表示中
詳細モードで約49分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Kuaishou Engineering
快手技術は GLM-5.2 や DeepSeek-V4 を対象に、並列戦略や PD 分離などによる全链路最適化を実践し、モデル性能を維持しながら推論コストと遅延を大幅削減するシステム構築を発表した。
AI深層分析を開く2026年8月1日 00:18
AI深層分析
キーポイント
性能維持を前提としたコスト削減
過度な量子化や精度の犠牲なく、モデル能力を損なわずに単位 Token コストと TTFT/TPOT を改善する手法が採用されている。
kLLM エンジンの全链路最適化
並行実行、PD 分離、階層型 KV キャッシュ、推測デコーディング、および高度なスケジューリングシステムを含む独自エンジン kLLM が実装された。
新世代モデル構造への対応
Sparse MoE や長文コンテキストを扱う GLM-5.2 や DeepSeek-V4 などの新しいアーキテクチャに対応し、計算・通信・メモリ負荷の再配分を実現した。
OpenRouter ベンチマークでの実績
StreamLake は OpenRouter のベンチマークにおいて、他社トッププロバイダと同等の性能を維持しつつ、キャッシュ活用で競争力のある価格を提供している。
MLA と MoE の並行境界再設計
Attention はリクエスト単位で DP を採用し cKV の重複保存を解消し、MoE はエキスパート単位で EP を採用して通信効率を最適化する。
重要な引用
推論最適化は単純に「モデルを速くする」ことではなく、モデル能力がほぼ失われない前提で単位 Token コストを下げ、スループットを上げ、TTFT/TPOT を保証することである。
StreamLake は OpenRouter の同モデルプロバイダ比較において、GPQA Diamond や TAU-Bench Airline での性能は公式や他社トップと同等でありながら、Prompt Cache 適用後も競争力のある価格を維持している。
推理瓶颈已经从单一算力问题,转化为计算、通信、显存与调度相互耦合的系统问题
增加 GPU 只能扩展计算能力,无法等比例提升有效 KV 容量
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
快手技術 2026-07-31 15:07 北京
本稿では、快手万擎(ワンチン)が並列戦略、PD 分離、KV キャッシュ、投機型デコーディング、そしてスケジューリングシステムにおいて行った全体的な最適化手法について解説します。
大規模モデルの能力が急速に向上した現在、その実用化を決定づけるのはもはやパラメータ数やベンチマークスコアだけではありません。重要なのは、高並行処理、長いコンテキスト、複雑な Agent シナリオといった過酷な環境下でも、低遅延・低コストで安定したトークンサービスを提供できるかという点です。オンラインビジネスにおいて、推論最適化とは単に「モデルを速く動かす」ことではありません。モデルの能力を損なわずに、トークンあたりのコストを下げつつスループットを向上させ、TTFT(First Token Time)や TPOT(Time Per Output Token)といったサービス品質指標を維持することこそが目的です。
本記事では、GLM-5.2 や DeepSeek-V4 などのモデルにおける推論最適化の実際の取り組みを紹介し、快手万擎が並列戦略、PD 分離、KV キャッシュ、投機型デコーディング、スケジューリングシステムで実現した全体的な最適化手法について解説します。
一、推論最適化:大規模モデルの実用化における鍵
大規模モデルが「能力検証」の段階から「実用的な展開」へと移行するにつれ、システムの関心は「タスクをこなせるか」から「安定して低コストでビジネスを支えられるか」へとシフトしています。トレーニングがモデルの性能上限を決める一方で、推論はスループット、遅延、そしてトークンあたりのコストに直結します。つまり、推論こそがモデルの能力を実際の製品価値に変換する重要なプロセスなのです。
従来のインターネットコンテンツのように複製・配布・キャッシュが容易な大規模モデルとは異なり、推論ではリクエストごとに継続的な計算が必要となり、GPU リソースを占有し続けます。さらに、Agent による多段階の計画やツール呼び出し、百万トークン単位の長いコンテキスト、そして長大な推論出力はトークン消費量を急増させ、コスト、スループット、遅延が実用化における最大の制約要因となっています。
そこで重要なのは、モデルの能力を維持したまま、トークンあたりのコストを下げ、限られた計算リソースでスループットを最大化し、TTFT や TPOT などの指標を安定して満たすことです。快手システムソフトウェアは GLM-5.2 や DeepSeek-V4 といった次世代モデルを対象に、並列実行、オペレーターと通信の最適化、KV Cache の管理、量子化、スケジューリング、そして弾力的なサービス提供など多角的な観点から全体的な最適化を進め、コストパフォーマンスの高い推論ソリューションを構築しています。
二、モデル性能の低下を許さない最適化
推論サービスの価値は、トークン単価だけで測れるものではありません。過度な量子化や精度の切り捨て、推論パラメータの調整はコスト削減に寄与する一方で、複雑な推論能力、ツール呼び出し、長いコンテキストの処理といった重要な機能を損なうリスクがあります。したがって、私たちが目指すのは絶対的な低価格ではなく、「モデルの性能をほぼ維持したまま、トークンあたりのコストを下げる」ことです。
「快手万擎」大模型平台的对外推理服务官方提供者は、快手技術の商業化ブランドである StreamLake です。今回紹介する推論エンジン kLLM は、並列実行、PD 弾性、階層型 KV キャッシュ、演算子とコンパイラ最適化などの機能を備え、高性能かつ低コストな推論サービスを支える基盤システムです。
OpenRouter の AutoExacto ベンチマークにおける Provider 間の能力比較は、スクリーンショット時点での 32 日間の移動平均値です。新バージョンの TAU-Bench では大幅な改善が見込まれており、データ更新後はさらに数値が向上する見込みです。出典:OpenRouter
Prompt Cache を考慮した実際のトークン価格は、スクリーンショット時点での 30 日間の移動平均値です。出典:OpenRouter
図に示す通り、OpenRouter 上での同モデル Provider 比較において、StreamLake の GPQA Diamond および TAU-Bench Airline の結果は、モデル公式および他の主要な Provider と同等の水準を維持しています。さらに、Prompt Cache を適用した場合でも、競争力のある実質的なトークン価格を実現できています。これらの公開データから明らかなのは、低価格化のためにモデル性能を犠牲にしたわけではないということです。むしろ、システムレベルでの推論最適化を通じて、性能とコストの両立を図っています。
三、モデル構造の進化と推論における課題
GLM-5.2 や DeepSeek-V4 に代表される次世代大規模言語モデルは、単にパラメータ数を拡大するだけでなく、巨量パラメータとスパース活性化、スパース/圧縮アテンション、そして百万レベルのコンテキスト長という 3 つの方向へ同時に進化を遂げています。このモデル構造の変化は、理論上の計算コストやストレージコストを下げる一方で、推論システムの実行形態そのものも変えています。
次世代モデル構造の進化と推論システムが直面する課題
システム全体の視点から見ると、これらの構造進化は単に推論コストを削減するだけでなく、モデル側の理論コストを下げる一方で、計算・通信・メモリ・スケジューリングの負荷を再配分しています。具体的には以下の通りです。
まず、膨大なパラメータ数とスパースな活性化により、モデルは総パラメータ数を増やして容量を拡大しつつ、1トークンあたりのアクティブ化パラメータ比率を低く抑えることが可能になります。ただし、動的なエキスパートルーティングの導入に伴い、エキスパート間の負荷偏り、小行列計算の増加、およびカード間での All-to-All 通信オーバーヘッドといった課題も生じます。
次に、スパースアテンションと百万トークン単位のコンテキスト長は、長文シーケンスにおけるアテンション計算コストを理論上大幅に削減しますが、超長文コンテキストでは依然として、長い Prefill 処理、KV キャッシュの容量圧力、不規則なメモリアクセス、およびデータ転送負荷が顕著に増大します。
これらの要因により生じる推論上の課題は、「モデル側のコスト削減=システム全体の効率化」とはならない点です。推論のボトルネックは単なる計算能力の問題から、計算・通信・メモリ・スケジューリングが相互に絡み合うシステム全体の問題へと変化しました。システム側では、スループットとリソース利用率の向上を図りつつ、TTFT(First Token Time)、TPOT(Time Per Output Token)、および尾遅延(Tail Latency)といったサービス品質目標も満たす必要があります。最終的には、モデル構造が持つ理論的なメリットを、実際のスループット、応答時間、そして 1 トークンあたりのコスト削減という形で実現することが求められます。
四、中核技術の全体像
過去2年間、クワショウ(快手)のシステムソフトウェアチームは推論エンジン「kLLM」の構築に注力し、長年培ってきたシステムレベルのパフォーマンス最適化手法を大規模モデルの推論領域へ展開しました。大規模モデル時代において極限のパフォーマンス追求を続け、クワショウ万擎(Wanqing)向けに高性能・低コスト・高品質な大規模モデル推論エンジンを提供し、業界全体に対して高可用性・低遅延・高精度なトークン生成を安定的に供給することを目指しています。
システムソフトウェア推論エンジン kLLM は、ビジネス接入からスケジューリング、推論エンジン、ハードウェアリソースに至るまでの全チェーンをカバーする高性能推論プラットフォームです。その中核となるエンジン層では、PD(Prefill/Decode)の分離・解耦、TP/PP/EP/CP を含む多次元並列戦略、DeepEP/Mooncake による効率的な異種通信、FlashAttention-4/FlashInfer といった高性能演算子、L1 GPU/L2 CPU/L3 Remote の 3 段階 KV キャッシュ体系、FP8/INT8/NVFP4 を活用した多精度量子化圧縮、MTP/EAGLE-3/DSpark による投機的デコーディングなどの主要技術を統合しています。これにより、超長文コンテキストと MoE(Mixture of Experts)大規模モデルに対する高スループット・低遅延・高並列推論を実現しました。
さらに、SLO(Service Level Objective)を認識したスケジューリング、Prefix 親和性に基づくルーティング、弾力的なリソース拡張、全チェーンにわたる Metrics/Trace モニタリング、およびグレーデッドフェールオーバー(段階的低下)メカニズムによって生産環境の安定性を担保し、国内 GPU およびネットワークエコシステムとの互換性も確保しています。これにより、社内・社外を問わず多様なビジネスシーンでの高効率なサービス提供を支えています。
クワショウシステムソフトウェア大規模モデル推論フレームワーク kLLM の全体アーキテクチャ
五、中核技術の突破と実装
2025 年に DeepSeek R1 が発表された際、私たちは独自開発した時間分割 PD 分離、DeepEP Auto 通信モード(Prefill は Normal モード、Decode は Low Latency モード)、精度損失のない FP8 KV キャッシュ、およびスケジューリング最適化などの技術を導入しました。テストセット、ハードウェア機種、キャッシュヒット率、そして TTFT や TPOT の制約条件を厳密に一致させた条件下で、業界最高水準のトークン推論コストを実現することができました。
今年に入り、これらの関連能力はさらに GLM、DeepSeek、KIMI などの次世代モデルへ拡張され、モデル適応・推論エンジン・分散実行・キャッシュ管理・スケジューリングを網羅するフルスタック最適化体制が整いました。これにより、複数の主要モデルに対する大規模なオンライン展開も完了しています。以下にその代表的な最適化技術をいくつか紹介します。
5.1 MLA と DP を組み合わせたアテンション:Attention のデータ並列と MoE のエキスパート並列のハイブリッド
5.1.1 単一トークンのコスト削減から、ノード全体の有効 KV キャパシティへの拡張
百万レベルの長文コンテキストにおいて、Attention の計算量と KV Cache の使用量は文脈長に応じて急増します。GLM-5.2 では、DSA(Dynamic Selective Attention)を用いて履歴コンテキストから Top-k トークンを選別して Attention 計算に用いることで計算量を削減し、さらに MLA(Multi-head Latent Attention)の圧縮表現 cKV を活用することで、1 トークンあたりのキャッシュコストを低減しています。
しかし、DSA と MLA は主に計算量と単一トークンの KV サイズの最適化に焦点を当てており、マルチカード環境における状態分布の問題までは解決していません。文脈長や同時実行数が増加し続ける中で、ボトルネックは次第に「ノード内の複数 GPU が、有効な KV キャパシティをどのように共同で拡張できるか」という点へと移っていきます。
5.1.2 純粋な TP:Attention の計算は分割されるが、cKV は複製されてしまう
GQA(Grouped Query Attention)では複数の独立した KV Head を持ち、これを Head 次元に沿って TP(Tensor Parallelism)で分割することが可能です。一方、MLA の cKV は Head を跨いで共有される圧縮状態であるため、同じ方法での分割はできません。
そのため、Attention に従来の TP Group をそのまま適用すると、各 Rank が計算を分担する一方で、同一の要求に対して同じ cKV を処理・保存する必要が生じます。TP=8 の場合、同じリクエストの KV Cache がノード内で 8 回複製されることになります。GPU を増やしても計算能力は拡張されますが、有効な KV キャパシティは同比例には向上しません。
長文コンテキストかつ高同時実行の環境では、システムにまだ余力があるにもかかわらず、KV Cache の容量不足によってバッチサイズを拡大できず、新しいリクエストを受け付けられない事態が発生します。この時点で、真のボトルネックは Attention の計算能力から、TP Group 内で重複して保存されている要求状態へと移っています。
5.1.3 並列戦略の再構築:Attention は「リクエスト単位」で、MoE は「エキスパート単位」で並列化
MLA と MoE は構造が異なるため、モデル全体を単純に DP(Data Parallelism)へ切り替えるのではなく、Attention と MoE の間の並列境界を再定義しました。
Attention には Request DP を採用します。各 Rank が異なるリクエストを担当し、自らが担当するリクエストの cKV、トークン履歴、インデックス状態のみを保持します。これにより、Attention 処理中に DP Rank 間で結果を同期する必要はなくなります。
MoE には EP(Expert Parallelism)を採用します。Router が各トークンに対して Top-k のエキスパートを選択し、All-to-All Dispatch を用いてトークンを該当するエキスパートが配置された Rank に転送します。エキスパートによる計算完了後、All-to-All Combine で結果を元の要求担当 Rank へ返却します。
Dense/Shared FFN(Fully Connected Network)については、必要に応じて TP を維持します。非ルーティング計算もモデル次元で分割する場合、対応するサブパスでのみ Gather/Reduce-Scatter を実行し、EP の Dispatch/Combine と通信経路を混在させません。
重要なのは、一つの並列方式でモデル全体を覆い尽くすことではなく、異なる状態データがそれぞれ最適な分布方法に従うようにすることです。
MLA 環境における、Attention の DP と MoE の EP を組み合わせた並列境界の再構築
Attention の計算を TP8 から Request DP8 へ変更し、各 GPU は自身が担当するリクエストの cKV だけを保持します。MoE については引き続き EP8 を採用し、All-to-All Dispatch/Combine によってトークンと専門家(エキスパート)間のルーティングを行います。
5.1.4 効果と適用範囲
図 8 の 8 GPU 構成において、DP Attention を導入することで各 GPU が異なるリクエストの cKV を分散保存できるようになり、ノードあたりの有効 KV 容量は純粋な TP 構成時の 290 万トークンから 2120 万トークンへと約 7.3 倍に増加しました。これにより平均 TTFT は 25% 低下しています。
最適化後のシステムボトルネックは、TP グループ内での KV の複製から、Request DP における負荷分散や EP 段階の専門家負荷、そして All-to-All 通信へと移行します。したがって、DP Attention は長文コンテキスト、大規模バッチ処理、および KV キャッシュ容量が制限される高スループットなユースケースに特に適しています。一方、小規模バッチや低同時実行環境では、データレイアウトの変換コストや EP 通信によるオーバーヘッドがメリットを相殺する可能性があるため、実際の負荷特性とクラスター間の通信能力を踏まえて選択する必要があります。
5.2 Ring Attention:同期集約から分块パイプラインへ
5.2.1 百万トークンコンテキストにおける CP の拡張
コンテキスト長が 20 万トークンから 100 万トークンに拡大すると、KV キャッシュ容量はシーケンス長に比例して増加し、Prefill 段階での Attention 計算量とメモリ負荷も急激に高まります。百万トークン規模の超長文コンテキストをサポートするために、まず Context Parallelism(CP)を導入しました。これにより、シーケンス次元に沿ってコンテキストトークンを複数の CP ランクに分割し、各 GPU は一部の Query を処理するとともに対応する KV の断片を保持します。これによって、単一の GPU では処理しきれないリクエストを複数 GPU で分散実行することが可能になります。
しかし、シーケンスの分割だけでは KV キャッシュの基本的な配置問題しか解決できません。各ランクがローカルの Query を用いて、利用可能なすべての K/V に対して Attention 計算を実行できるかが、CP の実際のメモリ使用量と実行効率を決定します。
5.2.2 ブロック単位 Ring Attention の実装
推論エンジン内の CP 実行パスにおいて、ブロック単位の Ring Attention を実装しました。CP ランクにおいては、ローカルの Query は計算全体を通じて固定されたままです。一方、ローカルの KV 断片は他のランクの KV ブロックと共にリングトポロジー上を順次転送されます。各ラウンドで GPU は現在の KV ブロックを用いてブロック Attention の一部を計算すると同時に、次のラウンド用の KV ブロックを非同期で受信します。計算が終了したら、すでに到着している次のブロックへ即座に切り替えます。
N 回のラウンドを経ることで、すべてのランクが有効な KV ブロック全体に対する Attention 計算を完了し、KV の断片もリング上を一周して元の位置に戻ります。
Ring Attention におけるシーケンス分割とリング計算の仕組み
分块計算において、完全な Attention と同じ数値結果を維持するために、Online Softmax を用いて各ラウンドで最大値、正規化の分母、出力の累積状態を跨いで管理します。KV Block を一つ処理するたびに局部状態を更新し、すべての有効な Block の処理が完了すれば、ローカル Query に対する最終出力が得られます。これにより、完全な Attention Matrix を物理的に生成する必要はありません。
5.2.3 All-Gather CP との実行経路の比較
従来の All-Gather CP では、各層の Attention 計算の前に、まず各 Rank の KV 分片を全 GPU に集約します。最終的には各 GPU がローカル Query に対応する出力のみを計算しますが、その層が実行されている間は完全な K/V を一時的に生成する必要があり、All-Gather の完了を待ってからでないと Attention の処理を開始できません。
Ring Attention は Attention の数学的な結果を変えるものではなく、K/V の組織方法と通信のタイミングを変更するものです。各 GPU はローカルの KV 分片と単一の通信バッファのみを保持し、一度きりの全量同期・集約を連続したブロック転送に分解します。これにより、Block Attention と連携してパイプライン処理を実現します。
Ring Attention は、VRAM の節約や通信と計算の重なりにおいて相対的に有利です。詳細な比較は以下の通りです。
All-Gather CP と Ring Attention の実行経路比較
5.2.4 実際の効果
検証結果によると、同じモデル、バッチサイズ、CP Degree、KV 精度、ハードウェア構成において、ISL が 512K の場合、Ring Attention CP は All-Gather CP に比べてスループットが 16.9% 向上しました。
5.3 DSpark:最先端アーキテクチャからオンラインでの収益へ
5.3.1 主要なスペキュレーション・デコーディング・アーキテクチャのパフォーマンスのトレードオフ
スペキュレーション・デコーディングは、単一のドラフトモデル同士の競争から、ドラフト生成、ターゲット検証、ハードウェアスケジューリングを連携させたシステム全体の最適化へと進化しています。DeepSeek V4 Flash の推論レイテンシ最適化を中心に、Eagle3、DFlash、DSpark といった技術動向を追跡し続けています。オフラインでの受容率だけを唯一の選定指標とするのではなく、ドラフトの遅延、受容長さ、そして動的負荷下における検証コストも同時に評価しています。
Eagle3 と DFlash はそれぞれ、自己回帰型と並列ドラフト型の両極端を代表します。前者はモデル化が十分ですが、推測長が増えるほどドラフトのコストが高くなります。後者は一度にブロック単位の候補を生成するため遅延が低く済みますが、サフィックス(末尾)の品質が低下しやすいという課題があります。DSpark は半自己回帰構造によって両者の間に新たなバランスを生み出し、さらに信頼度に基づくスケジューリングでターゲットモデルの検証コストを制御します。これは長文入力を扱うオンラインサービスのコスト構造に合致しています。
主流投机解码アーキテクチャの、ドラフト遅延、受容長、検証オーバーヘッドにおける性能特性。位置は定性的な示唆です。
5.3.2 ドラフトモデルから完全デコードチェーンへ
DSpark はまず並列ネットワークで複数のトークン位置のロジットを一度に生成し、その後軽量シーケンスモジュールが各位置ごとにサンプリングを実行します。各位置では、サンプリング前に直前のサンプリング済みトークンに基づいてバイアスを計算し、現在の位置のロジットを修正します。このシリアルの部分はバイアス修正とサンプリングのみを行い、完全なモデル前向き伝播を繰り返す必要がないため、並列ドラフトの低遅延性を維持しつつ、サフィックス(末尾)の品質低下を緩和できます。
DSpark の半自己回帰ドラフト生成の例。並列モジュールが各位置のロジットを一度に生成し、軽量シーケンスモジュールが直前のサンプリングトークンに基づいて現在の位置を修正・サンプリングします。図中の数値は示唆値です。
5.3.3 エンドツーエンドでの性能向上
DeepSeek V4 Flash のオンラインにおける典型的なシナリオでは、ISL(Initial Sequence Length)は約 3K〜6K、OSL(Output Sequence Length)は約 0.5K です。ベースラインと比較して DSpark を導入した結果、平均 TPOT は 15% 低下しました。
5.4 階層型 KV Cache:容量拡張から効率的な再利用へ
5.4.1 L1 の容量制限とキャッシュミス
長文脈のシナリオでは、KV Cache はシーケンス長に比例して増大しますが、GPU メモリにはモデル重みやランタイム状態も保持される必要があります。L1 のみに依存すると、容量不足によりキャッシュが頻繁に淘汰され、システムプロンプト、ツール定義、履歴対話などの重複するプレフィックスを安定して再利用できなくなります。その結果、同種のリクエストでも毎回 Prefix Prefill を再実行する必要が生じます。
プレフィックス KV のライフサイクルを延長し、再利用範囲を広げるため、GPU HBM、CPU DRAM、SSD/分散ストレージからなる 3 段階の KV Cache を構築しました。
5.4.2 階層型キャッシュ、プレフィックス再利用と Cache-Aware ルーティング
3 段階のキャッシュはそれぞれ異なる役割を担います:
L1 · GPU HBM:インスタンス内で最もホットな KV を保存し、ヒットすれば即座に計算に参加します。
L2 · CPU DRAM:L1 から降格されたデータを保持し、インスタンス内での低遅延なリフィルを提供します。
L3 · SSD/分散ストレージ:プレフィックス KV をインスタンス間で共有し、容量やシステム負荷に応じて全データまたは高頻度再利用されるプレフィックスを永続化します。
「万擎」大模型では、最初の Prefill 生成時に作成された Prefix KV を L1 から L2/L3 に格納し、Cache Event を通じてキャッシュ位置を同期します。その後、同じ前缀を持つリクエストはゲートウェイがマッチング長さやキャッシュ位置、負荷状況に基づいて Cache-Aware ルーティングを行います。キャッシュにヒットした場合は KV を L1 に戻し、未命中部分の計算のみを実行すればよいのです。
Chunked Prefill の場合、前回の前缀ツリー状態を再利用して新しいトークンのみを処理するため、完全な前缀を再度スキャンする必要はありません。
L1/L2/L3 階層型 KV Cache と跨インスタンス共有メカニズム
5.4.3 階層型 KV Cache の最適化効果
オンラインの生産環境データを見ると、依然として L1 が主要なヒット流量を担っています。ただし、L1 が容量圧力によりヒット率が低下した際も、L2/L3 が淘汰された Prefix KV を引き受けることで、全体のヒット率を比較的安定して保つことができます。
図示の期間における総ヒット率は平均約 87.6% で、内訳は L1 が約 77.5 ポイント、L2 が約 9.6 ポイント、L3 が約 0.6 ポイントです。もちろん、運用環境や負荷状況によって改善幅は異なりますが、典型的なシナリオでは L3 の導入によりヒット率が最大で 15 ポイント(PP)向上します。L3 を活用することで、ヒット率は理論上の上限に近づきます。
同じモデル・流量・SLO 条件下において、L1 のみのベースラインと比較すると、完全な階層型キャッシュと Cache-Aware ルーティングの導入により、キャッシュヒット率が 20 ポイント向上し、SLO 制約下でのスループットは 30% 増加しました。
5.4.4 前缀ツリーの重要パス最適化
長文入力シーンで階層型キャッシュを有効化した際、前缀関連の処理に深刻なパフォーマンス問題が発生し、明らかな GPU のアイドル(Bubble)が観測されました。フレイムグラフによるホットスポット分析と前缀ツリーソースコードの詳細調査の結果、その根本原因は「全トークン系列を用いた前缀マッチングおよび挿入」を常時実行している点にあることが判明しました。この計算方式は、チャンク化されたリクエストに対して大きな冗長性を生み出します。
例えば、「この前缀は少し長い」という新規リクエストに Prefill を行う場合、ChunkSize が 4 と仮定すると、2 つの Chunk に分割して処理する必要があります:
- 第 1 ラウンド:前缀をマッチングし、Prefill を実行して前缀ツリーに挿入
- 第 2 ラウンド:再度全量の前缀でマッチングを行い、全量の前缀を挿入
このため、中間状態のキャッシュを活用した増分前缀マッチング/挿入最適化アルゴリズムを提案し、こうした冗長計算を排除しました。
5.4.5 接頭辞の再利用による最適化効果
最適化を完了後、同じ負荷テストデータセットを用いて再測定した結果、GPU のバブル(アイドル時間)は平均で 400ms から 30ms に劇的に減少しました。また、長文リクエストにおけるプリアフィル(Prefill)のエンドツーエンド性能も約 40% 向上しています。
最適化前:平均バブル 400ms
最適化後:平均バブル 30ms
5.5 PD 分離:固定比率から SLO ドライブへ
PD(Prefill/Decode)の分離により、プリアフィルとデコードのリソースを個別に設定できるようになりました。しかし、本番環境においてより重要なのは、いかにして適切な P/D の比率を継続的に維持するかという点です。
同じ QPS(1 秒間のリクエスト数)でも、入力シーケンス長(ISL)の増加は主にプリアフィルへの負荷を増大させます。一方、出力シーケンス長(OSL)や並行度の増加は、デコード側の容量をより多く消費します。このようにリクエストの形態が常に変化する中で、固定された P/D 比率では対応しきれないのです。
初期段階で採用されていた「固定 xPyD」サービスグループはシンプルで安定していましたが、グループ単位でのスケールアップ・ダウンしかできず、片側がキューイング(待ち行列)する一方で他側が遊んでいるという非効率が発生しやすいという課題がありました。また、インスタンスの起動に数分を要するため、リソース調整が即座に反映されないという問題もありました。
そこで私たちは、PD 分離システムを TTFT(First Token Time:初回トークン到達時間)や TPOT(Time Per Output Token:出力トークンあたりの時間)といった SLO(サービスレベル目標)達成を目指すオンラインリソース制御システムへと進化させました。SLO を通じて両側の負荷状況を感知し、10 秒級でのインスタンス起動と P/D 間のグローバルなリソースプールを組み合わせることで、P/D の容量比率を動的に調整するフィードバックループを実現しています。
キャッシュを考慮した負荷感知型インテリジェントルーティング
5.5.1 SLO Load:P と D の圧力を別々に計測する
GPU 利用率は単にデバイスの繁忙度を示すだけで、それがユーザー体験に悪影響を与えているかどうかまでは判断できません。Prefill(初期生成)と Decode(逐次生成)はそれぞれ TTFT(初回トークン到達時間)と TPOT(トークン間時間)を主に決定するため、両者の SLO からの乖離度を指標として、それぞれの負荷圧力を統合的に計測します。
実際の性能低下を反映する実測値には観測の遅れという課題がありますが、キューの积压状況や実際のサービスレートから算出される予測値は、混雑を事前に察知できる一方で推定誤差が生じる可能性があります。タイミングと信頼性の両立を図るため、ここでは予測値と実測値のいずれか大きい方(上界)を採用します。
SLO で正規化された結果、P と D の両側で統一された負荷スケールが得られました。Load=1 は目標境界に達していることを意味し、Load>1 は該当する処理段階に容量圧力がかかっている状態を示します。
5.5.2 10 秒級起動:スケーリングを確実に追従させる
従来の推論インスタンスの起動では、モデル重みのロード、JIT(Just-In-Time)コンパイル、メモリ初期化、ランタイムのウォームアップが順次行われ、完全なコールドスタートには通常数分かかります。この長い起動時間はトラフィックの変動に即応できず、P と D の比率調整や障害復旧の速度も制限されてしまいます。
そこで、起動のボトルネックとなる主要経路に対して 3 つの最適化を施しました。
- RDMA を利用して稼働中のインスタンスから直接モデル重みをロードし、遠隔ストレージからの重複読み込みを回避する
- JIT キャッシュを共有し、すでに完了したオペレータのコンパイル結果を再利用する
- CUDA VMM(仮想メモリ管理)を活用してメモリレイアウトを流用し、unmap/remap 操作によってメモリの再割り当てと初期化を最小化する
これらの施策により、推論インスタンスの起動時間を約 10 分から 10 秒未満に短縮しました。これにより、P と D のスケーリングが現在の負荷変化に対して即座に反映されるようになりました。
同様に「稼働中のインスタンスから RDMA で重みを配布する」という手法は、コミュニティにおいても迅速な弾力性確保の重要な方向性として定着しつつあります。例えば Dynamo Model Express は、既存ワーカーの GPU メモリから新しいワーカーへモデル重みを転送する機能(Dynamo Model Caching)をサポートしています。
5.5.3 大規模 P/D:固定グループバインドの解除
初期段階では、x 個の P インスタンスと y 個の D インスタンスをセットにして「xPyD」というサービスグループを構成する固定デプロイを採用していました。スケーリングもこの完全なサービスグループ単位で行われていました。
この方式はトポロジーが明確で実装が容易ですが、リソース調整の粒度が実際の負荷変動と一致していませんでした。ISL(入力シーケンス長)、OSL(出力シーケンス長)、および並行度の増加は、まず P 側または D 側のいずれかの圧力を高める傾向がありますが、固定された xPyD グループでは片側だけを独立して調整することができません。
例えば、長い入力テキストのトラフィックが増加した場合、P 側にキューが形成されても D 側にはまだ余裕があるにもかかわらず、P をスケールアップするには xPyD グループ全体を同時に増やす必要がありました。
大 PD アーキテクチャ:固定の xPyD サービスグループから P/D グローバルリソースプールへ
この課題を解決するため、従来の固定 PD グループを「大 PD アーキテクチャ」へと進化させました。P インスタンスと D インスタンスはそれぞれグローバルな Prefill Pool と Decode Pool を構成し、必要に応じて独立してリソースプールへの参加・退出が可能です。各リクエストはもはや事前に設定された PD グループに紐付けられるのではなく、Global Router が P_i と D_j をその都度選択し、リクエスト単位で動的なペアを形成します。
具体的には以下の手順で動作します。
リクエスト到着時:KV キャッシュの状況と負荷分散戦略に基づき、P インスタンスを選択します。
Prefill 完了後:D 側の負荷状況、KV キャストの位置情報、転送コストを総合的に判断し、最適な D インスタンスを選定します。
P と D のインスタンスはライフサイクルが独立しており、それぞれの負荷に応じて個別にスケールアップ・ダウンが可能です。
大 PD アーキテクチャにより、容量調整をボトルネックとなる側に直接行えるようになりました。P 側の負荷が高い場合は Prefill Pool だけを拡張し、D 側の負荷が高い場合は Decode Pool だけを拡張します。これにより、ボトルネックではない側が不必要にスケールアップするのを防ぎつつ、インスタンス単位で P/D の比率を継続的に最適化できます。
5.5.4 最終的な効果
SLO ロードテスト、10 秒級のスループット、そして P/D グローバルリソースプールが組み合わさることで、PD エラスティシティの完全なクローズドループが実現されました。システムは P と D の両側における容量圧力を検知し、単一インスタンス単位で独立したスケールアップ・ダウンを実行します。さらに、追加された容量を 10 秒以内にサービス投入可能としました。従来の約 10 分かかっていたインスタンス起動に比べ、容量有効化の速度は約 60 倍向上しています。
OpenRouter の公開モニタリングデータによると、StreamLake が提供する GLM‑5.2 サービスの過去 30 日間のプロバイダー稼働率は 99% を超えています。
5.6 長文リクエストの安定性最適化
前述した CP と Ring Attention は、超长コンテキストにおける「計算可能な」状態を実現し、推論エンジンに百万トークン単位のコンテキスト処理能力をもたらしました。本節ではさらに、「安定的に運用できる」状態の実現を目指します。実際の業務において、長文入力や長文出力を伴うリクエストの割合は通常 5% に満たないものの、1 つのリクエストが消費する計算時間、KV キャッシュ量、およびリソースの保持時間は通常のケースと比べて格段に大きくなります。これが局所的な渋滞を引き起こし、それがグローバルなキューイングへと拡大することで、主流となるリクエストの TTFT(Time to First Token)を著しく悪化させる要因となります。
この課題に対し、エンジン側とグローバルスケジューリング側の両面から長文リクエスト向けのスケジューリングクローズドループを構築しました。これにより、インスタンス内では単一のリクエストが長期間リソースを独占することを防ぎ、インスタンス間では過負荷ノードへのトラフィック集中を抑制します。
KV Events はキャッシュ状態を、Engine Load はリアルタイムの負荷状況をそれぞれ示します。エンジン側では公平な実行と KV の高水位保護を担当します。
5.6.1 長文入力向けエンジンスケジューリングの改修:Chunk Prefill による公平スケジューリング
長文入力は主に以下の 2 つの経路で TTFT に影響を及ぼします。
Chunk Prefill によるブロック:長文リクエストは複数の Chunk に分割されます。これらが連続して実行されると、後から到着した短文リクエストが数輪にわたって待たされることになり、TTFT が著しく引き伸ばされます。
KV アドミッション(受付)によるブロック:Decode インスタンスでは、各リクエストのために KV スペースを確保する必要があります。残量が不足すると長文リクエストは受付段階で停止し、結果として後続の短文リクエストもブロックされる可能性があります。
そこで、Chunk をスケジューリングの単位とし、KV バジェットに基づいて実行クォータを割り当てる方式を採用しました。1 つの Chunk 内で完結できる短文リクエストは優先的に実行されます。一方、長文リクエストはクォータが尽きた時点で Chunk の境界でリソースを譲り渡し、すでに計算済みのプレフィックス KV は保持したままにします。再度実行機会を得た際は、長文リクエストは中断点から直接再開され、重複計算は不要となります。
長文リクエストが長時間実行されずに待機状態になるのを防ぐため、その回復用クォータはリソース譲渡の回数に応じて段階的に増加させます。これにより、短文リクエストの TTFT(Time to First Token)を保護しつつ、長文リクエストも最終的には確実に完了できるようになります。
チャンクプリフィルにおける公平なスケジューリングメカニズムです。公平性を考慮しない場合、長文リクエスト B が計算資源を連続して占有し、短文リクエスト C や D は第 11 ラウンドまで実行機会を得られません。一方、公平なスケジューリングでは KV(Key-Value)予算に基づいて実行クォータを発行し、チャンクの境界でプレフィックス KV を保存してリソースを譲渡し、断点から復元します。これにより C と D は第 2 ラウンドで完了でき、回復クォータの段階的増加によって B が長期間待機させられる(飢餓状態になる)ことを防ぎます。
最適化効果
既存の混合トラフィックテストでは、公平なスケジューリングにより平均 TTFT は 17.8% 低下し、P50 は 26.0%、P95 は 12.1% それぞれ改善されました。一方、全体としての P99 は 2.7% 上昇しています。これは「短文リクエストを優先して早期に処理し、長文リクエストはわずかに遅らせる」という公平なスケジューリングのトレードオフを反映した結果です。
公平なスケジューリング導入前後の全体 TTFT 分布です。平均値、P50、P90、P95 はそれぞれ 17.82%、25.96%、14.02%、12.10% 低下し、P99 は 2.65% 上昇しました。
5.6.2 長文出力のガバナンス:Decode KV の高水位保護
長文出力リクエストは Decode インスタンスに長時間滞在し、生成プロセスが進むにつれて KV キャッシュの使用量が継続的に増加します。高負荷下では、少数の長文出力が KV Cache を高水位まで押し上げ、新規リクエストの受付を拒否して恒久的な待ち行列を引き起こす可能性があります。これに対処するため、私たちは二層構造の保護策を採用しています。
- スケジューリング側での負荷分散:Decode インスタンスの負荷状況を継続的に監視し、高負荷状態にあるインスタンスへの追加負荷を停止します。既存のリクエストが完了して KV リソースが解放されるまで待機させます。
- エンジン側での保護:KV 使用量が閾値(高水位)に達した場合は新規リクエストの受付を一時停止します。必要に応じて、ループ出力などの異常な長文リクエストが占有している KV を解放し、リソースに余裕のある他のインスタンスへ再スケジューリングします。
公平な実行、状態の可視化、負荷分散、そして高水位保護を通じて、少数の長文リクエストが主流のリクエストの TTFT やシステム全体の安定性に与える影響は、許容範囲内に抑えられています。
六、今後の展開
究極の推論最適化にゴールはありません。既存の全工程における最適化成果を基盤に、チームは計算資源の効率化、国産ハードウェアへの対応、インテリジェントな運用管理(AIOps)の強化に注力し、コストのさらなる削減とサービス能力の上限引き上げを目指します。これにより次世代の推論インフラを構築していく予定です。主な重点方向は以下の 4 つです。
6.1 異種 PD アーキテクチャのアップグレード
従来の同型 PD クラスターでは、Prefill における密集計算と Decode における高帯域メモリアクセスの異なる特性を正確にマッチできず、算力(計算リソース)が浪費される課題がありました。これを解決するため、今後「異種 PD 協調アーキテクチャ」を導入します。
具体的には、高性能な計算リソース(例:国産 GPU など)で Prefill のバッチ前処理タスクを担い、大容量メモリと高帯域を持つ計算リソース(例:NVIDIA GPU など)で Decode の生成タスクを担当する仕組みです。これらを統合した異種算力の統一管理プラットフォームを構築し、トラフィックのインテリジェントな分散と負荷均衡を実現します。さらに、デバイス間通信の最適化や動的なタスク分割機能を強化することで、短・長リクエストの両方への対応や、業務における需要の波(ピーク・バレー)にも柔軟に適応できるようにします。
6.2 Program-Aware 全ライフサイクル调度
调度(スケジューリング)の対象を「単一のリクエスト」から「Program(1 つのエージェントセッションまたはワークフロー)」へと引き上げます。これにより、一時停止と再開の制御、およびツール呼び出し時のリソース空窓における回収を統合的に管理します。これらは本来同じライフサイクルの両面であり、これを一体化して実装します。
核心となるメカニズムは以下の通りです。容量が逼迫した際には「最短プログラム優先」でリソースを解放し、グローバルな BFD(Best Fit Decreasing)アルゴリズムを用いて再配置を行い、リクエスト境界でのアクセス制御を行います。また、エージェントがツールの応答を待機している間に GPU が空いている時間を活用して KV キャッシュのアンロードやプリフェッチを行い、限られたメモリをアクティブな Program に優先的に割り当てる仕組みです。
6.3 SLO 感知调度(リクエストの優先度付け)
マルチテナント環境や複数の業務が混在する状況では、長時間かかるリクエストが短時間のリクエストをブロックし、遅延の尾数値(Tail Latency)を悪化させるリスクがあります。これを防ぐため、「緊急度」に基づく優先度调度を導入します。
Prefill の完了時間を予測し、SLO(サービスレベル目標)の達成率を最大化するリクエストを選択的に実行します。また、遅延に敏感なリクエストに対しては QoS(サービス品質)保護と流量制限を適用します。万擎が運用する多業務共有推論クラスターにおいて、この仕組みは低遅延 SLA を満たす高品質なトークン生成を保証するための鍵となります。
6.4 全栈智能化自适应调优与 Kernel 优化
人手による固定ルールでは対応しきれない柔軟性の欠陥を解消するため、「AI による全栈(フルスタック)智能调优」体系を導入します。強化学習モデルが業務トラフィック、シーケンス特徴、ハードウェア負荷をリアルタイムで感知し、PD の比率調整や弾性閾値、長短トラフィックの调度、CP(Compute Partitioning)分割粒度などを自動的に最適化します。
さらに、時系列予測を用いてホットスポットキャッシュを事前準備し、淘汰戦略を最適化することで、全リンクにおける動的な最適を実現。従来の静的設定に代わり、無人での極限運用を目指します。また、Agentic RL(エージェント型強化学習)で訓練された大規模モデルが Kernel オペレーターを生成する手法についても、重点的な研究対象として取り組んでいきます。
七、まとめ
本稿では、GLM‑5.2 や DeepSeek‑V4 といった次世代大規模言語モデルを対象に、並列実行、ランタイム调度、KV Cache、オペレーターコンパイル、量子化、投機デコーディングを網羅する全栈推論最適化体系を構築しました。
Ring Attention、DP Attention + EP、大規模 PD、階層型 KV Cache、DSpark などの技術を軸に、SLO 感知调度や弾性スケーリング、長短リクエストのガバナンスを組み合わせることで、長文コンテキスト、動的負荷、大規模展開における計算・通信・メモリ容量のボトルネックを体系的に緩和します。モデル構造とシステムエンジニアリングの協調最適化を通じて、モデル側で理論的なコスト削減を実現し、実際のスループット、レイテンシ、リソース利用率、およびトークン単価のコストメリットへと変換しました。これは、大規模言語モデルサービスのスケールアウト展開に向けた、汎用性の高いエンジニアリング実践です。
私たちについて
システムソフトウェアセンターは、当社の中核となる技術エンジンであり、従来のソフトウェアと大規模モデルソフトウェアをつなぐ重要な層です。最先端の計算リソースと最新ソフトウェア体系を有しています。チームは JVM/JDK、コンパイラ、ビルドシステムといった伝統的なシステムソフトウェアのコア能力に深く取り組む一方で、AI Infra として大規模モデルのトレーニング・推論エンジンも全面的に構築し、社内各事業ラインに対して高速、安定、拡張性があり、低コストな大規模モデルトレーニングと推論サービスを提供しています。
AI Infra の方向性
AI Infra トレーニング・推論エンジンチームは、当社の基盤モデルと MaaS(Model as a Service)プラットフォームの中核エンジンを支えています。業界をリードする大規模モデルのトレーニングおよび推論インフラストラクチャの実現を目指しています。
チームは独自に SFT/RL 訓練フレームワークを開発・最適化し、新モデルや訓練パラダイムへの迅速な適応を実現。極限の計算効率とイテレーション速度で、アルゴリズムチームがモデル性能の限界を探求するのを支えます。また、推論エンジン、调度、運用体系を深く最適化し、プラットフォーム上の多様なモデルが、より低コストで、より高速に、高性能で、多数のユーザーにサービスを提供できるようにしています。これにより、「大規模モデルを使えるようになり、かつ使いこなせる」環境を実現します。
AI インフラのトレーニング・推論エンジンチームに参加すれば、PD 分離や KV Cache の移行、マルチモーダル性能など最先端のアーキテクチャに深く入り込み、技術的な課題を解決できます。次世代の計算リソースを活用し、オペレーターの最適化、量子化、通信の重なり処理を通じてハードウェアの可能性を引き出します。また、SLO を維持しながらリソース効率を最大化するインテリジェントなスケジューリングとコスト最適化システムを構築。さらに、次世代トレーニングフレームワークを開発し、兆規模のパラメータを持つモデルや RLHF といった複雑なプロセスの効率的な訓練をサポートします。大模型時代の中核エンジン作りを共に担いましょう。
システムソフトウェア分野
チームは JVM、C++ の高性能計算、コンパイラなどの領域における製品機能の研究開発と最適化に注力しています。快手のビジネスを支える技術基盤として、性能の極限まで追求したシステムソフトウェアの開発を目指し、コアビジネスシーンでの重要な技術的ボトルネックを解決。システム技術による突破でビジネス価値を生み出します。
システムソフトウェアチームに参加すれば、システムソフトウェアの基盤を深く最適化し、快手の億単位の DAU(日次アクティブユーザー)を支える高同時接続アクセスに対応できます。Java のトランスペアレント・コルーチンや高性能 GC など業界をリードする JVM 製品機能の開発、Protobuf ライブラリやメモリアロケータといったハードコアな基礎ソフトウェアの改善推進、LLVM や GCC をはじめとする最先端のコンパイラ最適化技術の実装などに取り組みます。革新的なシステムソフトウェア製品機能を通じて、快手のコードをより速く、より安定して実行させ、ビジネス発展に確固たる基盤を提供します。
現在募集中のポジション
- 大模型トレーニングエンジニア(LLM Training Engineer)
職務内容
- 大模型トレーニングフレームワークとプラットフォームの研究開発および進化を担当し、兆規模パラメータを持つモデルの実装を支援
- DP/TP/PP/ZeRO/FSDP/MoE などの分散トレーニング手法の設計と最適化を行い、スループットとリソース利用率を向上
- トレーニング性能のチューニングを担当。オペレーター最適化、混合精度計算(BF16/FP16/FP8)、メモリ最適化、通信最適化、パイプライン重なり処理を含む
- 訓練の安定性構築を担当。フォールトトレラントな回復、モニタリングとアラート、性能回帰テスト、トレーニング診断、自動化運用機能の開発
- リンforcement ラーニング(RL)トレーニングフレームワークとアライメントトレーニングプロセスの構築に参加し、RLHF/PPO/DPO/GRPO などのトレーニングタスクに対するエンジニアリング最適化とプラットフォーム化を支援
- 最先端のトレーニングシステム技術を追跡し、ビジネスシーンでの大規模展開を推進
応募要件
- 学士号以上。コンピュータサイエンス、ソフトウェア、電子工学関連専攻
- Python/C++ を習熟しており、堅牢なエンジニアリング能力とシステムデバッグ能力を有すること
- PyTorch のトレーニングメカニズムに精通し、逆伝播、勾配同期、メモリ管理などの原理を理解していること
- Megatron-LM、DeepSpeed、FSDP などの分散トレーニングフレームワークの知識があり、実務経験があること
- GPU/NPU の性能最適化手法に詳しく、Nsight や perf などのツールを用いたプロファイリングとボトルネック特定を単独で実施できること
- トレーニング側の計算リソース最適化技術(オペレーター融合、グラフ最適化、Triton/CUDA Kernel 開発、コンパイラ最適化など)の知識があること
- リンforcement ラーニングトレーニングの基本プロセスや一般的なフレームワークの理解があり、rollout、reward model、policy update などのメカニズムに詳しい方が優遇される
- 問題分析能力とチーム間連携能力に優れていること
加点項目
- MoE(Mixture of Experts)や長序列、マルチマシン・マルチカードでの大規模トレーニング経験がある方
- NCCL/HCCL/RDMA/IB の通信最適化に詳しい方
- 量子化トレーニング、低ビットトレーニング、QAT(Quantization-Aware Training)の実践経験がある方
- 国産チップの適応と性能最適化の経験がある方
- オープンソースへの貢献実績や、高性能システム関連の論文・特許を持つ方
- 大模型推論エンジニア(LLM Inference)
職務内容
- 大模型推論エンジンの研究開発と最適化を担当し、スループットの向上、レイテンシの低減、推論コストの削減を実現
- KV Cache の管理、バッチ処理/スケジューリング、Prefill/Decode パイプライン、PD 分離など、推論のコアモジュール構築を担当
- TTFT(Time to First Token)、TPOT(Token Per Output Time)、TPS(Tokens Per Second)、RPM(Requests Per Minute)などの指標を目標に、オペレーター、メモリ、通信、スケジューリングの観点からシステムレベルでの性能最適化を実施
推論側のオペレーター開発と最適化を担当します。具体的には、オペレーターの融合、カーネルの最適化、グラフの最適化、推論コンパイラの最適化、そして INT8/FP8/FP4 などの量子化による推論加速の実装を推進します。
推論システムの安定性と高可用性の構築も担当します。故障からの復旧、負荷制限と機能の段階的低下(デグレード)、キャパシティ評価、自動化された診断、そして SLA の保証などを行います。
また、推論プラットフォーム化の基盤整備を主導します。モデルの公開フロー、グレーディング(段階的なロールアウト)、監視、ログ管理、トレーシング、そして自動化された運用ツールチェーンの構築です。
応募要件
- 学士号以上を取得し、コンピュータサイエンスやソフトウェア工学関連の専攻であること
- C++ と Python を習熟しており、高性能システム開発の実績があること
- Transformer の推論原理に精通し、Attention メカニズム、KV Cache、サンプリング戦略などの仕組みを理解していること
- 主要な推論フレームワークまたはエンジン(TensorRT、Sglang、vLLM など)の経験があること
- G
原文を表示
快手技术 2026-07-31 15:07 北京
image
快手万擎在并行策略、PD 分离、KV cache、投机解码和调度系统上的全链路优化方法。
image
大模型能力快速提升之后,真正决定其能否规模化落地的,不再只是模型参数和榜单分数,而是推理系统能否在高并发、长上下文和复杂 Agent 场景下,持续提供低延时、低成本、稳定可靠的 Token 服务。对线上业务而言,推理优化不是单纯“把模型跑快”,而是在模型能力基本不损失的前提下,同时压低单位 Token 成本、提升吞吐、保障 TTFT/TPOT 等服务体验指标。本文将以 GLM-5.2、DeepSeek-V4 等模型的推理优化实践为例,介绍快手万擎在并行策略、PD 分离、KV cache、投机解码和调度系统上的全链路优化方法。
一、推理优化:大模型规模化落地的关键
随着大模型从能力验证走向规模化应用,系统关注点已从“能否完成任务”转向“能否稳定、低成本地服务真实业务”。训练决定能力上限,推理则直接影响吞吐、时延和单位调用成本,是模型能力转化为产品价值的关键。
不同于可复制、分发和缓存的传统互联网内容,大模型每次请求都需持续计算并占用 GPU。Agent 多轮规划与工具调用、百万级长上下文及长推理输出,进一步放大了 Token 消耗,使成本、吞吐和时延成为规模化落地的主要约束。
为此,推理优化需在保持模型能力的同时,降低单位 Token 成本、提升有限算力下的吞吐,并稳定满足 TTFT、TPOT 等指标。快手系统软件围绕 GLM-5.2、DeepSeek-V4 等新一代模型,从并行执行、算子与通信、KV Cache、量化、调度及弹性服务等方面开展全链路优化,构建高性价比推理方案。
二、不以模型能力损失为代价做优化
推理服务的价值不能只看 Token 单价。过度量化、精度裁剪或推理参数调整,虽然能够降低成本,却可能损害复杂推理、工具调用和长上下文能力。因此,我们关注的不是绝对低价,而是在模型能力基本保持的前提下,降低单位 Token 成本。
作为快手技术商业化品牌,StreamLake 是“快手万擎”大模型平台对外提供推理服务的官方 Provider。本文介绍的推理引擎kLLM,包含并行执行、PD 弹性、分级 KV cache、算子与编译等能力,是支撑其高性能、低成本推理服务的底层系统能力。
OpenRouter AutoExacto Benchmark 的 Provider 级能力对比,为截图时点的32日滚动均值,新版本TAU-Bench 预计提升较大,数据Update之后会更好。数据来源:OpenRouter
计入 Prompt Cache 后的实际 Token 价格为截图时点的30日滚动均值。数据来源:OpenRouter
如图所示,在 OpenRouter 的同模型 Provider 对比中,StreamLake 的 GPQA Diamond 和 TAU-Bench Airline 表现与模型官方及其他头部 Provider 处于相近水平;与此同时,在计入 Prompt Cache 后,StreamLake 仍保持具有竞争力的实际 Token 价格。公开结果表明,我们并非通过牺牲模型能力换取低价,而是通过系统级推理优化实现能力与成本的兼顾。
三、模型结构演进与推理挑战
以 GLM-5.2 和 DeepSeek-V4 为代表的新一代大模型,并非单纯扩大参数规模,而是在巨量参数与稀疏激活、稀疏/压缩注意力、百万级上下文三个方向同步演进。模型结构在降低理论计算与存储成本的同时,也改变了推理系统的执行形态。
新一代模型结构演进与推理系统挑战
从系统视角看,这些结构演进并不是简单地减少推理开销,而是在降低模型侧理论成本的同时,重新分配了计算、通信、显存和调度压力。具体而言:
首先,巨量参数与稀疏激活使模型能够通过更大的总参数量提升容量,同时将单 Token 激活参数控制在较小比例。但动态专家路由也引入了专家负载不均、小矩阵计算和跨卡 All-to-All 通信。
其次,稀疏注意力与百万上下文降低了长序列 Attention 的理论计算成本,但超长上下文仍会显著放大长 Prefill、KV cache 容量、不规则访存和数据搬运压力。
由此带来的推理挑战是:模型侧降本并不等于系统侧同比提效。推理瓶颈已经从单一算力问题,转化为计算、通信、显存与调度相互耦合的系统问题。系统既要提升吞吐和资源利用率,又要满足 TTFT、TPOT 和尾延迟等服务目标,最终将模型结构的理论收益转化为真实的吞吐、时延与单 Token 成本收益。
四、核心技术全景图
过去两年,快手系统软件团队集中建设推理引擎kLLM,将多年沉淀的系统级性能优化方法与技术延伸至大模型推理领域。在大模型时代持续追求极致性能优化,致力于为快手万擎打造高性能、低成本、高质量的大模型推理引擎,为行业稳定产出高可用、低延时、高精度的 Token。
系统软件推理引擎kLLM是一个覆盖业务接入、调度、推理引擎、硬件资源全链路的高性能推理平台。其核心引擎层通过 PD/AF 解耦分离、TP/PP/EP/CP 多维并行策略、DeepEP/Mooncake 高效异构通信、FlashAttention-4/FlashInfer 高性能算子、L1 GPU/L2 CPU/L3 Remote 三级 KV cache 体系、FP8/INT8/NVFP4 多精度量化压缩、MTP/EAGLE-3/DSpark 投机解码等关键技术,实现了超长上下文与 MoE 大模型的高吞吐、低延迟、高并发推理;同时通过 SLO 感知调度、Prefix 亲和路由、弹性伸缩、全链路 Metrics/Trace 监控与灰度降级机制保障生产稳定性,并兼容国产 GPU 与网络生态,支撑内外部多业务场景的高效服务。
快手系统软件大模型推理框架kLLM全景架构
五、关键技术攻坚
2025 年 DeepSeek R1 发布时,我们通过自研时分 PD 分离、DeepEP Auto 通信模式(Prefill 采用 Normal、Decode 采用 Low Latency)、无精度损失的 FP8 KV cache 及调度优化等技术,在测试集、机型、Cache 命中率和 TTFT、TPOT 约束严格对齐的条件下,获得了行业极致的Token推理成本。
今年,我们进一步将相关能力扩展到 GLM、DeepSeek、KIMI 等新一代模型,形成覆盖模型适配、推理引擎、分布式执行、缓存与调度的全栈优化能力,并完成多个主流模型的大规模线上部署。下面列举其中几项典型的优化技术。
5.1 MLA + DP Attention:Attention DP 与 MoE EP 的混合并行
5.1.1 从降低单 Token 开销到扩展节点有效 KV 容量
在百万级长上下文场景中,Attention 计算量与 KV Cache 占用会随上下文长度快速增长。GLM-5.2 通过 DSA 从历史上下文中筛选 Top-k Token 参与 Attention,降低计算量;同时利用 MLA 的压缩表示 cKV,减少单 Token 的缓存开销。
然而,DSA 和 MLA 主要优化计算量与单 Token KV 大小,并未解决多卡部署中的状态分布问题。随着上下文和并发持续增长,瓶颈将进一步转向:节点内多张 GPU 的显存能否共同扩展有效 KV 容量。
5.1.2 纯 TP:切分了 Attention 计算,却复制了 cKV
GQA 包含多个独立 KV Head,可沿 Head 维度进行 TP 切分;MLA 的 cKV 则是跨 Head 共享的压缩状态,无法采用相同方式切分。
因此,当 Attention 直接沿用 TP Group 时,各 Rank 虽共同完成计算,却需要处理相同请求并保存相同的 cKV。以 TP=8 为例,同一批请求的 KV Cache 会在节点内复制 8 份。增加 GPU 只能扩展计算能力,无法等比例提升有效 KV 容量。
在长上下文、高并发场景下,即使系统仍有剩余算力,也可能因 KV Cache 空间不足而无法扩大 Batch 或接收新请求。此时,真正的瓶颈已从 Attention 算力转为 TP Group 内重复存储的请求状态。
5.1.3 并行策略重构:Attention 按请求并行,MoE 按专家并行
针对 MLA 与 MoE 不同的结构特征,我们没有将整个模型简单切换为 DP,而是重新划分 Attention 与 MoE 之间的并行边界:
Attention 采用 Request DP:不同 Rank 处理不同请求,仅保存所属请求的 cKV、Token 历史和索引状态;Attention 阶段不再进行跨 DP Rank 的结果同步。
MoE 采用 EP:Router 为每个 Token 选择 Top-k Experts,通过 All-to-All Dispatch 将 Token 发送至专家所在 Rank,专家计算完成后再通过 All-to-All Combine 将结果返回原 Request Rank。
Dense/Shared FFN 按需保留 TP:如果非路由计算仍按模型维度切分,则只在对应子路径执行 Gather/Reduce-Scatter,不与 EP 的 Dispatch/Combine 混为一套通信。
其核心不是选择一种并行方式覆盖整个模型,而是让不同状态遵循各自最合适的分布方式:
MLA 场景下 Attention DP 与 MoE EP 的并行边界重构
Attention 从 TP8 调整为 Request DP8,每张 GPU 只保存所属请求的 cKV;MoE 继续采用 EP8,通过 All-to-All Dispatch/Combine 完成 Token 与专家之间的路由。
5.1.4 收益与边界
在图示 8 卡配置中,DP Attention 使各 GPU 分别保存不同请求的 cKV,节点有效 KV 容量由纯 TP 的2.9M Tokens 提升至 21.2M Tokens,增长约 7.3 倍,平均 TTFT 下降 25%。
优化后,系统瓶颈由 TP Group 内的 KV 复制,转向 Request DP 的负载均衡以及 EP 阶段的专家负载与 All-to-All 通信。因此,DP Attention 更适合长上下文、大 Batch 和 KV 容量受限的高吞吐场景;在小 Batch、低并发下,数据布局转换和 EP 通信的额外开销可能抵消收益,需结合实际负载与集群通信能力选择。
5.2 Ring Attention:将同步聚合改造成分块流水
5.2.1 百万上下文下的 CP 扩展
当上下文长度从 200K 扩展到 1M,KV cache 容量随序列长度线性增长,Prefill 阶段的 Attention 计算和显存压力也快速上升。为支持百万级长上下文,我们首先引入 Context Parallelism(CP),沿序列维度将 Context Token 切分到多个 CP Rank,使每张 GPU 只处理部分 Query,并持有对应的 KV 分片,从而将单卡无法承载的请求扩展到多卡执行。
但序列切分只解决了 KV cache 的基础分布问题。如何让各 Rank 的本地 Query 完成对全部可见 K/V 的 Attention,决定了 CP 的实际显存开销与执行效率。
5.2.2 分块式 Ring Attention 实现
我们在推理引擎的 CP 执行路径中实现了分块式 Ring Attention。对于 CP Rank,本地 Query 在整个计算过程中保持不动,本地 KV 分片则与其他 Rank 的 KV Block 一同沿 Ring 拓扑逐跳传递。每一轮中,GPU 使用当前 KV Block 计算一部分 Block Attention,同时异步接收下一轮 KV Block;当前计算结束后,直接切换到已经到达的下一 Block。
经过 N轮后,每个都完成了对全部有效 KV Block 的 Attention,KV 分片也恰好沿 Ring 轮转一周。
Ring Attention 的序列切分与环形计算机制
为了在分块计算下保持与完整 Attention 相同的数值结果,我们使用 Online Softmax 跨轮维护最大值、归一化分母和输出累积状态。每处理一个 KV Block,便更新一次局部状态;全部有效 Block 处理完成后,即可得到本地 Query 的最终输出,不需要物化完整 Attention Matrix。
5.2.3 与 All-Gather CP 的执行路径对比
原有 All-Gather CP 在每层 Attention 计算前,先将各 Rank 的 KV 分片汇总到每张 GPU。虽然每张 GPU 最终只计算本地 Query 对应的输出,但在该层执行期间仍需要临时物化完整 K/V,并等待 All-Gather 完成后才能启动 Attention。
Ring Attention 改变的不是 Attention 的数学结果,而是 K/V 的组织方式和通信时序:每张 GPU 只保留本地 KV 分片及单块通信缓冲,将一次性的全量同步聚合拆解为连续的分块传输,并与 Block Attention 形成流水。
Ring Attention 在显存节省、通信计算重叠方面相对更有优势,对比如下:
All-Gather CP 与 Ring Attention 执行路径对比
5.2.4 实际收益
我们验证,在相同模型、Batch、CP Degree、KV 精度和硬件配置下,ISL 512K,Ring Attention CP 相比 All-Gather CP吞吐提升16.9%。
5.3 DSpark:从前沿架构到在线收益
5.3.1 主流投机解码架构的性能权衡
投机解码正在从单一的草稿模型竞争,走向草稿生成、目标验证与硬件调度的系统协同。围绕 DeepSeek V4 Flash 的生成时延优化,我们持续跟进 Eagle3、DFlash 和 DSpark 等技术路线,也没有把离线接受率作为唯一选型指标,而是同时考察草稿延迟、接受长度,以及动态负载下的验证成本。
Eagle3 和 DFlash 分别代表自回归与并行草稿的两端:前者依赖建模充分,但草稿成本随推测长度增加;后者一次产生整块候选,延迟更低,但后缀质量容易衰减。DSpark 通过半自回归结构在两者之间建立了新的平衡,并进一步以置信调度控制目标模型的验证开销,更符合长输入在线服务的成本结构。
主流投机解码架构在草稿时延、接受长度和验证开销上的性能特征。位置为定性示意。
5.3.2 从草稿模型到完整解码链路
DSpark 首先通过并行网络一次产生多个位置的 logits,再由轻量序列模块逐位置采样。每个位置在采样前,会根据前一个已采样 token 计算 Bias,并修正当前位置的 logits。串行部分只执行 Bias 修正与采样,不重复完整模型前向,因此能够在保留并行草稿低延迟的同时,缓解后缀质量衰减。
DSpark 半自回归草稿生成示例。并行模块一次生成各位置 logits,轻量序列模块根据上一位置的采样 token 修正当前位置并完成采样。图中分数为示意值。
5.3.3 端到端性能收益
在 DeepSeek V4 Flash 的线上典型场景中,ISL 约为 3K–6K、OSL 约为 0.5K。相较基线,接入 DSpark 后平均 TPOT 降低 15%。
5.4 分级 KV Cache:从容量扩展到高效复用
5.4.1 L1 容量限制与缓存失效
长上下文场景下,KV Cache 随序列长度线性增长,而 GPU 显存还需承载模型权重和运行时状态。仅依赖 L1 时,缓存会因容量不足频繁淘汰,使系统提示词、工具定义和历史对话等重复前缀无法稳定复用,同类请求仍需重新执行 Prefix Prefill。
为延长 Prefix KV 的生命周期并扩大复用范围,我们构建了由 GPU HBM、CPU DRAM 和 SSD/分布式存储组成的三级 KV Cache。
5.4.2 分级缓存、前缀复用与 Cache-Aware 路由
三级缓存承担不同的数据角色:
L1 · GPU HBM:保存实例内最热的 KV,命中后可直接参与计算;
L2 · CPU DRAM:承接从 L1 下沉的数据,在实例内提供低延迟回填;
L3 · SSD/分布式存储:跨实例共享 Prefix KV,并根据容量和系统压力持久化全部数据或高复用前缀。
首次 Prefill 生成的 Prefix KV 由 L1 下沉至 L2/L3,并通过 Cache Event 同步缓存位置。后续同前缀请求由网关结合匹配长度、缓存位置和负载进行 Cache-Aware 路由;命中后将 KV 回填至 L1,仅计算未命中后缀。对于 Chunked Prefill,我们复用上一轮前缀树状态,仅处理新增 Token,避免重复扫描完整前缀。
L1/L2/L3 分级 KV Cache 与跨实例复用机制
5.4.3 分级KV Cache优化效果
从线上生产窗口可以看到,L1 仍然承担主要命中流量;当 L1 因容量压力出现命中率下降时,L2/L3 能够承接被淘汰的 Prefix KV,使总命中率保持相对稳定。图示窗口内,总命中率平均约为 87.6%,其中 L1、L2、L3 的平均命中贡献分别约为 77.5、9.6 和 0.6 个百分点。当然在不同工矿下,提升的比例也会有差别,在我们的典型场景下,L3最高能将命中率提升15PP。有了L3之后,命中率基本能到理论上限。
在相同模型、流量和 SLO 条件下,与仅使用 L1 的基线相比,完整的分级缓存与 Cache-Aware 路由使缓存命中率提升20 个百分点,SLO 约束下吞吐提升30% 。
5.4.4 前缀树关键路径优化
在长输入场景下,开启分级 Cache 过程中,我们注意到前缀的相关操作存在严重的性能问题,产生了明显的 GPU Bubble。通过火焰图分析热点,并深入分析前缀树源码,我们发现性能问题的根源在于总是使用全量 token 序列进行前缀匹配以及插入,这种计算方式对于分块请求而言存在相当大的冗余。
例如,对一个全新的请求"这个前缀有点长"需要进行 Prefill,假定 ChunkSize 为 4,则需分成 2 个 Chunk 进行计算:
第一轮:匹配前缀,执行 Prefill 并插入前缀树
第二轮:再次全量前缀进行匹配,以及全量前缀插入
因此,我们提出了一种基于中间状态缓存的增量前缀匹配/插入优化算法,消除了这部分冗余计算:
5.4.5 前缀复用优化效果
完成优化后,使用相同压测数据集压测,优化前后GPU Bubble从平均 400ms 锐减至 30ms,长请求端到端Prefill性能提升约 40%。
优化前:平均bubble 400 ms
优化后:平均bubble 30 ms
5.5 PD 分离:从固定配比到 SLO 驱动
PD 分离使 Prefill 和 Decode 可以独立配置资源,但在生产环境中,更关键的问题是如何持续维持合理的 P/D 配比。同样的 QPS 下,ISL 变长主要增加 Prefill 压力,OSL 和并发增长则更多消耗 Decode 容量,因此静态 P/D 比例难以适应不断变化的请求形态。
早期的固定 xPyD 服务组虽然简单稳定,但只能整组扩缩,容易出现一侧排队、另一侧空闲;分钟级实例启动又使资源调整难以及时生效。
为此,我们将 PD 系统设计为一个以 TTFT、TPOT SLO 为目标的在线资源控制系统:通过 SLO Load 感知两侧压力,结合 10 秒级实例启动和 P/D 全局资源池,形成动态调整 P/D 容量配比的闭环。
Cache Aware 与负载感知的智能路由
5.5.1 SLO Load:分别度量 P、D 压力
GPU 利用率只能反映设备是否繁忙,无法判断负载是否已经影响用户体验。由于 Prefill 和 Decode 分别主要决定 TTFT 和 TPOT,我们以其相对 SLO 的背离程度统一度量两侧压力。
真实指标能够反映已经发生的性能退化,但存在观测滞后;根据队列积压和实际服务率计算的预测指标能够提前发现拥塞,但可能存在估计误差。为兼顾及时性与可靠性,我们取预测值和真实值的上界:
经过 SLO 归一化后,P、D两侧获得了统一的负载尺度:Load=1表示达到目标边界,Load>1表示对应阶段存在容量压力。
5.5.2 10秒级启动:让扩缩容真正跟得上负载
传统推理实例启动需要依次完成权重加载、JIT 编译、显存初始化和运行时预热,完整冷启动通常达到分钟级。如此长的启动时间无法及时响应流量波动,也限制了 PD 配比调整和故障恢复速度。
我们针对启动关键路径进行了三项优化:
通过 RDMA 直接从运行中实例加载模型权重,避免重复从远端存储读取;
共享 JIT Cache,复用已经完成的算子编译结果;
基于 CUDA VMM 复用显存布局,通过 unmap/remap 减少显存重新分配和初始化。
最终将推理实例启动时间由约 10 分钟降低到 10 秒以内,使 P、D 扩容能够及时作用于当前负载变化。类似的“从运行实例通过 RDMA 分发权重”也已成为社区快速弹性的重要方向,例如 Dynamo ModelExpress 支持从现有 Worker 的 GPU 显存向新 Worker 传输权重 Dynamo Model Caching。
5.5.3 大PD:解除固定组绑定
早期我们采用固定 xPyD 部署:将 x 个 P 实例和 y个 D 实例组成一个服务组,扩缩容也以完整服务组为单位。这种方式拓扑明确、实现简单,但其资源调整粒度与实际负载变化并不匹配——ISL、OSL 和并发变化往往只会首先推高 P 或 D 一侧的压力,而固定 xPyD 无法单独调整其中一侧。例如长输入流量增加时,P 侧已经排队,D 侧仍有空闲,但扩容 P 仍需要同步增加完整的 xPyD 组。
大 PD 架构:从固定 xPyD 服务组到 P/D 全局资源池
为解决这一问题,我们将固定 PD 组升级为大PD架构。P、D 实例分别组成全局 Prefill Pool 和 Decode Pool,并可以独立加入或退出资源池。每个请求不再绑定预先配置的 PD 组,而是由 Global Router 即时选择 P_i 和 D_j,完成请求级动态组对:
请求到达后,根据 KV cache-aware 和负载均衡策略选择 P 实例;
Prefill 完成后,结合 D 侧负载、KV cache 位置和传输成本选择 D 实例;
P、D 实例的生命周期相互独立,可以根据两侧压力分别扩缩。
大PD使容量调整能够直接作用于瓶颈侧:P 侧压力高时只扩 Prefill Pool,D 侧压力高时只扩 Decode Pool,从而避免非瓶颈侧被同步扩容,并以实例为粒度持续调整 P/D 配比。
5.5.4 最终效果
SLO Load、10 秒级启动和 P/D 全局资源池共同构成 PD 弹性闭环:系统能够识别 P、D 两侧的容量压力,以单实例粒度独立扩缩,并将新增容量在 10 秒内投入服务,相比传统约 10 分钟的实例启动,容量生效速度提升约 60 倍。
OpenRouter 公开监测显示,StreamLake 的 GLM‑5.2 服务近 30 天 Provider Uptime 达到 99%+。
5.6 长请求稳定性优化
前文介绍的 CP 与 Ring Attention,解决了超长上下文“算得动”的问题,使推理引擎具备百万级 Token 上下文处理能力。本节进一步解决“稳定承载”的问题:长输入和长输出请求在实际业务中的占比通常不足 5%,但单个请求消耗的计算时间、KV Cache 和资源驻留时间远高于普通请求,容易将局部阻塞放大为全局排队,显著抬高主流请求的 TTFT。
针对这一问题,我们从引擎和全局调度两个层面建立了长请求调度闭环:实例内避免单个请求长期霸占资源,实例间避免流量继续向过载节点堆积。
KV Events 提供缓存状态,Engine Load 反映实时压力,引擎侧负责公平执行和 KV 高水位保护
5.6.1 长输入引擎调度改造:Chunk Prefill 公平调度
长输入主要通过两条路径影响 TTFT:
Chunk Prefill 阻塞:长请求被拆成多个 Chunk。若连续执行,后到的短请求需要等待多轮,TTFT 被显著拉高。
KV 准入阻塞:Decode 实例需要为请求预留 KV 空间。当余量不足时,长请求停在准入阶段,并可能阻塞后续短请求。
我们以 Chunk 为调度粒度,并结合 KV 预算分配执行配额:可在单个 Chunk 内完成的短请求优先执行;长请求在配额耗尽后于 Chunk 边界让出资源,同时保留已经计算完成的前缀 KV。再次获得执行机会时,长请求直接从断点恢复,无需重复计算。
为避免长请求长期得不到执行机会,其恢复配额会随让出次数逐步增加,在保护短请求 TTFT 的同时保证长请求最终完成。
Chunk Prefill 公平调度机制。无公平调度时,长请求 B 连续占用计算资源,短请求 C、D 到第 11 轮才获得执行机会;公平调度基于 KV 预算发放执行配额,并在 Chunk 边界保存前缀 KV、让出资源和断点恢复,使 C、D 在第 2 轮完成,同时通过恢复配额递增避免 B 长期饥饿
优化效果
在现有混合流量测试中,公平调度使平均 TTFT 下降17.8%,P50 下降 26.0%,P95 下降 12.1%。整体 P99 上升 2.7%,体现了“短请求提前、长请求小幅延后”的公平调度权衡。
公平调度前后的整体 TTFT 分布。平均值、P50、P90 和 P95 分别下降 17.82%、25.96%、14.02% 和 12.10%;P99 上升 2.65%
5.6.2 长输出治理:Decode KV 高水位保护
长输出请求会长期驻留在 Decode 实例,并随着生成过程持续增加 KV 占用。高并发下,少量长输出可能将 KV Cache 推至高水位,使新请求无法准入并引发持续排队。对此,我们采用两层保护:
调度侧分流:持续感知 Decode 实例负载,停止向高负载实例继续加压,等待存量请求完成并释放 KV。
引擎侧保护:KV 达到高水位时暂停新请求准入;必要时释放循环输出等异常长请求占用的 KV,并将请求重新调度到资源更充足的实例。
通过公平执行、状态感知、负载分流和高水位保护,少量长请求对主流请求 TTFT 与系统稳定性的影响被限制在可控范围内。
六、未来演进
极致的推理优化没有终点。基于现有全链路优化成果,团队将围绕算力效能、国产化适配、智能运维持续攻坚,进一步下压成本、抬升服务上限,构建下一代推理Infra。主要介绍如下四个代表性方向:
6.1 异构 PD 架构升级
现有同构 PD 集群无法精准匹配Prefill密集计算、Decode 高访存迭代的差异化特征,存在算力浪费。后续将落地异构 PD 协同架构:以高性能算力承载 Prefill批 量预处理任务(如国产卡),以大显存高带宽算力承载 Decode 生成任务(如N卡),搭建异构算力统一调度中台,实现流量智能分流与负载均衡。同时优化跨设备通信与动态任务分片能力,适配长短请求与业务峰谷波动。
6.2 Program-Aware 全生命周期调度
把调度单元从"单请求"提升到 Program(一次 agent 会话/工作流),做暂停/恢复调度 + 工具调用空窗资源回收,两者本是同一生命周期的两面,合并落地。核心机制:容量紧张时"最短程序优先"驱逐、全局 BFD 装箱恢复、请求边界准入;同时利用 agent 等待 tool-call 返回的 GPU 空闲窗口卸载/预取 KV,把显存让给活跃 Program。
6.3 SLO 感知调度(请求分优先级)
多租户/多业务混跑时,长请求阻塞短请求会严重伤害尾延迟。引入紧急度优先级调度:预测 prefill 完成时间,动态选择请求最大化 SLO 达成;对延迟敏感请求做 QoS 保护与限流。对万擎多业务共享推理集群,这是保障高质量 Token(低延时 SLA)的关键。
6.4 全栈智能化自适应调优和Kernel 优化
针对人工固定规则适配性弱的问题,引入AI全栈智能调优体系。通过强化学习模型实时感知业务流量、序列特征与硬件负载,自适应优化PD配比、弹性阈值、长短流量调度、CP分片粒度;同时结合时序预测预热热点缓存、优化淘汰策略,实现全链路动态最优,替代传统静态配置,达成无人化极致运维。另外,通过 Agentic RL 训练的大模型写 Kernel算子,也是需要重点研究的方向。
七、总结
本文面向 GLM‑5.2、DeepSeek‑V4 等新一代大模型,构建了覆盖并行执行、运行时调度、KV Cache、算子编译、量化与投机解码的全栈推理优化体系。围绕 Ring Attention、DP Attention + EP、大 PD、分级 KV Cache 和 DSpark 等技术,结合 SLO 感知调度、弹性扩缩及长短请求治理,系统缓解长上下文、动态负载和大规模部署下的计算、通信与显存瓶颈。通过模型结构与系统工程的协同优化,将模型侧的理论降本转化为实际的吞吐、时延、资源利用率和单位 Token 成本收益,为大模型服务的规模化部署提供可复用的工程实践。
关于我们
系统软件中心是公司核心的技术引擎,是公司传统软件和大模型软件承上启下的关键一层,拥有最先进的算力与最新的软件体系。团队不仅深耕JVM/JDK、编译器、构建系统等传统系统软件核心能力,还全面打造AI Infra——大模型训练、推理引擎,为公司各业务线提供高速、稳定、可扩展、低成本的大模型训练与推理服务。
AI Infra方向
AI Infra训推引擎团队支撑公司基模与MaaS平台的核心引擎,致力于打造业界领先的大模型训练与推理基础设施。团队自主研发优化SFT/RL训练框架,快速适配新模型与训练范式,以极致的算力效率和迭代速度,支撑算法团队探索模型效果极限;深度优化推理引擎、调度与运营体系,确保平台上各类模型以更低成本、更快响应、更高性能服务海量用户,让大模型用得起、用得好。
加入AI Infra训推引擎团队,你将深入引擎内核,攻关PD分离、KVCache迁移、多模态性能等前沿架构;驾驭新一代算力,通过算子优化、量化、通信重叠释放硬件潜力;构建智能调度与成本优化系统,在保障SLO的同时最大化资源效益;打造下一代训练框架,支持万亿参数模型高效训练与RLHF等复杂流程,一起构筑大模型时代的核心引擎。
系统软件方向
团队专注于JVM、C++高性能计算、编译器等领域的产品特性的研发与优化。作为支撑快手业务的技术底座,团队致力于打造性能极致优化的系统软件,解决快手核心业务场景的关键技术瓶颈,用系统技术突破为业务创造价值。
加入系统软件团队,你将会深度优化系统软件底座,支撑快手亿级DAU的高并发访问;你将开发Java透明协程、高性能GC等一系列业界创新的JVM产品特性,优化改进Protobuf库、内存分配器等硬核基础软件,推进LLVM/GCC前沿编译优化技术的落地;一起通过创新的系统软件产品特性,让快手的每一行代码都跑得更快,运行得更稳,为业务发展提供坚实的保障。
热招岗位
1、大模型训练工程师(LLM Training Engineer)
职位描述
负责大模型训练框架与训练平台的研发与演进,支撑万亿级参数模型训练落地
负责分布式训练方案设计与优化(DP/TP/PP/ZeRO/FSDP/MoE 等),提升吞吐与资源利用率
负责训练性能调优,包括算子优化、混合精度(BF16/FP16/FP8)、显存优化、通信优化与 pipeline overlap
负责训练稳定性建设,包括容错恢复、监控告警、性能回归、训练诊断与自动化运维能力
参与强化学习训练框架与对齐训练流程建设,支持 RLHF/PPO/DPO/GRPO 等训练任务的工程优化与平台化落地
跟进前沿训练系统技术,推动在业务场景规模化落地
职位要求
本科及以上学历,计算机/软件/电子相关专业
熟练掌握 Python/C++,具备扎实的工程能力与系统调试能力
熟悉 PyTorch 训练机制,理解反向传播、梯度同步、显存管理等原理
熟悉分布式训练框架(Megatron-LM/DeepSpeed/FSDP 等)并具备实战经验
熟悉 GPU/NPU 性能优化方法,能独立完成 profiling 与瓶颈定位(Nsight/perf 等
熟悉训练侧算力优化技术,包括算子融合、图优化、Triton/CUDA Kernel 开发、编译器优化等
了解强化学习训练基本流程与常见框架,熟悉 rollout、reward model、policy update 等机制者优先
具备良好的问题分析能力与跨团队协作能力
加分项
有 MoE/长序列/多机多卡大规模训练经验
熟悉 NCCL/HCCL/RDMA/IB 通信优化
有量化训练、低比特训练或 QAT(Quantization-Aware Training)相关实践经验
有国产卡适配与性能优化经验
有开源贡献或高性能系统相关论文/专利
2、大模型推理工程师(LLM Inference)
职位描述
负责大模型推理引擎的研发与优化,提升吞吐、降低时延与推理成本
负责推理核心模块建设,包括 KV Cache 管理、Batching/Scheduling、Prefill/Decode Pipeline、PD 分离等
负责推理性能优化,面向 TTFT/TPOT/TPS/RPM 等指标进行系统级优化(算子、显存、通信、调度)
负责推理侧算子研发与优化,包括算子融合、Kernel 优化、图优化、推理编译优化,以及 INT8/FP8/FP4 等量化推理加速方案落地
负责推理稳定性与高可用建设,包括故障恢复、限流降级、容量评估、自动化诊断与 SLA 保障
推动推理平台化能力建设,包括模型发布流程、灰度、监控、日志、Tracing 与自动化运维工具链
职位要求
本科及以上学历,计算机/软件相关专业
熟练掌握 C++/Python,具备高性能系统研发能力
熟悉 Transformer 推理原理,理解 Attention、KV Cache、采样策略等机制
熟悉主流推理框架或推理引擎(TensorRT/Sglang/vLLM 等)
熟悉 G
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み