AI・機械学習
上級
レイヤードロッピング(レイヤードロッピング)
LLMのTransformerレイヤーを推論時に動的にスキップする軽量化技術。静的なデプスプルーニングと異なり入力に応じてどのレイヤーを実行するか決定し、精度と速度のトレードオフを動的に最適化する。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
動的推論
Early Exit
Adaptive Inference
LLM軽量化
レイヤードロッピングとは
レイヤードロッピング(Layer Dropping)は、LLMの推論時にTransformerレイヤーを動的にスキップする軽量化技術。デプスプルーニング(事前に固定レイヤーを除去)と異なり、入力の難易度に応じてその場でレイヤー実行数を決定する適応的手法。「簡単な質問には少ないレイヤーで答える、難しい質問には全レイヤーを使う」という人間の直感に対応したアーキテクチャ。
主な実装アプローチ
| 手法 | アーキテクチャ | 判定方法 | 削減率 |
|---|---|---|---|
| Early Exit | 中間レイヤーに出力ヘッド付加 | 信頼度スコア閾値 | 20-60% |
| Layer Skip | 各レイヤーにバイパスゲート | 学習済みゲート関数 | 30-50% |
| Speculative Layers | 小モデルで仮実行 | 検証モデルで確認 | 40-55% |
| Conditional Depth | 入力複雑度推定 | 外部分類器 | 20-45% |
Early Exitの仕組み
Transformerの中間レイヤーに軽量な「出力ヘッド(classifier)」を追加し、十分な信頼度に達した段階で残りレイヤーをスキップ:
# Early Exit 推論の概念
for layer_idx, layer in enumerate(transformer_layers):
hidden_states = layer(hidden_states)
if layer_idx in exit_layers: # 判定ポイント
logits = exit_heads[layer_idx](hidden_states)
confidence = softmax(logits).max()
if confidence > exit_threshold: # 閾値超え → 早期終了
return logits
# 最終レイヤーまで到達した場合
return final_head(hidden_states)
代表的な実装
FastBERT (2020, 概念確立)
- 文分類タスクでBERTの推論速度9.3x向上
- 各レイヤーにStudent分類器を配置
- KL divergenceで早期終了判定
AdaptiveDepth for Qwen2.5 (2025)
- Qwen2.5-7Bで平均40%レイヤースキップ
- コーディングタスクでは全レイヤー使用、挨拶では4レイヤーで終了
- LoRAで動的ゲートを学習
LLaDA (2025, 拡散LLM)
- Masked Diffusion Languageモデルへのレイヤードロッピング適用
- マスクトークンの「復元難度」でレイヤー数を動的決定
ベンチマーク(GPT-2レベルモデル)
| 設定 | 平均実行レイヤー | 推論速度 | GLUE平均スコア |
|---|---|---|---|
| 全レイヤー実行 | 24/24 | 1.0x | 84.2 |
| Exit閾値0.9 | 18.2/24 | 1.25x | 83.8 |
| Exit閾値0.8 | 14.1/24 | 1.58x | 82.9 |
| Exit閾値0.7 | 10.3/24 | 2.0x | 80.4 |
エッジデバイス適用(2025年実績)
- Raspberry Pi 5 + Qwen2.5-0.5B: レイヤードロッピングで30%高速化
- Snapdragon X Elite: 動的depth調整でバッテリー消費20%削減
- Apple M4: MPS最適化と組み合わせてモバイル向けllama.cppに統合済み
よくある質問(FAQ)
Q1: デプスプルーニングとレイヤードロッピングの使い分けは? A: バッチ推論・固定用途ならデプスプルーニング(シンプル・高速)、インタラクティブなチャットbotや可変難度タスクにはレイヤードロッピングが適する。
Q2: 判定ゲートの学習コストは大きいか? A: Early Exitヘッドの学習は元モデルの10-20%の計算量で完了。LoRAベースのゲート学習なら更に軽量(1-5%)。
Q3: 長文生成タスクでの効果は? A: トークンごとに難易度が異なるため、平均的に30-40%のレイヤーをスキップ可能。ただし最初のトークン生成(prefill)は全レイヤーを使うことが多い。
まとめ
- レイヤードロッピングは入力難易度に応じた動的レイヤースキップ技術
- Early Exit / Layer Skip / Conditional Depthの3系統がある
- 簡単なタスクで最大60%の計算量削減を達成
- エッジデバイスでのLLMバッテリー消費削減に特に有効
- デプスプルーニングと組み合わせて更なる効率化が可能