拡散モデル - Shinichi0713/LLM-fundamental-study GitHub Wiki

概要

拡散モデルは、完全なランダムノイズを入力して、学習したプロセスに従ってノイズを除去しながら、意味のある画像を生成する手法。
もともとは画像AIに活用されていたが、文章生成モデルに対して応用されるようになった。
画像はピクセル→連続データ
文章はトークン→離散的なデータ

拡散モデルの考えは連続データで扱うもの→文章の場合は埋め込み空間の中でノイズをかけて処理する手法を考え出した。

自己回帰モデルとの違い

自己回帰モデル→一つ一つのトークンを生成する
拡散モデル→ランダムノイズを少しづつ除去し続ける

自己回帰モデルは長い文章には時間がかかる
拡散モデルは長い文章を全体的に生成出来る

回帰モデルのデメリット:
ビームサーチという探索方法を使うと短い文章に偏る。←複数候補の文章から選定する手法だが、長い文章となると確率が低下する傾向がある。
この点拡散言語モデルは優れている。
拡散言語モデルのデメリット:
品質と多様性のバランスを調整する手段がない。
自己回帰モデルでは温度というパラメータで調整することが出来ていた。
調整機能がないと扱いが難しい。

対応法

最終的なベクトルをtokenに変換する際にランダム性を持たせるようにした。
条件付きの予測をつけた生成確率と、条件を無視した文章生成をΔする。

技術的な意味

並列処理の特性を活かした長文生成を行うようなタスクでは非常に有用であると考えられる。
特記すべきは、長文生成における分散モデルの活用の実用化に見通しが立ったという点。
計算効率についても、大きく向上することが出来た。

image

2つのデコーダを使う理由
条件なしの生成と条件付の生成の差を増幅することで、条件への依存度を調整することが出来るようになる。
その後、Schedulerを通じて拡散が進み、最終的に得られたy0がClampという操作で最も近い実際のトークンの埋め込み表現に変換される。
緑:離散トークン
オレンジ:学習可能な操作
ピンク:埋め込み表現

本手法の効果

曲線の形状:設定を変更することで品質と多様性を調整することが可能ということを示す。

image

スコアから見る性能

GUideDiffuSeqが今回手法。
Stepsが計算に要した計算ステップ回数を示す。
従来手法に比べて、100倍の計算効率向上につながっていることが示されている。
Blue-4とRouge-Lは生成テキストの品質を示す。数値が高いほど性能が良いことを示す。
BertScoreは意味的な類似性を示すスコア。値が低いほど多様性が高いことを示す。
image

参照

https://arxiv.org/abs/2503.10683