AI・機械学習
上級

プログレッシブ蒸留(プログレッシブジョウリュウ)

拡散モデルのサンプリングステップ数を段階的に半減させる蒸留手法。各段階で2ステップの推論を1ステップに圧縮することを繰り返し、最終的に数ステップで高品質な画像生成を実現する。

0 回閲覧
0 いいね

プログレッシブ蒸留とは

プログレッシブ蒸留(Progressive Distillation)は、Google Research の Tim Salimans と Jonathan Ho が2022年に提案した拡散モデル(Diffusion Model)の高速化手法である。拡散モデルは高品質な画像生成が可能だが、推論時に数百〜数千ステップのサンプリングが必要という計算コストの問題があった。プログレッシブ蒸留はこれを段階的に解消する。

拡散モデルの推論コスト問題

モデル通常の推論ステップ数1画像あたりの時間
DDPM1,000数十秒〜数分
DDIM50〜1005〜15秒
Stable Diffusion(標準)20〜502〜8秒
プログレッシブ蒸留後2〜80.1〜1秒

蒸留の仕組み

Step 1: 教師モデルの準備

十分に訓練された拡散モデル(例: 1,024ステップ)を教師として使用する。

Step 2: 段階的なステップ半減

教師の2ステップ(例: t=100→t=50→t=0 の2段階)を、生徒モデルの1ステップ(t=100→t=0)で再現するように学習する。具体的には、教師が2ステップで到達するノイズ除去結果を、生徒が1ステップで直接予測できるようにパラメータを更新する。

Step 3: 反復

蒸留済みモデルを新たな教師として再利用し、さらにステップ数を半減する。1,024→512→256→128→64→32→16→8→4→2 と繰り返すことで、最終的に2〜4ステップで高品質な生成が可能になる。

Consistency Distillation との比較

項目プログレッシブ蒸留Consistency Distillation
提案Salimans & Ho (2022)Song et al. (2023)
アプローチ段階的に2倍ずつ圧縮一気に任意ステップ→1ステップ
学習安定性高い(段階的で安定)やや不安定(大幅な圧縮)
最終ステップ数2〜8ステップが実用的1〜2ステップも可能
品質劣化4ステップで顕著に低下開始1ステップでも一定品質を維持

実際の応用

Stable Diffusion の高速化

Stable Diffusion に対するプログレッシブ蒸留の適用により、50ステップ→4ステップの推論でFIDスコア(画質指標)の劣化を10%以内に抑えることに成功している。リアルタイム画像生成やインタラクティブ編集への道を開いた。

Imagen の推論加速

Google の Imagen にプログレッシブ蒸留を適用し、256ステップ→8ステップで同等品質の画像生成を達成した。計算コストは約30分の1に削減された。

動画生成モデルへの拡張

動画生成の拡散モデル(Video Diffusion Models)にも適用が進んでおり、時間方向と空間方向の両方でステップ削減が試みられている。

メリットと制約

メリット

  • 段階的な圧縮のため学習が安定しやすい
  • 各段階で品質を確認しながら進められる
  • 既存の拡散モデルに後から適用可能(アーキテクチャ変更不要)

制約

  • 蒸留の各段階ごとに学習が必要で、トータルの蒸留コストが高い
  • ステップ数を2以下にすると品質が急激に劣化する傾向がある
  • 生成の多様性がステップ削減に伴い低下する場合がある

FAQ

Q1: プログレッシブ蒸留で1ステップ生成は可能ですか?

理論的には可能だが、品質が大幅に劣化する。実用的には4〜8ステップが品質と速度のバランス点とされている。1ステップ生成には Consistency Distillation の方が適している。

Q2: 蒸留にはどの程度の計算リソースが必要ですか?

1段階の蒸留に元の学習の10〜20%程度の計算量が必要で、10段階(1,024→2ステップ)では元の学習コストと同程度になる。ただし一度蒸留すれば推論時に恒久的なコスト削減が得られる。

Q3: テキスト生成の LLM にも適用できますか?

拡散モデル特有の「ステップ数削減」という問題設定のため、自己回帰型 LLM には直接適用できない。ただし拡散ベースの言語モデル(Diffusion-LM)に対しては適用可能である。