- 自己回帰型の動画拡散モデルには、過去に生成したフレームを記憶(KVキャッシュ)へ書き込む計算に勾配が届かないという訓練目的そのものの欠陥がある
- 勾配なしのロールアウトと並列再構成を組み合わせた2パス訓練「Self Gradient Forcing(SGF)」が、直列の逆伝播なしにこの監督信号を復元する
- 5秒の学習ウィンドウだけで240秒の動画へ外挿でき、チャンク単位の設定では被写体の一貫性が0.946から0.975へ改善した
研究の背景
動画生成モデルは数秒の尺であれば高い品質を出せるようになりました。しかし1分、4分と長くなるほど、被写体の顔が入れ替わったり、背景の間取りが崩れたり、カメラがじわじわ寄っていったりする現象が起きます。長時間の生成では、こうした小さなずれが積み重なって最終的に映像が破綻します。
この問題の背景には、自己回帰型(直前までのフレームを条件にして次を作る方式)の動画拡散モデルが抱える露出バイアスがあります。訓練時にはお手本の正解フレームを過去の文脈として与えるのに対し、推論時にはモデル自身が作ったフレームを使います。訓練と推論で入力の質が食い違うため、自分の生成物を食べ続けるうちに誤差が膨らんでいくわけです。
この食い違いを埋める手法がSelf Forcingです。訓練の時点からモデル自身のロールアウト(自分で順に生成した履歴)を文脈として使うことで、推論時と同じ条件で学習させます。長尺動画生成の主流アプローチとして広く使われてきましたが、本論文はここに見落としがあると指摘しました。

凍結されたKVキャッシュ
Transformer の Attention 機構(入力のどこに注目するかを決める仕組み)では、過去のフレームは Key と Value という表現に変換されてキャッシュに保持されます。未来のフレームはこのキャッシュを読みに行くことで、過去の内容を参照します。
問題は、Self Forcing がこの履歴の Key/Value を切り離された(detached)状態として扱っている点です。未来のフレームで計算された損失は「キャッシュをどう読むか」は監督しますが、「過去に生成した潜在表現をどう Key/Value へ書き込むか」という計算経路にはまったく届きません。著者らはこれを履歴コンテキストの勾配ギャップと呼んでいます。
読み出し側だけが学習され、書き込み側は放置される状態です。しかも書き込みを担う DiT のパラメータはノイズありのタイムステップでの学習を通じて更新され続けるため、書き込み経路は未来からの補正を受けないまま少しずつずれていきます。長時間の生成で記憶が役に立たなくなる根っこはここにあるという診断です。
素直な対処法は、キャッシュを微分可能にして直列のロールアウト全体を逆伝播することでしょう。ただしこれはフレーム数に応じてメモリが膨らみ続けるため、論文の計測でも実際にメモリ不足で学習が回りませんでした。長時間の一貫性という課題は、ABot-World-0のような対話型の世界生成モデルにも共通しますが、本研究は推論側の工夫ではなく訓練目的そのものを見直した点が異なります。
SGFの2パス訓練
提案手法 Self Gradient Forcing(SGF)は、訓練を2つのパスに分けます。
Pass 1 は勾配の記録を切ったまま、推論とまったく同じ手順で自己回帰ロールアウトを行います。各ブロックについて現在のキャッシュを使ってノイズ除去を実行し、入力されたノイズ潜在と予測されたクリーン潜在を記録します。生成された潜在はクリーンなタイムステップでキャッシュへ書き込まれ、次のブロックの文脈になります。ここまでは Self Forcing と変わりません。
Pass 2 が新しい部分です。Pass 1 でサンプルした1つのノイズ除去ステップについて、その計算を並列に再構成します。自己生成の文脈潜在は stop-gradient(値は固定して勾配を流さない扱い)の入力のまま与えつつ、モデルがそれをクリーンなタイムステップでもう一度エンコードし直します。こうして作られた Key/Value は微分可能なので、未来のターゲットトークンがそこへ注意を向けた時点で、損失が書き込み計算まで遡れるようになります。

