AI・機械学習
上級
LISA(層ごと重要度サンプリング)(リサ)
LoRAアダプターなしで全パラメータファインチューニング並みの性能を実現するPEFT手法。Zhao et al.(2024)提案。Transformer層をランダムにサンプリングして選択的に学習し、残りは固定。メモリ効率とフルファインチューニング精度を両立。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
lisa
importance-sampling
peft
fine-tuning
layer-selection
llm
memory-efficient
LISA(層ごと重要度サンプリング)
LISA(Layerwise Importance Sampled AdamW)は2024年にPeking UniversityのYanqiao Zhaoら(Banghua Zhu、Jiantao Jiao監修)が発表したPEFT手法です。LoRAとは異なるアプローチで、少数の層だけを選択的に学習します。
直感的な背景
ファインチューニング研究で、Transformer全層の勾配ノルムを観察すると、学習に大きく貢献する層とほとんど変化しない層が明確に分かれることが分かっています。LISAはこの観察を利用し、重要な層だけを更新します。
LISAのアルゴリズム
各学習ステップで:
- モデルの全層から「サンプリング確率」に基づいてK層を選択
- 選択された層のパラメータのみ勾配計算(requires_grad=True)
- 非選択層は完全に固定(requires_grad=False)
- AdamWオプティマイザで選択層のみ更新
- 次のステップで再サンプリング(確率的ローテーション)
重要な特徴: 埋め込み層(embedding)と最終層(lm_head)は常に学習対象に含まれます。
LoRAとの違い
- LoRA: 低ランク行列A・Bを全層に追加、重みは低ランク空間のみ更新
- LISA: 選択層の全パラメータを更新、ランク制約なし、表現力はフルファインチューニング並み
性能比較(数学タスク)
MetaMath(数学特化データ)でのLlama-2-7B学習:
- LoRA(r=16): GSM8K 正答率 63.4%
- LISA(K=2): GSM8K 正答率 68.9%(+5.5%)
- フルファインチューニング: GSM8K 正答率 70.2%
数学・論理推論では低ランク制約のLoRAより大幅に優れます。
コーディングタスクでの優位性
Code Alpacaでのコード生成タスク:
- LoRA: HumanEval 30.5%
- LISA: HumanEval 36.6%(+6.1%)
メモリ効率
GPUメモリ消費(Llama-2-7B、batch=1):
- LoRA(r=16): 約14GB
- LISA(K=2): 約12GB(オプティマイザ状態が少数層のみ)
- フルファインチューニング: 約28GB
ハイパーパラメータ
- K(サンプリング層数): 2〜4が一般的。少ないほどメモリ効率良
- sampling_rate: 各層のサンプリング確率(均一または重要度ベース)
- interval(更新頻度): 何ステップごとに選択層を変更するか
実装
公式リポジトリはPyTorchネイティブで実装されており、HuggingFaceのTrainerクラスと統合可能です。LLaMAFactory等の統合フレームワークでもLISAオプションをサポートしています。