AI・機械学習
4

Wanda(LLMプルーニング)(わんだ えるえるえむぷるーにんぐ)

Wandaは2023年にSun et al.(Carnegie Mellon University)が発表したLLM向けプルーニング手法。重みの絶対値と入力活性化のノルム積を重要度スコアとして使い、キャリブレーションデータ128サンプルのみで再学習なしにLLaMA-2 7B〜65Bなどを50〜60%スパース化できる。

0 回閲覧
0 いいね
2026/6/1 更新

Wandaとは

Wanda(Pruning by Weights AND Activations)は2023年にSun et al.がCMUで発表したポストトレーニングプルーニング手法です。SparseGPTと同様に再学習不要でLLMを50〜60%スパース化できますが、Hessian行列の計算が不要なため計算コストが大幅に低く、高速に処理できる点が特徴です。

重要度スコアの設計

Wandaの核心は重み×活性化ノルムを重要度指標とする点です。

重要度スコア(W_ij) = |W_ij| x ||X_j||_2
  • W_ij:重み行列の(i,j)番目の要素
  • X_j:j番目の入力特徴量の2-ノルム(キャリブレーションデータの平均)

マグニチュードプルーニング(重みの絶対値のみ)と違い、活性化の大きさを考慮することで、小さい重みでも大きな活性化と乗算される重要な重みを保護します。これがLLM特有の「外れ値活性化問題」への対処になっています。

SparseGPTとの比較

指標WandaSparseGPT
Hessian計算不要要(近似)
処理速度速い(2〜5倍)遅い
LLaMA-2 7B perplexity(50%スパース)6.836.51
LLaMA-2 13B perplexity(50%スパース)6.316.14
実装の複雑さ低中
2:4スパーシティ対応可可

perplexityはSparseGPTが若干優位ですが、差は0.2〜0.5pt程度で、処理速度の優位性からWandaが実用上選ばれるケースも多いです。

インストールと実行

公式リポジトリ locuslab/wanda(PyTorch)。LLaMA-2 7Bを50%非構造化スパース化する場合:

git clone https://github.com/locuslab/wanda && cd wanda && pip install -r requirements.txt
python main.py --model meta-llama/Llama-2-7b-hf --prune_method wanda --sparsity_ratio 0.5 --sparsity_type unstructured --save out/llama2_7b_unstructured0.5/

2:4構造化スパーシティを適用する場合:

python main.py --model meta-llama/Llama-2-7b-hf --prune_method wanda --sparsity_ratio 0.5 --sparsity_type 2:4

キャリブレーションデータの影響

128サンプルのキャリブレーションデータ(デフォルトはC4データセット)の選択が精度に影響します。研究によると:

  • C4 128サンプル:汎用タスクで最も安定
  • タスク固有データ:特定ドメイン(コード/数学)ではドメインデータが有利
  • サンプル数増加:512→2048でperplexityが0.1〜0.3pt改善するが処理時間も増加

実用上の注意点

適している用途:

  • 研究・実験での素早いモデル圧縮検証
  • LLaMA/Mistral/Falconなど汎用モデルの50%スパース化
  • A100/H100での2:4スパーシティ高速化

制限事項:

  • 非構造化スパース化はCPU実行時はランタイム削減に直結しない
  • fine-tunedモデルや特殊アーキテクチャでは活性化統計が異なり調整が必要
  • 60%以上のスパーシティでは急激にperplexityが悪化する傾向

FAQ

Q: WandaはMistral/Gemmaにも使えますか? A: はい。Transformer自己注意+FFNの標準アーキテクチャであれば動作します。ただしGQA(グループクエリアテンション)構造のモデルは一部手動調整が必要です。

Q: Wandaで圧縮したモデルをllama.cppで動かせますか? A: llama.cppはGGUF形式の非構造化スパースを密行列として処理するため、そのままでは高速化されません。2:4スパーシティはNVIDIAのcutlass経由でのみ恩恵があります。

Q: SparseGPTよりWandaを選ぶべき場面は? A: 研究での探索的実験や、処理速度が重要なケースではWandaが適切です。本番デプロイで最大限の精度を求める場合はSparseGPTが有利です。

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