ここで使われる DMD(Distribution Matching Distillation)損失は、モデルの出力分布を目標とする分布に近づけるための損失関数の一種です。少ないステップ数で高品質なサンプルを出せるように蒸留する場面で用いられます。SGF ではこの DMD 損失が、ノイズ除去の計算だけでなく Key/Value の書き込みまで同時に監督することになります。
勾配が流れるのは Pass 2 の再構成部分だけです。直列のロールアウト全体を逆伝播しないため、メモリの増加は限定的に収まります。
ただし、この設計は「並列の再構成が直列のロールアウトと同じ計算を再現している」という前提の上に立っています。著者らは96通りのプロンプトとノイズ除去ステップの組み合わせで両者の潜在表現を比較し、相対L2誤差1.41%、コサイン類似度0.999886という結果を得ました。この誤差の大きさは bf16(bfloat16、16ビット浮動小数点)演算で生じる微小な計算誤差のおよそ1.80倍にあたり、計算の食い違いではなく丸め誤差の範囲に収まっていることを示しています。

文脈の保持方法
長時間の生成では、すべての過去フレームを保持し続けることはできません。SGF は先頭付近の潜在を常に残すsink latentと、それ以降を先入れ先出しで入れ替えるウィンドウを組み合わせます。
ここで効いてくるのが VAE(映像データを圧縮・展開する自動符号化器)の構造です。Wan VAE は先頭の1フレームとそれ以降の4フレーム単位という非対称なまとまり方をするため、sink を1つだけ残すと境界付近の情報が落ちてしまいます。実際、60秒生成での比較では美的品質のスコアが sink 1 で0.627、sink 4 で0.653、sink 8 で0.655となり、4つ確保した時点でほぼ頭打ちになりました。この結果から、フレーム単位のストリーミング生成では sink を4つに設定しています。

実験結果
評価には VBench と VBench-Long を使っています。VBench は動画の品質を被写体の一貫性、背景の一貫性、動きの滑らかさなどの軸で自動採点する標準的なベンチマークで、VBench-Long はその長尺版にあたります。訓練の学習ウィンドウは5秒に固定したまま、60秒と240秒への外挿性能を測りました。
指標(240秒生成) | Self Forcing | SGF |
|---|---|---|
被写体の一貫性(フレーム単位) | 0.965 | 0.972 |
背景の一貫性(フレーム単位) | 0.965 | 0.968 |
動きの滑らかさ(フレーム単位) | 0.980 | 0.982 |
被写体の一貫性(チャンク単位) | 0.946 | 0.975 |
背景の一貫性(チャンク単位) | 0.944 | 0.970 |
美的品質(チャンク単位) | 0.557 | 0.629 |
フレーム単位の生成では差が小さく見えますが、チャンク単位(複数フレームをまとめて生成する設定)では改善幅が大きく出ています。数チャンク前に作った内容を文脈として使い続ける必要があるぶん、書き込み品質の差が表に出やすいのだと考えられます。人手による比較評価でも、240秒生成でフレーム単位48.7%、チャンク単位44.9%が SGF を支持しました。

初期化の方法を教師強制、因果的な一貫性蒸留、因果的なODEの3通りに変えても傾向は変わりませんでした。破綻するかどうかという極端な差だけでなく、被写体へじわじわズームしていく構図のドリフトのような、目立たない劣化も抑えられています。
訓練コストは、5ステップあたりで Self Forcing がピークメモリ79.01GB・10.39秒、SGF が87.01GB・11.71秒でした。キャッシュを直接微分可能にする方式がメモリ不足で回らなかったことを踏まえると、追加コストは実用的な範囲と言えます。
まとめと今後の展望
SGF は、長時間動画の破綻を推論時の工夫ではなく訓練目的の修正で扱った点に特徴があります。「自己生成の履歴で学習する」という Self Forcing の枠組みを保ちながら、そこに欠けていた書き込み側の監督だけを追加する設計です。
一方で著者ら自身が限界も明示しています。SGF はロールアウト全体を通した完全な逆伝播の代わりではなく、あくまで境界を区切った代理の信号にすぎません。また Pass 2 の並列再構成が直列の文脈関係を忠実に再現するという前提に依存しており、マスクの整合や sink の位置、位置埋め込みの扱いがずれると監督そのものがずれる恐れがあります。ストリーミング環境での長尺チューニングや、検索を組み合わせた記憶機構、スパースな注意機構といった既存の方向性を置き換えるものではなく、それらと組み合わせて使う位置づけとされています。
コードとモデルは公開予定とされています。訓練側から長時間一貫性に切り込む手法として、他の動画拡散モデルへ移植できるかが次の焦点になりそうです。
