AI・機械学習
上級

LLM構造的プルーニング(エルエルエムコウゾウテキプルーニング)

LLMのアテンションヘッド・FFNニューロン・レイヤー全体などの構造単位を除去してモデルを軽量化する手法。非構造的プルーニングと異なりGPU推論で直接高速化が得られる。

0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
llm
pruning
model-compression
structured-pruning
inference-optimization

LLM構造的プルーニングとは

LLM構造的プルーニング(Structured Pruning)は、大規模言語モデルの構造単位(アテンションヘッド・FFNニューロン・レイヤー全体など)を丸ごと除去してモデルを軽量化する手法です。2023年以降、LLaMAなどのオープンソースLLMに対して活発に研究されています。

非構造的プルーニングとの違い

非構造的プルーニング(Unstructured Pruning)は個々の重みをゼロに設定してスパースな行列を作りますが、スパース行列の高速演算には専用ハードウェア(SparseCore等)が必要です。

構造的プルーニングでは構造単位を完全に除去するため、除去後も密な行列演算(Dense Matrix Multiplication)で動作します。そのため:

  • 標準GPUで直接高速化
  • ONNX/TensorRTへのエクスポートが容易
  • レイテンシ削減が測定・予測しやすい

プルーニング対象の構造単位

1. アテンションヘッドプルーニング

マルチヘッドアテンションの各ヘッドの重要度を評価し、重要度が低いヘッドを除去。

  • 重要度指標: テイラー展開近似(勾配×重みの絶対値積)
  • LLaMA-7B(32ヘッド)→ 24ヘッドで約1.2倍高速化

2. FFNニューロンプルーニング

Feed-Forward Networkの中間次元を削減。

  • 通常は埋め込み次元の4倍(LLaMA-7B: 4096→16384)を2-3倍に削減
  • ActivationベースPruning(L1ノルム・勾配利用)

3. レイヤープルーニング

Transformerブロック全体を除去(→ llm-layer-dropping参照)

実装ツール

  • LLaMA Pruner(2023): LLaMA向け依存グラフ自動解析+プルーニング
  • Wanda(2023): 重みとアクティベーション積の大きさでpruning
  • SliceGPT(2024): PCA投影でスライスベースの構造削減
  • FLAP(2024): アクティベーション分散を利用した構造プルーニング

プルーニング後の回復

構造プルーニング後は性能が低下するため、通常はファインチューニング(QLoRA等)で回復が必要です。プルーニング率20-30%なら少量データ(数万件)のQLoRAで性能の大半を回復できます。

実用例

LLaMA-7Bに対してLLaMA Prunerを適用し20%削減した結果:

  • パラメータ: 7B → 5.5B
  • WikiText-2 Perplexity: 7.1 → 8.3(+1.2ポイント)
  • スループット: 1.3倍向上(A100 GPU)

設計上のトレードオフ

構造的プルーニングは推論ハードウェアを選ばない点で実用性が高い一方、プルーニング率を高くすると性能劣化が顕著になります。一般的に20-30%のプルーニングが性能とコストのバランスが取れた実用域とされています。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/6