HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

LLM推論の効率的フロンティア

The efficient frontier of LLM inference (baseten.co)

49 pointsby philipkiely7 コメント

要約

この記事では、LLM推論における「効率的フロンティア」の概念を解説しています。これは、レイテンシ、スループット、コストといった要素間のトレードオフを管理するフレームワークです。効率的フロンティアを「移動させる」技術と、フロンティア上の特定の点を「ターゲットにする」技術に分け、それぞれの具体的な手法を説明しています。

全文翻訳

AI業界では、経済学から「効率的フロンティア」という言葉を借用しました。これは、モデルのコストと能力の間のトレードオフなど、トレードオフの管理について話すために使用されます。モデルが「フロンティアモデル」であるとは、特定のコストまたはサイズで最高の知能を提供するモデルであることを意味します。 効率的フロンティアは、リソースが制約された環境で、2つの価値ある結果の間でトレードオフを行う際の最適な組み合わせの範囲を示します。 推論エンジニアリングにも効率的フロンティアがあります。これは最も頻繁にはレイテンシとスループット(コストを決定する)の間のトレードオフとして表現されますが、品質とスループット(量子化、蒸留、プルーニングを介して)や、知能と速度(推論レベルの形式で)を交換することもできます。 推論エンジニアが利用できる技術には2種類あります。 1. デプロイメントを効率的フロンティアに沿って移動させるために、2つの要因間のトレードオフを行う技術。 2. 特定のデプロイメントのフロンティア全体を押し出し、より全体的な効率を生み出し、最も有益な結果に割り当てることができる技術。 どちらのタイプの技術も価値があります。 トレードオフを行うことで、効率的フロンティア上の任意の点をターゲットにできることは有用です。ユーザーごとの速度を犠牲にすることで、バッチワークロード向けのハイ・スループット、低コストのパイプラインを構築することが可能になります。レイテンシに敏感なユーザーが高い支払い意欲を持っている場合、スループットを犠牲にして速度を向上させることは理にかなっています。 そしてもちろん、フロンティア全体を押し出すことは信じられないほど有用です。より多くの効率をアンロックすることで、レイテンシの削減、スループットの向上、またはその両方の組み合わせに割り当てることができる利点が生み出されます。 この記事では、どの推論エンジニアリング技術がフロンティア上の点をターゲットにすることを可能にし、どの技術がフロンティア全体を押し出すのかを詳述します。この記事では、KVキャッシュの再利用を有効にし、KVを意識した最適なルーティングを有効にして、エージェントコーディングのためにGLM-5.3やKimi K3のようなLLMを実行していると仮定します。 トレードオフを管理する技術 本番環境で特定のターゲットに到達することは、しばしば新しいアプローチを発見することよりも、トラフィックの性質を考慮した適切な設定の組み合わせを見つけることの方が重要です。 トレードオフを管理する技術により、効率的フロンティアに沿った結果をターゲットにすることができます。 実際には、効率的フロンティアは非常にギザギザしています。結果間の滑らかで連続的な線ではなく、小さな変更が大きな影響を与える可能性があります。これらのカットオフポイントは直感的でないことが多く、スイープを通じて経験的に発見する必要があります。 バッチサイジング レイテンシとスループットの間の最も明白なトレードオフは、バッチサイジングから生じます。バッチとは、同時に処理されるリクエストの数です。トークンレベルの連続バッチングは、バッチの開始を待つことによるレイテンシがないことを意味しますが、設定されたバッチサイズがユーザーごとのレイテンシと全体のスループットを決定します。 小さなバッチサイズでは、ユーザーごとのレイテンシは優れていますが、GPUあたりで生成される総トークン数は少なくなります。これは、トークンあたりのコストが非常に高いことを意味します。バッチサイズを増やすと、逆の効果が得られます。ユーザーごとのレイテンシは悪化しますが、全体のスループットは向上し、コストは低くなります。 並列化戦略 今日のLLMは数百億から数兆のパラメータを持ち、複数のGPUに分散させる必要があります。それらがGPU間で共有される、または並列化される方法は、レイテンシまたはスループットのいずれかを向上させることができます。 並列化は、大規模なモデルを複数のGPUに分散させます。 レイテンシに敏感なデプロイメントでは、テンソル並列化(TP)の増加に焦点を当てます。TPは高価なオール・ツー・オール通信を伴いますが、これらの操作は高帯域幅のNVLinkインターコネクト上で高速であるため、レイテンシの削減に効果的です。 エキスパート並列化(EP)は、レイテンシとスループットの両方に役立ちます。EPの度合いが低いほど、レイテンシが改善されることが多く、一方、ラック全体にわたるEPを含むワイドEPは、一般的にスループットの向上をサポートします。 スループットを向上させる別の並列化技術は、アテンションデータ並列化(ADP)です。この技術は、並列計算のためにアテンションレイヤーを複製し、リクエストごとの速度を犠牲にしてシステムのスループットを向上させます。 量子化 量子化、つまり重み、アクティベーション、および/またはKVキャッシュ値の精度レベルを低くしてモデルを実行することは、レイテンシとスループットの両方を向上させます。量子化されたモデルは、サービングトレードオフにおける効率的フロンティアを押し出します。 しかし、量子化は、品質とサービング効率の間の新しいトレードオフのセットをもたらします。これは特にギザギザしたフロンティアであり、特にMXFP4やNVFP4のようなマイクロ・スケーリング浮動小数点数フォーマットを使用する場合、モデル品質の低下をほとんどまたは全く伴わずに、サービング効率の大幅な改善が可能になります。 フロンティアを移動させる技術 これらの技術は、見出しを飾るものです。全体的なパフォーマンスの向上は、推論エンジニアリングの最も楽しい部分です。 フロンティアを押し出す技術は、普遍的な利益を生み出します。 最も良い点は、これらの技術がしばしば複合的に作用することです。例えば、より良いハードウェアによってパフォーマンスが2倍になり、同時に、より良いソフトウェアによってパフォーマンスが2倍になった場合、全体的なサービングは4倍の改善となり、これはレイテンシとスループットの間に割り当てることができます。 カーネル最適化とランタイム改善 CUDAカーネルは、推論プロセスの単一の部分(行列乗算など)を実行する低レベルの関数です。個々のカーネルのパフォーマンス、および推論エンジンのフォワードパスのエンド・ツー・エンドのパフォーマンスを改善することは、各トークンを生成するために必要なリソースが少なくなることを意味します。これらの効率の向上はスタック全体で複合的に作用し、パフォーマンスのフロンティアを押し広げます。 カーネルレベルのパフォーマンスの詳細については、BasetenインターンのBrian Liによるこの優れた記事をお読みください。 投機的デコーディング 投機的デコーディングは、モデルが生成する可能性のあるトークンを推測し、その推測を検証するプロセスです。投機的デコーディングが新しい頃は、レイテンシとスループットの間のトレードオフを提示しました。投機はコストが高く、シーケンス長は短く、受け入れ率は低かったため、投機的デコーディングは小さなバッチサイズでのみ実行可能でした。 今日では、EAGLE-3、DSpark、DFlashのような技術は依然としてメインモデルループとリソースを競合しており、最大バッチサイズをある程度制限しています。しかし、これらの技術の強力なパフォーマンス、特にコード生成のように出力トークンシーケンスが比較的予測可能である場合、それらはユーザーあたりのトークン数増加という形でレイテンシの生の削減に加えて、スキップされたフォワードパスからの効率の向上をもたらします。 非集約化 P/D(プリフィル/デコード)の非集約化、つまりプリフィルとデコードを専用ワーカーに分離することは、LLMの高ボリュームデプロイメントを最適化するための戦略です。プリフィルとデコードを独立して実行することは、ワーカーが各フェーズの推論のユニークな特性に合わせて最適化できることを意味し、プリフィルワーカーとデコードワーカーの比率を入力および出力シーケンス長と受信トラフィックからのキャッシュヒット率に合わせて調整できることを意味します。 実際には、非集約化は、レイテンシを同じかわずかに改善しながらスループットを向上させるのに最も役立つことが多いです。 この記事では、トレードオフを管理する技術とシステム全体のパフォーマンスを改善する技術の基本的な概要を提供しました。この記事で言及されているすべての技術の詳細については、私の無料書籍「Inference Engineering」をお読みください。 ニュースレターを購読する モデルパフォーマンス、推論インフラストラクチャなどの最新情報をご確認ください。