ホームへ戻る

生成模型推論系統

GCache、全過程の誤差に基づき拡散キャッシュを配置、Wan 2.1で同じ2.17倍高速化時にLPIPSを0.0316へ低減

GCacheは、隣接するノイズ除去ステップ間の局所的な差異を比較するだけでなく、キャッシュ誤差が最終的な画像や動画に及ぼす累積的な影響を推定する。動的計画法でキャッシュの更新点を選択し、さらにBayesian optimizationによって理論上の重みを実際の生成品質に整合させる。

@cfcunofficial (Chelsea Debs) London from London, UK · CC BY-SA 2.0 · Image source
zh-Hant

拡散Transformerでは、隣接するノイズ除去ステップに重複する中間特徴が大量に含まれるため、TeaCacheやERTACacheなどの手法はresidualを再利用し、完全なモデル計算の一部を省略する。問題は、局所的なL1差分と最終品質が必ずしも連動しないことだ。あるステップのresidualが大きく変化しているように見えても、その誤差はすぐに減衰する可能性がある。一方、早い段階で混入した小さな誤差が、ODE軌道に沿って増幅されることもある。現在の類似度だけで更新の要否を判断すると、計算予算を誤った箇所に割り当てやすい。

GCacheはまず、1回および複数回のキャッシュ再利用に対する大域的な誤差上界を導出し、各局所residual誤差に時間的位置に応じた伝播重みを乗じる。Lipschitz仮定から得られる最悪ケースの上界は過度に保守的であるため、研究チームはさらにBernstein polynomialで伝播指数をパラメータ化した。内側の最適化では、完全更新を$K$回行うという固定予算の下で、更新点の選択を最短経路問題に変換し、$O(KN^2)$の動的計画法で解く。外側の最適化では、Gaussian-process Bayesian optimizationを用いて係数を探索し、選択された戦略がLPIPSなどの実測損失を直接低減するようにする。

チームは単一のNVIDIA A800 80GB上で、Open-Sora 1.2、CogVideoX-2B、Wan 2.1-1.3B、FLUX.1-devを評価した。動画にはVBenchの946件のプロンプト、画像にはCOCO 30Kのプロンプトを使用した。Wan 2.1による81フレーム、480p、50ステップの設定では、従来199秒を要していたのに対し、GCache-slowは91.6秒で、2.17倍の高速化を達成した。同じ速度におけるLPIPSはGCache-slowが0.0316、ERTACacheが0.1095だった。fast戦略は66.1秒で3.01倍の高速化を達成しながら、LPIPSを0.0828に抑えた。FLUXでも、同じ2.87倍の高速化において、GCacheはLPIPSをERTACacheの0.2658から0.1825へ低減した。

この手法は生成モデルの再学習を必要とせず、追加の誤差補正ネットワークも使用しないため、固定されたモデルとscheduler向けのデプロイ戦略をオフラインで探索する用途に適している。ただし、現時点では更新予算が固定されており、局所誤差行列は完全な軌道の事前計算から得られるため、極端な動きや外れ値となる入力では実際の軌道が代理値から逸脱する可能性がある。また、速度測定はA800のみで行われている。論文にはまだ公開コードへのリンクがないため、エンジニアは複数のGPUにまたがる再現結果、戦略探索のコスト、異なるsolver、量子化、動的入力における結果を待つ必要がある。

出典

  1. From Local Mismatch to Global Impact: Optimizing Cache Reuse Policy for Efficient Diffusion
  2. Wan 2.1 official repository