AI・機械学習
中級

LLM推論最適化(エルエルエムスイロンサイテキカ)

LLM(大規模言語モデル)の推論処理を高速化・省メモリ化するための総合的な技術体系。量子化・KVキャッシュ最適化・バッチング戦略・アテンション高速化などを組み合わせ、レイテンシ削減とスループット向上を実現する。

0 回閲覧
0 いいね

LLM推論最適化とは

LLM推論最適化とは、大規模言語モデルの推論(inference)時に発生する計算コスト・メモリ消費・レイテンシを削減し、同一ハードウェアでより多くのリクエストを処理可能にする技術群の総称である。GPT-4oやClaude 4、Llama 3.1 405Bなど数百億〜数兆パラメータ規模のモデルでは、1トークン生成あたりの計算量がGFLOPS単位に達するため、推論最適化なしでは商用サービスとしての運用が現実的でない。

推論最適化が必要な背景

LLMの推論コストはモデルサイズに比例して増大する。Llama 3.1 405Bを FP16 で推論する場合、810GBのVRAMが必要となり、NVIDIA H100 80GB SXMでも最低11台が必要になる。1リクエストあたりのレイテンシはprefill(プロンプト処理)で数百ms、decode(トークン生成)で数十ms/tokenとなり、同時100ユーザーを捌くには秒間数千トークンの生成スループットが求められる。

モデルパラメータ数FP16 VRAMINT4 VRAM推定TPS (H100)
Llama 3.1 8B80億16GB4.5GB180 tok/s
Llama 3.1 70B700億140GB38GB45 tok/s
Llama 3.1 405B4050億810GB210GB12 tok/s
Mixtral 8x22B1410億(active 39B)282GB75GB65 tok/s
GPT-4o (推定)1.8T MoE--非公開

主要な最適化技術の分類

LLM推論最適化は大きく5つのカテゴリに分類される。

1. モデル圧縮

  • 量子化(Quantization): FP16→INT8/INT4に精度を落としてメモリ・計算量を削減。GPTQ、AWQ、GGUF形式が主流。Llama 3.1 70BをINT4量子化すると140GB→38GBに圧縮可能
  • 蒸留(Distillation): 大型モデルの知識を小型モデルに転写。Phi-3 miniやGemma 2 2Bが代表例
  • プルーニング(Pruning): 重要度の低い重みを除去。SparseGPTで50%スパース化しても精度劣化は2%以内

2. アテンション高速化

  • FlashAttention-2/3: メモリアクセスパターンを最適化し、標準アテンションの2〜4倍高速化
  • Multi-Query Attention (MQA): Key/Valueヘッドを共有して KVキャッシュサイズを1/8〜1/32に削減
  • Grouped-Query Attention (GQA): MQAとMHAの中間。Llama 3系列で採用、8グループで品質維持

3. KVキャッシュ最適化

  • PagedAttention: vLLMが実装。OSの仮想メモリ管理を模倣し、KVキャッシュの断片化を解消。メモリ利用効率を最大4倍改善
  • Prefix Caching: 共通プレフィックス(システムプロンプト等)のKVキャッシュを再利用
  • KVキャッシュ量子化: FP16のKVキャッシュをINT8/FP8に量子化して容量を半減

4. バッチング戦略

  • Continuous Batching: リクエスト単位ではなくイテレーション単位でバッチを動的に構成。待ち時間を最小化
  • Dynamic Batching: 到着リクエストを一定時間バッファしてまとめて処理
  • Chunked Prefill: 長いプロンプトを分割してprefillし、decode中のリクエストとインターリーブ

5. 投機的デコーディング

  • Speculative Decoding: 小型ドラフトモデルで複数トークンを先読み生成し、大型モデルで一括検証。リジェクション率が低ければ2〜3倍の高速化
  • Medusa: ドラフトモデル不要。追加ヘッドで複数候補を同時予測
  • EAGLE-2: コンテキスト対応の動的ドラフトツリーで投機精度を向上

推論フレームワーク比較

フレームワーク開発元主要機能対応GPUライセンス
vLLMUC BerkeleyPagedAttention, Continuous BatchingNVIDIA/AMD/TPUApache 2.0
TensorRT-LLMNVIDIAカーネル融合, FP8量子化NVIDIA専用Apache 2.0
SGLangUC BerkeleyRadixAttention, 構造化出力高速化NVIDIA/AMDApache 2.0
llama.cppggerganovGGUF量子化, CPU/Metal推論CPU/Apple Silicon/CUDAMIT
OllamaOllama Inc.llama.cppラッパー, ローカル実行CPU/CUDA/MetalMIT
LMDeployInternLMTurboMind, INT4推論NVIDIAApache 2.0

実運用での最適化戦略

ユースケース別推奨構成

  • チャットボット(低レイテンシ重視): vLLM + FlashAttention-3 + INT4量子化。目標: TTFT 200ms以下、TPS 80以上
  • バッチ処理(スループット重視): TensorRT-LLM + FP8 + large batch size。目標: 秒間500トークン以上
  • エッジ/ローカル: llama.cpp + Q4_K_M量子化 + Apple Silicon Metal。MacBook Pro M4で Llama 3.1 8B が40 tok/s

コスト試算例

NVIDIA H100 1台(クラウド $3.5/h)で Llama 3.1 70B INT4を運用した場合:

  • Continuous Batching有効: 同時32リクエスト処理可能
  • 月間コスト: $2,520(720h稼働)
  • 1Mトークンあたり: 約$0.18(GPT-4o $2.50/1MTの約1/14)

よくある質問(FAQ)

Q1: 量子化するとどのくらい精度が落ちますか? A: INT4量子化(GPTQ/AWQ)で一般的なベンチマーク(MMLU等)のスコア低下は1〜3%程度。ただしコーディングや数学推論など精密なタスクでは5%以上低下する場合がある。INT8量子化ならほぼ無劣化(0.5%以内)。

Q2: vLLMとTensorRT-LLMはどちらが速いですか? A: NVIDIA GPU専用環境ではTensorRT-LLMがカーネル融合最適化で10〜20%高速。ただしvLLMはAMD GPU/TPU対応・デプロイ容易性で優位。2026年時点ではvLLMが業界標準。

Q3: FlashAttention-3とFlashAttention-2の違いは何ですか? A: FlashAttention-3はH100のTMA(Tensor Memory Accelerator)とFP8をネイティブ活用し、FA-2比で最大1.5〜2倍高速。Hopper世代以降のGPU専用で、Ampere世代(A100)ではFA-2が最速。

Q4: ローカルPCで70Bモデルは動きますか? A: INT4量子化で約38GB VRAM必要。RTX 4090 24GBでは単体不可だが、2枚NVLink構成(48GB)またはCPUオフロード併用で動作可能。Apple M4 Max 128GB統合メモリなら余裕で動作(約15 tok/s)。

まとめ

  • LLM推論最適化は量子化・アテンション高速化・KVキャッシュ最適化・バッチング・投機的デコーディングの5軸
  • vLLMが2026年時点のデファクト推論エンジン。PagedAttentionとContinuous Batchingが核心技術
  • INT4量子化で精度1〜3%低下と引き換えにVRAM使用量を75%削減可能
  • 適切な最適化の組み合わせにより、商用APIの1/10以下のコストで同等品質のサービスを構築可能