拡散モデルの強化学習「DiffusionOPSD」とは何か──GPU時間を最大63%削って画質を上げる自己蒸留の作法
論文が提案する「DiffusionOPSD」は、画像単位の報酬という粗い信号を、拡散モデルの各ノイズ除去ステップに対する明示的な目標へと変換するオンポリシー自己蒸留の手法。SD 3.5-MとZ-Image-Turboの2バックボーン・10評価器・20設定中19設定で最高スコアを記録し、既存手法を最大44.0%上回りながら学習GPU時間を最大63%削減したという。

目次
強化学習(RL)は拡散モデルを人間の好みやタスク固有の目的に合わせて調整できるが、最終的な画像に対する報酬(エンドポイント報酬)だけでは、生成過程の途中にあるノイズ除去(デノイジング)の予測をどう変えるべきかまでは指定できない。2026年8月25日にarXivで公開された論文「On-Policy Self-Distillation in Diffusion Models」は、この粗い報酬信号を、途中経過に対する明示的な目標に変換する手法「DiffusionOPSD」を提案している。
3行まとめ
- DiffusionOPSDは、拡散モデルの画像単位報酬を各ノイズ除去ステップの明示的な目標に変換する自己蒸留手法。SD 3.5-M・Z-Image-Turboの2バックボーンで20設定中19設定が最高スコア、GPU時間は比較対象DiffusionNFT比で40%・63%削減
- 著者はByteDance Seed・NUS・UC San Diego・UMD・HKUST・Duke・UC Berkeley・Oxfordなど9機関17名。コードは論文公開(8/25)より約4週間早い2026年7月29日にGitHubで公開済み(Apache-2.0ライセンス、2026年8月31日確認時点で227スター)
- 公式プロジェクトページに掲載のTable 1実測値では、SD3.5-Mの報酬特化チェックポイントでPickScoreが22.34→24.94、Z-Image-TurboでHPSv2.1が0.296→0.390まで向上している
画像単位の報酬を、ステップごとの目標に変換する
DiffusionOPSDは、画像レベルの報酬による誘導を、サンプリングされたクエリでの「クリーンな出力予測」に対する明示的な目標に変換するオンポリシーの自己蒸留フレームワークだ。各外側イテレーションでは、凍結された行動ポリシーが軌跡を生成し、クエリの状態とアンカー(基準点)を供給する。報酬の勾配は、各アンカーの周辺に有界な正負の目標を構築する。学習対象のポリシーはこれらの目標を「切り離された(detached)教師信号」として、有限回のフィッティングを通じて学習し、その後、指数移動平均(EMA)による更新で行動ポリシーを更新し直す。この設計により、「目標の構築」と「有限回の学習でどこまで実現できるか」を分けて測定できる、という利点がある。
論文が興味深い点として挙げているのは、同一クエリでの制御実験だ。目標構築の段階でより大きな改善が見込めても、1回のフィッティング更新の後に実際に実現される改善が、それに比例して大きくなるとは限らないことが分かったという。
20設定中19設定で最高スコア
SD 3.5-Mと、ステップ数を減らした蒸留モデルであるZ-Image-Turboの2つのバックボーン、10種類の評価器を使った実験では、報酬を揃えた20の設定のうち19設定で、DiffusionOPSDが最終的な保留(held-out)スコアで最も良い結果を記録したとしている。最も競合する手法を最大44.0%上回り、学習に必要なGPU時間は、比較対象のDiffusionNFTに対してSD 3.5-Mで40%、Z-Image-Turboで63%削減したという。論文はこの手法を「画像レベルの報酬誘導を、明示的かつ継続的に更新される中間段階の教師信号に変換することで、より効率的で診断可能な拡散モデルの事後学習へとつながる道」と位置づけている。
公式プロジェクトページには、論文のTable 1に相当する評価器別スコアの実測値がそのまま掲載されている。報酬特化チェックポイント(同一プロンプト100件で評価)での主要な数値は次の通り。
| バックボーン | 手法 | PickScore | HPSv2.1 |
|---|---|---|---|
| SD3.5-M | ベースライン(+CFG) | 22.34 | 0.279 |
| SD3.5-M | + DiffusionNFT | 23.43 | 0.336 |
| SD3.5-M | + DiffusionOPSD(本手法) | 24.94 | 0.390 |
| Z-Image-Turbo | ベースライン | 22.86 | 0.296 |
| Z-Image-Turbo | + DiffusionNFT | 22.28 | 0.277 |
| Z-Image-Turbo | + DiffusionOPSD(本手法) | 25.15 | 0.390 |
(出典:DiffusionOPSD公式プロジェクトページ掲載のリーダーボード表。PickScore・HPSv2.1はいずれも値が高いほど人間の選好・美的評価に近いとされる指標)
Z-Image-Turboの行では、DiffusionNFTがベースラインよりPickScore・HPSv2.1ともに悪化している(22.86→22.28、0.296→0.277)のに対し、DiffusionOPSDは両指標を大きく上回っている。これはステップ数を減らした蒸留モデルでは、比較対象の手法がむしろ性能を下げる場合があることを示しており、論文が「20設定中19設定で最高スコア」と主張する根拠の一端が、この表から確認できる。
「最後の点数」だけでは、途中の直し方が分からない
拡散モデルによる画像生成は、ノイズだらけの状態から少しずつノイズを取り除いていく過程を何十ステップも繰り返して1枚の画像を作る。強化学習でこのモデルを人間の好みに合わせようとする場合、多くの手法は「完成した画像がどれだけ好まれたか」という最終的な報酬だけを手がかりにする。しかし、これでは「途中のどのステップの、どの判断を変えれば良くなるのか」という情報は得られない。ゴールでの評価点だけを渡されて、道中の走り方は自分で考えろと言われるようなものだ。DiffusionOPSDは、この最終報酬を、生成過程の各ステップに対する「もっとこうすればよかった」という具体的な目標に変換する仕組みを提案している。論文が指摘する「目標構築の改善が、そのまま実現される改善に比例するとは限らない」という発見は、理論上良さそうな目標を作れても、実際にモデルがそれを学習しきれるかどうかは別問題だという、地に足のついた指摘だと言える。
学習効率の実測値(8GPU構成)
GitHub READMEの「Training efficiency」表には、8GPU構成での学習効率の実測値が掲載されている(初期化・キャリブレーション・評価にかかる時間は除く、との注記あり)。
| バックボーン | 手法 | 秒/update | ピークVRAM | GPU時間/100update | DiffusionNFT比 |
|---|---|---|---|---|---|
| SD3.5-M | DiffusionNFT | 212.4秒 | 47.8GB | 47.2h | 1.00× |
| SD3.5-M | DiffusionOPSD | 126.9秒 | 50.0GB | 28.2h | 0.60× |
| Z-Image-Turbo | DiffusionNFT | 1826.2秒 | 49.9GB | 405.8h | 1.00× |
| Z-Image-Turbo | DiffusionOPSD | 674.0秒 | 61.5GB | 149.8h | 0.37× |
(出典:worldbench/DiffusionOPSD GitHubリポジトリREADME「Training efficiency」表)
ここで見落とせない点がある。DiffusionOPSDは学習全体のGPU時間(GPU-h)を削減できているが、ピークVRAM使用量はどちらのバックボーンでもDiffusionNFTより増えている(SD3.5-Mで47.8GB→50.0GB、Z-Image-Turboでは49.9GB→61.5GBと1.2倍以上)。つまりこの手法の効率化は「メモリを節約する」ことで実現しているのではなく、「1回のupdateにかかる時間を短縮する」ことで実現しており、GPUのメモリ容量に余裕がない環境では、削減されたGPU時間の恩恵をそのまま受けられない可能性がある。
評価器を10種類に広げると
記事冒頭の3行まとめで触れた「10種類の評価器」について、GitHub README「Main Results」には、PickScore・HPSv2.1以外の8種類(CLIPScore・美的評価器Aes・ImgReward・HPSv3・DeQA・AltCLIP・Point・Pair)を含む全10種類のスコアが掲載されている。SD3.5-Mでの実測値を並べると次の通り。
| 手法 | Pick | CLIP | HPSv2.1 | Aes | ImgR | HPSv3 | DeQA | AltCLIP | Point | Pair |
|---|---|---|---|---|---|---|---|---|---|---|
| ReFL | 23.92 | 0.308 | 0.358 | 12.09 | 1.28 | 9.33 | 4.85 | 0.408 | 0.193 | 0.290 |
| DiffusionNFT | 23.43 | 0.298 | 0.336 | 9.11 | 1.46 | 9.14 | 4.76 | 0.412 | 0.199 | 0.323 |
| DiffusionOPSD | 24.94 | 0.340 | 0.390 | 12.08 | 1.76 | 13.34 | 4.94 | 0.450 | 0.214 | 0.465 |
(出典:同README「Main Results」表、SD3.5-M列。Aes列だけはReFLの12.09がDiffusionOPSDの12.08をわずかに上回っており、この表の範囲では10指標中DiffusionOPSDが最高値でない唯一の列だった)
README自体は「Native training rewards across ten objectives and two backbones(10種の目的関数×2バックボーンでネイティブに学習報酬を扱う)」と明記しており、この記事冒頭の「10評価器」という表現の裏付けになる。一方で同じREADMEには、公開コードの学習プリセットが対応する報酬関数について「seven open-weight evaluators and arbitrary positive weighted sums(7種類のオープンウェイト評価器と、任意の正の重み付き和)」という記述もあった。評価で使う指標の種類数(10種)と、学習時に報酬として使える公開プリセットの評価器数(7種)は別の数字なので、この記事では混同しないよう明記しておく。
コードは動かしておらず、GitHub版が「外部実装」である点も未検証
公式GitHubリポジトリ(worldbench/DiffusionOPSD)のREADME冒頭には、次の一文がある。
"Note: This is an external implementation of the algorithm in the following paper:"
(注:これは以下の論文に記載されたアルゴリズムの外部実装です)
公式プロジェクトページからリンクされているにもかかわらず、リポジトリ自身が「論文著者による公式実装ではなく外部実装」と明記している点は、今回curlでREADMEを開いて初めて確認できた事実だ。著者本人によるオリジナルの学習コードと、この公開リポジトリの実装が完全に一致するかどうかまでは、本記事の範囲では検証していない。またこの記事はarXiv論文要旨・プロジェクトページ・GitHubリポジトリの記述をもとに書いており、DiffusionOPSDが実際に生成した画像のサンプルをこちらの手元で生成・比較したり、10種類の評価器(PickScore・CLIPScore・HPSv2.1・美的評価器など)が具体的にどのようなデータで訓練された指標なのかを個別に検証したりはしていない。
関連記事
出典・参照資料
AIニュースの解説を動画でも
YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。
コメント
まだコメントはありません。最初のコメントを書いてみませんか?
AIについて聞きたいことはありますか?
質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。
質問箱を見る →新しい記事をメールで受け取る
AIの新しい発表を、出典付きで整理して届けます。