SmoothCache: A Universal Inference Acceleration Technique for Diffusion Transformers
Abstract
拡散トランスフォーマー(DiT)は、画像、動画、音声合成など様々なタスクにおいて強力な生成モデルとして台頭してきた。しかし、その推論プロセスは、計算コストの高い注意機構とフィードフォワードモジュールを繰り返し評価する必要があるため、依然として計算負荷が高い。この問題に対処するため、我々はSmoothCache111コードは https://github.com/Roblox/SmoothCache で入手可能を導入する。これはDiTアーキテクチャのためのモデルに依存しない推論加速技術である。SmoothCacheは、隣接する拡散タイムステップ間でレイヤー出力の高い類似性が観察されることを利用している。小規模なキャリブレーションセットからレイヤーごとの表現誤差を分析することで、SmoothCacheは推論中に重要な特徴を適応的にキャッシュし再利用する。我々の実験では、SmoothCacheが多様なモダリティにおいて生成品質を維持または改善しつつ、8%から71%の速度向上を達成することを示している。本稿では、画像生成のためのDiT-XL、テキストから動画への変換のためのOpen-Sora、テキストから音声への変換のためのStable Audio Openにおいてその有効性を実証し、リアルタイムアプリケーションを可能にし、強力なDiTモデルのアクセシビリティを拡大する可能性を強調している。
1 Introduction
生成モデリングの急速に進化する領域において、拡散モデル[30, 8]は豊かで多様なコンテンツを生成する比類ない能力を提供する重要な力として台頭してきた。特に、拡散トランスフォーマー(DiT)[24, 32]は、トランスフォーマーのスケーラブルなアーキテクチャを活用し、画像[3]、音声[5, 12, 14]、動画[36, 11, 21]、3Dモデル[23]の生成を含む様々な領域で顕著な進歩を示している。
DiTのより広範な採用を制限する中心的な課題は、その推論プロセスの計算集約性である。拡散パイプライン全体を実行するコストは主にノイズ除去ステップにあり、ノイズ除去の効率を改善することは直接的に拡散パイプラインの高速化につながる。この課題に対処するため、推論の最適化は2つの方向から研究されている:(1)サンプリングステップ数の削減、(2)ステップごとの推論コストの低減。
高度なソルバー[18, 16]の使用が、サンプリングに必要なタイムステップ数を削減し、それによって推論を加速するために提案されている。知識蒸留[27]、アーキテクチャの最適化[13]、プルーニング[6]、量子化[29, 7]などの技術は、個々のノイズ除去ステップの計算複雑性を低減することを目的としている。
これらの手法は有望性を示しているものの、生成品質を損なうことなく多様なモダリティにわたってDiT推論をさらに加速できる技術の必要性が残されている。キャッシング[20, 34, 15, 1]は、拡散プロセスに内在する冗長性を利用することで、潜在的な解決策として浮上してきた。DiTキャッシングに関する過去および並行研究では、一様スケジューリング[28]、データセットを用いたキャッシングパターンの学習[19]、候補モデルの定性的特性を利用したキャッシングパターンの作成[4, 35]が調査されてきた。しかし、これらのキャッシング技術は、過度に単純化されたまたはモデル固有の戦略、あるいは高コストな再学習手順への依存によって制限されている。
これらの制限を克服するため、我々はSmoothCacheを導入する。これは、多様な拡散トランスフォーマーモデルのスペクトルを高速化できるシンプルで普遍的なキャッシング方式である。SmoothCacheは、任意のDiTベースのモデルにおいて隣接するタイムステップからの層出力が高いコサイン類似度を示すという観察[28, 19]を活用しており、これは計算上の冗長性の可能性を示唆している。小規模なキャリブレーションセットから得られる層ごとの表現誤差を慎重に活用することで、SmoothCacheは除ノイズプロセスの異なる段階で最適なキャッシング強度を適応的に決定する。これにより、生成品質に大きな影響を与えることなく、推論中に主要な特徴を再利用することが可能となる。SmoothCacheは汎用性を念頭に設計されており、モデル固有の仮定や学習を必要とせずに任意のDiTアーキテクチャに適用でき、一様キャッシングを上回る性能向上を達成できる。
我々は、一般的な学習不要のキャッシング方式を用いたSmoothCacheが、画像、動画、音声ドメインにわたってパフォーマンスを高速化し、各専用ドメインにおける最先端のキャッシング方式に匹敵または凌駕することを示す。また、SmoothCacheが拡散トランスフォーマーにおける様々な一般的なソルバーとも互換性があることを実証する。
1.1 Related Work
拡散モデル [30, 8] は、画像、音声、動画など様々な領域で高品質なサンプルを生成できる強力な生成モデルのクラスとして台頭してきた。当初、このノイズ除去ステップにはU-Net アーキテクチャが好まれていた。これは、潜在空間における大域的および局所的な情報の両方を捉える強力な能力を持ち、データの微細な詳細を再構築する上で重要であったためである [25, 26]。
しかしながら、U-Netの固有の限界、特に高次元データや長いシーケンスに効果的にスケールすることの困難さから、代替アーキテクチャの探索が行われた。Diffusion Transformer (DiT) [24] は、トランスフォーマーアーキテクチャのスケーラビリティを活用するためのU-Netに対する解決策として提案された [32]。長距離依存関係を扱う能力と固有のスケーラビリティで知られるトランスフォーマーは、様々なシーケンスベースのタスクで非常に効果的であることが証明されている。DiTはこれらの利点を拡散フレームワークに適応させることに成功し、画像生成だけでなく、音声 [5, 12, 14]、動画 [36, 11, 21]、3D生成 [23] など多様な領域にも拡張して強力な性能を示した。
その成功にもかかわらず、DiTモデルは多くのトランスフォーマーベースのアーキテクチャと同様に、推論時の計算効率に課題を抱えている。トランスフォーマー内のアテンションとフィードフォワード層の中核的な操作は二次の時間複雑性を持つ。拡散モデルの文脈では、これらの操作が複数のノイズ除去ステップにわたって繰り返し実行されるため、この二次依存性は大きな計算オーバーヘッドにつながる。特に高解像度の出力や長いシーケンスを生成する際に顕著である。この高い推論コストは、計算リソースが限られているか、厳しい遅延要件がある実世界のアプリケーションにこれらのモデルを展開する上で大きな課題となっている。
効率的な拡散モデル。 拡散モデルは、データからノイズを反復的に除去するために多くの関数評価を必要とし、そのため計算コストが急速に増大する。多くの先行研究は、加速されたノイズスケジューラーや高速ODE ソルバーを探索することで、高品質なサンプルを得るために必要な拡散ステップ数を削減することに焦点を当ててきた [31, 17, 18, 16]。他の研究では、ステップあたりの遅延を削減するために、量子化 [29, 13, 7] や圧縮技術 [13, 27, 6] など、ニューラルネットワークの従来の加速方法に焦点を当てている。しかし、これらの技術の有効性は限定的である。なぜなら、ステップごとの加速方法によって生じる損失は、最適化されたソルバーと組み合わせて使用すると大きくなる可能性があるためである。これらの課題に対処するため、より適応的なソリューションは、サンプル品質を損なうことなく、タイムステップ削減方法に加えて効率性の向上を提供する可能性がある。
拡散モデルのキャッシング。 キャッシングは、ノイズ除去プロセスにおける計算の冗長性を利用することで、DiT推論を加速するための有望な技術として浮上してきた。U-Netベースのアーキテクチャでは、DeepCache [20] がタイムステップ間の類似性を利用してアップサンプリング特徴マップをキャッシュおよび再利用する一方で、他の方法ではレイヤーのブロック [34]、クロスアテンションモジュール [15]、または中間ノイズ状態 [1] のキャッシングに焦点を当てている。これらの技術はDiTには存在しないU-Netのスキップ接続特徴に依存しているため、画像 [19, 4, 28] および動画 [35] のDiT拡散モデルにキャッシングを適用するためのさらなる研究が行われてきた。しかし、前述のキャッシング技術はすべて、候補モデルやアーキテクチャの特定の原理を利用するように設計されており、異なる拡散アーキテクチャや出力モダリティ間で一般化されない。さらに、一部の技術では、すべてのサンプリング構成に対して大規模な訓練と実験的なハイパーパラメータ探索が必要であり、新しいモデルに適用する際にすぐに使用することができない。
SmoothCacheは、実装が簡単で訓練不要でありながら、特定の拡散プロセスに基づいてキャッシングの決定を行い、均一なスケジュールを上回る性能を発揮するキャッシングアプローチを導入することで、これらの制限に対処している。このモデルに依存しないフレームワークは、1回のキャリブレーション推論パスと単一のハイパーパラメータ だけで、様々なモデル、サンプリング、ソルバー構成に適応し、最適な性能を達成する。
2 Method
本節では、提案するSmoothCache手法の予備的なセットアップ、基本的な仮定、観察結果、および数学的定式化について説明する。
2.1 Preliminaries
拡散プロセスは、データにステップにわたってガウシアンノイズを加えることで変換し、シーケンスを生成する。これはマルコフ連鎖としてモデル化され、各ステップは以下に従う:
(1) |
ここで、はタイムステップにおけるノイズの分散であり、は拡散ステップ中に加えられたノイズの累積効果によるものである。逆プロセスの目的は、ノイズの加わったサンプルから元のデータを復元することである。これは、逆遷移をパラメータ化するニューラルネットワークによって学習される:
(2) |
ここで、は予測された平均であり、は分散であり、両者ともモデルによって学習される。完全な生成プロセスは以下のように定義される:
(3) |
生成モデルは、負の対数尤度の変分下界を最小化することによって訓練され、各タイムステップでのノイズを除去し、最終的に学習された分布からサンプルを生成することを学習する。従来、はU-Netスタイルのモデルアーキテクチャで近似されてきたが、最近の研究では、Diffusion Transformer (DiT)アーキテクチャを使用し始めており、特にビデオ生成のようなより複雑なタスクにおいて、より良くスケールすることが示されている。DiTアーキテクチャは、従来のTransformerにおけるSelf-attention、Cross-attention、Feed-forwardレイヤーを含む繰り返しブロックで構成されており、これらは通常、モデルの訓練と推論の両方において計算上のボトルネックとなっている。
拡散モデルの重要な特性の一つで、キャッシング技術の開発を促進したのは、隣接するタイムステップにおけるレイヤー出力間の高いコサイン類似度である。この類似性のパターンは、画像、ビデオ、音声拡散など、さまざまなモダリティにわたる様々な生成モデルとソルバーで観察されている。この高い類似性は、拡散プロセス内に効率を改善するために活用できる計算の冗長性が存在することを示唆している。
2.2 SmoothCache
SmoothCacheの目的は、訓練不要でモデルに依存しない層出力のキャッシュと再利用の戦略を提供し、最小限のエラーを導入することである。しかし、我々は、異なるモデルアーキテクチャ、ソルバー、モダリティにわたって、タイムステップ間の層出力をキャッシュする単一の最適な静的スキームは存在しない可能性があると考えている。例えば、図2に示すように、連続するタイムステップの層出力間の平均表現誤差を調べると、DiT-XLラベル-画像モデルでは一般に後半のタイムステップで層がより大きな差異を示すのに対し、Open-Soraテキスト-動画モデルでは拡散の最初と最後のタイムステップで層がより敏感であることが観察される。この発見は、異なるモデルが誤差曲線に基づいて異なる利益を得られるように、一般化可能な技術で類似性原理を適用する必要性を強調している。
をタイムステップにおける特定の層の出力とし、を将来の拡散タイムステップにおける同じ層の出力とする。タイムステップ間の層類似性の観察により、である。したがって、拡散プロセス中にを計算する代わりに、以前に計算されたを使用して関数を近似できる。層が計算されるたびに、我々の手法はをキャッシュに保存し、将来の層計算の代わりにアクセスして使用できるようにする。我々は、図LABEL:fig:smoothcacheに示すように、残差接続の前の出力における前述の計算のボトルネックにキャッシングを適用する。これには、DiT-XLモデルのSelf-attentionとFeed-forward層、StableAudioモデルのSelf-attention、Cross-attention、Feed-forward層、そしてOpenSoraモデルの空間ブロックと時間ブロックの両方におけるSelf-attention、Cross-attention、Feed-forward層が含まれる(図3参照)。図4は、これらのコンポーネントが生成中に発生するほぼすべての計算を占めていることを示している。また、計算の分布がモデルごとに異なることにも注目する。
以前にキャッシュされた出力を使用するかどうかを決定するために、以下の問題を定義する。を現在のタイムステップ、をキャッシュが以前に埋められたタイムステップ、をタイプの番目の層とする。ここで、はモデルアーキテクチャに依存する。我々の手法は、計算された出力とキャッシュされた出力の間の損失が、層依存のハイパーパラメータによって制限される場合、キャッシングが効果的であるという主要な仮説に導かれる。
を計算することは、を評価せずには不可能であり、これは層計算をスキップすることによる利点を失わせる。特定のDiTアーキテクチャに対して、我々は2つの異なるサンプルの層表現誤差の差が無視できるほど小さい閾値内にあることを顕著に観察した。これは図2に示す10個のキャリブレーションサンプルで生成されたプロットの95%信頼区間から分かる。この発見は、特定のモデル入力の誤差曲線が、十分に大きなキャリブレーション入力セットの平均誤差曲線によって近似できることを示唆している。言い換えれば、が層のキャリブレーション出力を表す場合、となる。
すべてのを見つけるためのハイパーパラメータ探索は、層の数に基づいて指数関数的な探索空間を持ち、非常にコストがかかる。キャッシング問題を簡略化するために、我々はすべての層のキャッシングを導くための単一のハイパーパラメータを定義する。をタイプのすべての層の平均L1相対誤差として定義する。これは、すべてのタイプと位置的深さのネットワークにおける層間の真の表現誤差を比較するために選択される。さらに、特定の層をキャッシュすることで、ネットワーク内の同じタイプの将来の層にエラーが導入される可能性があることを認識している。例えば、をで近似すると、ノイズが導入され、キャリブレーション誤差が真の誤差を正しく近似しなくなり、不適切なキャッシング決定につながる可能性がある。層のキャッシングのカスケード効果を軽減するために、タイプのすべての層のキャッシング決定をグループ化し、内のすべての層がを近似するようにする。したがって、キャッシュされた出力は、以下の条件が満たされる場合にの計算の代わりに使用される:
(4) |
キャッシュされた出力の使用は計算コストが低く、拡散推論プロセスの大幅な高速化を可能にする。式4は、キャッシュされる特定の拡散プロセスの特性について事前の仮定を行わないため、複数のアーキテクチャとモダリティにわたって適用できる。さらに、キャッシング決定はキャリブレーション誤差にのみ依存するため、モデルの実行時に変更されない。これにより、既存のグラフコンパイル最適化との互換性が確保される。
3 Experiments
3.1 Experiment Setup
モデル、データセット、およびソルバー 我々の手法の有効性をDiTアーキテクチャ全体で実証し、モデルに依存しないという主張を証明するために、我々はSmoothCacheを複数の候補拡散モデルで評価し、さまざまなモダリティと異なる拡散ステップ数にわたって検証する。
テキストから画像生成 まず、オリジナルのDiT-XL-256x256ラベルから画像拡散モデルを選択し、公開されたモデルの重み222https://github.com/facebookresearch/DiTを使用する。DiTファミリーのモデルはImageNet1kデータセットで訓練されているため、評価用に50,000枚の256x256画像を生成する。我々はDDIMソルバーを用いてSmoothCacheをテストし、スケール1.5のクラシファイアフリーガイダンスを使用する。
テキストから動画生成 次に、OpenSORAテキストから動画モデルを選択する。我々は事前訓練されたOpenSORA v1.2モデルを使用し、VBenchプロンプトスイートからの946のプロンプトを用いて生成された2秒間の480p動画(アスペクト比9:16)に対してVBench評価プロトコルを使用してその性能を評価する。推論にはフラッシュアテンションとbfloat16データ型を使用する。我々はRectified Flow [16]ソルバーを用いてSmoothCacheをテストし、1000 Eulerステップにわたる30サンプリングステップで、デフォルトのCFGスケール7.0を使用する。
テキストから音声生成 最後に、Stable Audio Openテキストから音声モデルを選択する。我々はオリジナルの論文[5]で説明されている推論プロトコルに従う。Stable Audio Openの推論は、クラシファイアフリーガイダンススケール7.0で100ステップのDPM-Solver++ (3M) SDEを用いて実行する。
評価指標 効率性と品質のトレードオフを実証するために、各ドメインで様々な標準的な指標を使用する。我々は完全な拡散プロセスの乗算累積演算(MACs)と遅延を記録する。ベースラインのサンプリング遅延から加速率を導出する。生成品質を測定するために、対応するドメインの一般的な指標で候補モデルを評価する。 DiT-XL-256x256については、指定された設定で50,000枚の画像を生成し、FID、IS、およびsFIDを報告する。 OpenSORAについては、VBench[9]を使用してモデルのパフォーマンスを評価し、VBenchスイートのプロンプトに基づいて946の動画を生成する。最終的なスケーリングされたVBenchスコアを報告する。 最後に、Stable Audio Openについては、Stable Audio Open技術報告書[5]で説明されている評価プロトコルを同じ評価コード333https://github.com/Stability-AI/stable-audio-metricsを使用して厳密に適用し、AudioCaps [10]、歌唱プロンプトなしのMusicCaps [2]、および歌唱プロンプトなしのSong Describer [22]に対するCLAP、FDOpenL3、およびKLPaSST指標を報告する。すべての速度結果は単一のH100-80G GPUで測定され、50回の実行にわたって平均化される。
実装の詳細 前述のように、我々は残差接続の前のレイヤーにキャッシングを適用する。DiT-XL-256x256モデルでは、これにはDiTブロック内のSelf-attentionとFeed-forwardモジュールが含まれる。OpenSora V1.2では、時間的Self-attention、Cross-attention、Feed-forwardモジュール、およびそれらに相当する空間的変種(合計6種類のモジュール)をキャッシュする。 Stable Audio Openでは、Self-attention、Cross-attention、Feed-forwardモジュールをキャッシュする。各アーキテクチャ、ソルバー、およびプリセットの拡散ステップ数に対して、いくつかのランダムサンプルに対するレイヤー出力の差を計算することで表現誤差を取得する。 すべてのモダリティについて、キャリブレーションには10個のサンプルを使用する。アブレーション研究では、キャリブレーションサンプル数の選択はあまり重要ではないことが示されており、これは図2で観察できる。 また、キャリブレーション中に条件付き生成を行ったかどうかに基づいて、誤差曲線を生成するサンプルを選択する。これはOpenSoraとStable Audio Openでのみ行う。 DiT-XL-256x256とStable Audio Openではを固定する。これは、4タイムステップ以上の差でレイヤー表現誤差が大きくなりすぎると判断したためである。OpenSORAでは、特にネットワークのクロスアテンションコンポーネントの誤差が比較的低いため、は5まで上がる。 DiTについては、ヌルプロンプトを使用して無条件に生成されたサンプルでキャリブレーションを行う。OpenSoraについては、VidProM [33]からランダムにサンプリングされたプロンプトを用いて条件付きで生成された480p 2秒動画でキャリブレーションを行う。 Stable Audio Openについては、AudioCaps検証セットからランダムにサンプリングされたプロンプトを使用してキャリブレーションを行う。
3.2 Results
我々は、DiT-XL-256x256、OpenSora、およびStable Audio Openに対するSmoothCacheの結果を、それぞれ表1、2、3に示す。加速と品質のトレードオフを公平に比較するため、DDIMやDPM++などのモデルで使用されるデフォルトのソルバーと、指定されたハイパーパラメータを持つSmoothCacheの実装を比較する。同一の加速率を持つ2つの構成において、SmoothCacheが様々な品質指標でより良い性能を示すことを発見した。これは、典型的な加速/品質のトレードオフに対する優れた性能を示している。すべての結果について、我々は5回の試行を実行し、各指標の平均値と標準偏差を報告する。
Schedule | Steps | FID () | sFID () | IS () | TMACs | Latency (s) |
L2C | 50 | 2.27 0.04 | 4.23 0.02 | 245.8 0.7 | 278.71 | 6.85 |
No Cache | 50 | 2.28 0.03 | 4.30 0.02 | 241.6 1.1 | 365.59 | 8.34 |
Ours ( = 0.08) | 50 | 2.28 0.03 | 4.29 0.02 | 241.8 0.9 | 336.37 | 7.62 |
FORA (n=2) | 50 | 2.65 0.04 | 4.69 0.03 | 238.5 1.1 | 190.25 | 5.17 |
Ours ( = 0.18) | 50 | 2.65 0.04 | 4.65 0.03 | 238.7 1.1 | 175.65 | 4.85 |
FORA (n=3) | 50 | 3.31 0.05 | 5.71 0.06 | 230.1 1.3 | 131.81 | 4.12 |
Ours ( = 0.22) | 50 | 3.14 0.05 | 5.19 0.04 | 231.7 1.0 | 131.81 | 4.11 |
No Cache | 30 | 2.66 0.04 | 4.42 0.03 | 234.6 1.0 | 219.36 | 4.88 |
FORA (n=2) | 30 | 3.79 0.04 | 5.72 0.05 | 222.2 1.2 | 117.08 | 3.13 |
Ours ( = 0.35) | 30 | 3.72 0.04 | 5.51 0.05 | 222.9 1.0 | 117.08 | 3.13 |
No Cache | 70 | 2.17 0.02 | 4.33 0.02 | 242.3 1.6 | 511.83 | 11.47 |
FORA (n=2) | 70 | 2.36 0.02 | 4.46 0.03 | 242.2 1.3 | 263.43 | 7.15 |
Ours ( = 0.08) | 70 | 2.37 0.02 | 4.29 0.03 | 242.6 1.5 | 248.8 | 6.9 |
FORA (n=3) | 70 | 2.80 0.02 | 5.38 0.04 | 238.0 1.2 | 175.77 | 5.61 |
Ours ( = 0.12) | 70 | 2.68 0.02 | 4.90 0.04 | 238.8 1.3 | 175.77 | 5.62 |
Schedule | Steps | VBench (%) () | TMACs | Latency (s) |
---|---|---|---|---|
No Cache | 30 | 79.36 0.19 | 1612.1 | 28.43 |
Ours ( = 0.02) | 30 | 78.76 0.38 | 1388.5 | 26.57 |
Ours ( = 0.03) | 30 | 78.10 0.51 | 1321.1 | 26.17 |
AudioCaps | MusicCaps (No Singing) | Song Describer (No Singing) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Schedule | FDOpenL3 () | KLPaSST () | CLAP () | FDOpenL3 () | KLPaSST () | CLAP () | FDOpenL3 () | KLPaSST () | CLAP () | TMACs | Latency (s) |
No Cache | 81.7 6.8 | 2.13 0.02 | 0.287 0.003 | 82.7 2.1 | 0.931 0.012 | 0.467 0.001 | 105.2 6.3 | 0.551 0.024 | 0.421 0.003 | 209.82 | 5.65 |
Ours ( = 0.15) | 84.5 6.7 | 2.15 0.02 | 0.285 0.003 | 85.9 2.3 | 0.942 0.012 | 0.467 0.001 | 106.2 6.6 | 0.555 0.024 | 0.420 0.003 | 170.75 | 4.59 |
Ours ( = 0.30) | 89.6 6.3 | 2.17 0.02 | 0.271 0.003 | 82.0 1.5 | 0.962 0.012 | 0.448 0.001 | 131.3 5.9 | 0.596 0.028 | 0.392 0.003 | 136.16 | 3.72 |
3.2.1 Quantitative results
既存の文献との比較 我々の手法の真の有効性をさらに調査するため、SmoothCacheを、SmoothCacheと同時期に開発された既存のDiTキャッシング技術と比較する。これには、Fast-Forward Caching (FORA) [28]やLearning-to-Cache (L2C) [19]などのラベルから画像への生成技術が含まれる。上記の手法は関連するモデルアーキテクチャの特定の特性に依存しており、必ずしも異なるモダリティ間で変換できるわけではないが、SmoothCacheはそれらの考慮事項に依存せず、観測された誤差曲線から直接キャッシングスキームをモデル化することに注目する。FORAは、図2に見られるような誤差曲線の違いにより、OpenSoraやStable Audio Openでは機能しない。50サンプリングステップでの異なる推論時間において、SmoothCacheがFORAを上回ることがわかる。より低い推論時間で同様の性能を示すか、同じ推論時間でより良い性能を示している。ここでの唯一の例外はL2Cであり、これは与えられたサンプリングステップ数に対するポリシーを学習するために完全なImageNetトレーニングセットを活用する必要がある。サンプリングステップ数を変更するには完全な再トレーニングが必要であり、L2Cは理論上最大で2倍の高速化しか得られない。これは、キャッシングポリシーが2ステップごとのスキップでのみ学習されるためである。これらの制限は、SmoothCacheにはない。
推論速度/品質のトレードオフの検討 Stable Audio OpenとDiT-XL/2-256x256は、OpenSoraと比較して最高の速度/品質トレードオフを提供する。OpenSoraはレイテンシーで約10%の高速化とMACsで約16-22%の削減を示すのに対し、他のモダリティでは20-60%の高速化が見られる。この差異は、非DiTコンポーネントのより大きなオーバーヘッドに起因する可能性がある(推論レイテンシーはエンドツーエンドで測定されるため)。 また、推論速度/品質のトレードオフの量は、図2に見られるように、キャリブレーションサンプル間の誤差偏差と直接相関していることが観察される。OpenSoraのタイムステップ間の個々のサンプルの誤差の分散が、Stable Audio OpenやDiT-XL/2-256x256と比較して高いことがわかる。
3.2.2 Qualitative results
我々はすべてのモダリティについて視覚的な例を示す。画像生成には256x256の画像を示し、ヌル条件のプロンプトを使用する。音声については、我々が測定した3つのデータセットにわたる条件付きプロンプト生成の波形を視覚化するために、ログメルスペクトログラムを示す。ビデオについては、2秒間の480p 24fpsビデオの最初、中間、最後のフレームを9:16のアスペクト比で示す。
図5のDiT-XL/2-256x256の出力では、SmoothCacheを適用するとFIDが低下するものの、より高い閾値を適用した場合に性能品質に顕著な差が見られるが、モデルの性能品質がキャッシングなしのモデルと視覚的に区別がつかない閾値が存在することがわかる。これは、SmoothCacheが提供する推論速度/品質トレードオフの細かい粒度を示しており、FORAで示されるような静的キャッシングでは、より低品質のSmoothCache閾値しか得られないことを示している。 特に、図6のStable Audio Openでは、この劣化がより顕著でないことが観察される。音声波形は視覚的に同一に見え、聴いても知覚可能な差異がない。これは、すべての測定された指標がすべてのデータセットにわたってわずかな劣化しか示さないという定性的結果と一致している。 OpenSoraについては、図7でキャッシング時にはより顕著な差異が見られ、より高いキャッシング閾値を適用すると目立つアーティファクトが発生する。これは定量的結果と一致しており、このアーキテクチャ/モダリティが他のモダリティよりもキャッシングに敏感であることを示唆している。これは、他の探索されたモダリティが扱う必要のない複雑な空間/時間モデリングを考慮すると理にかなっている。
3.3 Ablations
我々は、異なるステップサイズにおけるモデルの性能の変化を示すことで我々の調査のアブレーションを行い、DiT-XL-256x256モデルに対するSmoothCacheの堅牢性を示す。
キャッシング/サンプリングステップのパレートフロントの検証 我々は、静的キャッシングとの比較を通じて、我々の手法が異なるサンプリングステップにおいてより優れたパレートフロントを生成することを画像生成結果により示す。すべてのキャッシング技術はソルバーのサンプリングステップ数を変えると性能が変化することに注目する。我々は、SmoothCacheがサンプラーやモデルアーキテクチャに関して最小限の仮定しか設けていないにもかかわらず、少なくとも他のキャッシング戦略と同等か、多くの面で上回っていることを示す。表1は、サンプリングステップ数が少ない場合も多い場合も、SmoothCacheが異なるサンプリングステップ数における複数の推論速度/品質のポイントでFORAを上回っていることを示している。 我々は、SmoothCacheが複数のサンプリング設定において静的キャッシングを上回ることを観察した。L2CはDDIMサンプリングにおいてDiT-XLに対してSmoothCacheをわずかに上回るが、SmoothCacheはImageNet1kに対する高コストな訓練を必要とせず、異なるモデルアーキテクチャやサンプリング設定に一般化できる。
キャリブレーションサンプルサイズ 我々は、キャリブレーションサンプル数の選択が生成されるキャッシングスケジュールに悪影響を与えないことに注目する。経験的に、本稿で調査した3つのモデルすべてにおいて、同じが与えられた場合に同じキャッシングスケジュールを確実に再生成するには、通常10サンプルで十分であることを観察した。しかし、図2に示されるように、異なる誤差曲線の信頼区間はモダリティによって異なることに注意する。
4 Limitations and Future Work
SmoothCache技術の主な制限は、繰り返されるDiTブロックアーキテクチャ、特に前述の計算ボトルネック層に続く残差接続に依存していることである。これらの接続により、出力を入力と以前にキャッシュされた層の線形関数で近似することが可能となり、我々はこれをキャッシングの効果に不可欠な特徴と考えている。さらに、SmoothCacheによる性能向上は、候補層の計算集約度と強く関連している。そのため、深さや幅が限られたDiTネットワークに適用した場合、性能向上が小さくなる可能性がある。
二次的な制限は、より深い層のキャッシング決定を導くロス関数に対して、初期層の出力を近似することによるエラーの影響が最小であるという仮定にある。例えば、最初のSelf-attention層が前のタイムステップからキャッシュされた結果を使用して近似される場合、2番目のSelf-attention層をキャッシュすると、キャリブレーションロスが低いエラーを示唆していても、さらなる出力の不一致を引き起こす可能性がある。これは、キャリブレーションロスがキャッシングを行わない場合に計算されるため、SmoothCacheを有効にした推論中の真の近似エラーを完全にモデル化できない可能性があるためである。我々は、各タイムステップで同じタイプの層のキャッシングと計算の決定をグループ化することでこの問題に対処している。しかし、これは異なる層タイプ間の依存関係の問題を完全に解決するものではなく、今後の研究でさらなる最適化の余地がある。
我々は、今後の研究で調査できる現象も強調している。それは、推論速度/品質のパレートフロントが、異なるキャリブレーションサンプル間のエラーの分散と相関しているように見える現象である。サンプルエラー曲線間の分散が高いアーキテクチャ/モダリティは、分散が低いものよりもフロントが狭くなる傾向がある。
5 Conclusion
我々はSmoothCacheを紹介する。これは、複数の拡散ソルバーと複数のモダリティに対応する、トレーニングを必要としないキャッシング技術である。キャリブレーション推論パスからの層ごとの表現誤差を活用することで、SmoothCacheは拡散プロセスにおける冗長性を特定し、出力特徴マップをキャッシュして再利用することを可能にし、計算コストの高い層の演算回数を削減する。 本稿の評価では、既存のモダリティ固有のキャッシング手法と同等またはそれ以上の性能を示している。
References
- Agarwal et al. [2023] Shubham Agarwal, Subrata Mitra, Sarthak Chakraborty, Srikrishna Karanam, Koyel Mukherjee, and Shiv Saini. Approximate caching for efficiently serving diffusion models. arXiv preprint arXiv:2312.04429, 2023.
- Agostinelli et al. [2023] Andrea Agostinelli, Timo I. Denk, Zalán Borsos, Jesse Engel, Mauro Verzetti, Antoine Caillon, Qingqing Huang, Aren Jansen, Adam Roberts, Marco Tagliasacchi, Matt Sharifi, Neil Zeghidour, and Christian Frank. Musiclm: Generating music from text, 2023.
- Chen et al. [2024a] Junsong Chen, Jincheng YU, Chongjian GE, Lewei Yao, Enze Xie, Zhongdao Wang, James Kwok, Ping Luo, Huchuan Lu, and Zhenguo Li. Pixart-$\alpha$: Fast training of diffusion transformer for photorealistic text-to-image synthesis. In The Twelfth International Conference on Learning Representations, 2024a.
- Chen et al. [2024b] Pengtao Chen, Mingzhu Shen, Peng Ye, Jianjian Cao, Chongjun Tu, Christos-Savvas Bouganis, Yiren Zhao, and Tao Chen. -dit: A training-free acceleration method tailored for diffusion transformers. arXiv preprint arXiv:2406.01125, 2024b.
- Evans et al. [2024] Zach Evans, Julian D Parker, CJ Carr, Zack Zukowski, Josiah Taylor, and Jordi Pons. Stable audio open. arXiv preprint arXiv:2407.14358, 2024.
- Fang et al. [2023] Gongfan Fang, Xinyin Ma, and Xinchao Wang. Structural pruning for diffusion models, 2023.
- He et al. [2024] Yefei He, Luping Liu, Jing Liu, Weijia Wu, Hong Zhou, and Bohan Zhuang. Ptqd: Accurate post-training quantization for diffusion models. Advances in Neural Information Processing Systems, 36, 2024.
- Ho et al. [2020] Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in neural information processing systems, 33:6840–6851, 2020.
- Huang et al. [2024] Ziqi Huang, Yinan He, Jiashuo Yu, Fan Zhang, Chenyang Si, Yuming Jiang, Yuanhan Zhang, Tianxing Wu, Qingyang Jin, Nattapol Chanpaisit, Yaohui Wang, Xinyuan Chen, Limin Wang, Dahua Lin, Yu Qiao, and Ziwei Liu. VBench: Comprehensive benchmark suite for video generative models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2024.
- Kim et al. [2019] Chris Dongjoo Kim, Byeongchang Kim, Hyunmin Lee, and Gunhee Kim. Audiocaps: Generating captions for audios in the wild. In NAACL-HLT, 2019.
- Lab and etc. [2024] PKU-Yuan Lab and Tuzhan AI etc. Open-sora-plan, 2024.
- Le et al. [2024] Matthew Le, Apoorv Vyas, Bowen Shi, Brian Karrer, Leda Sari, Rashel Moritz, Mary Williamson, Vimal Manohar, Yossi Adi, Jay Mahadeokar, et al. Voicebox: Text-guided multilingual universal speech generation at scale. Advances in neural information processing systems, 36, 2024.
- Li et al. [2024] Yanyu Li, Huan Wang, Qing Jin, Ju Hu, Pavlo Chemerys, Yun Fu, Yanzhi Wang, Sergey Tulyakov, and Jian Ren. Snapfusion: Text-to-image diffusion model on mobile devices within two seconds. Advances in Neural Information Processing Systems, 36, 2024.
- Liu et al. [2023a] Huadai Liu, Rongjie Huang, Xuan Lin, Wenqiang Xu, Maozong Zheng, Hong Chen, Jinzheng He, and Zhou Zhao. Vit-tts: visual text-to-speech with scalable diffusion transformer. arXiv preprint arXiv:2305.12708, 2023a.
- Liu et al. [2024] Haozhe Liu, Wentian Zhang, Jinheng Xie, Francesco Faccio, Mengmeng Xu, Tao Xiang, Mike Zheng Shou, Juan-Manuel Perez-Rua, and Jürgen Schmidhuber. Faster diffusion via temporal attention decomposition, 2024.
- Liu et al. [2023b] Xingchao Liu, Chengyue Gong, and qiang liu. Flow straight and fast: Learning to generate and transfer data with rectified flow. In The Eleventh International Conference on Learning Representations, 2023b.
- Lu et al. [2022a] Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. Dpm-solver: A fast ode solver for diffusion probabilistic model sampling in around 10 steps. Advances in Neural Information Processing Systems, 35:5775–5787, 2022a.
- Lu et al. [2022b] Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. Dpm-solver++: Fast solver for guided sampling of diffusion probabilistic models. arXiv preprint arXiv:2211.01095, 2022b.
- Ma et al. [2024a] Xinyin Ma, Gongfan Fang, Michael Bi Mi, and Xinchao Wang. Learning-to-cache: Accelerating diffusion transformer via layer caching. arXiv preprint arXiv:2406.01733, 2024a.
- Ma et al. [2024b] Xinyin Ma, Gongfan Fang, and Xinchao Wang. Deepcache: Accelerating diffusion models for free. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 15762–15772, 2024b.
- Ma et al. [2024c] Xin Ma, Yaohui Wang, Gengyun Jia, Xinyuan Chen, Ziwei Liu, Yuan-Fang Li, Cunjian Chen, and Yu Qiao. Latte: Latent diffusion transformer for video generation. arXiv preprint arXiv:2401.03048, 2024c.
- Manco et al. [2023] Ilaria Manco, Benno Weck, Seungheon Doh, Minz Won, Yixiao Zhang, Dmitry Bogdanov, Yusong Wu, Ke Chen, Philip Tovstogan, Emmanouil Benetos, Elio Quinton, György Fazekas, and Juhan Nam. The song describer dataset: a corpus of audio captions for music-and-language evaluation. In Machine Learning for Audio Workshop at NeurIPS 2023, 2023.
- Mo et al. [2023] Shentong Mo, Enze Xie, Ruihang Chu, Lanqing Hong, Matthias Niessner, and Zhenguo Li. Dit-3d: Exploring plain diffusion transformers for 3d shape generation. Advances in neural information processing systems, 36:67960–67971, 2023.
- Peebles and Xie [2023] William Peebles and Saining Xie. Scalable diffusion models with transformers. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 4195–4205, 2023.
- Rombach et al. [2022] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 10684–10695, 2022.
- Saharia et al. [2022] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily L Denton, Kamyar Ghasemipour, Raphael Gontijo Lopes, Burcu Karagol Ayan, Tim Salimans, et al. Photorealistic text-to-image diffusion models with deep language understanding. Advances in neural information processing systems, 35:36479–36494, 2022.
- Salimans and Ho [2022] Tim Salimans and Jonathan Ho. Progressive distillation for fast sampling of diffusion models. arXiv preprint arXiv:2202.00512, 2022.
- Selvaraju et al. [2024] Pratheba Selvaraju, Tianyu Ding, Tianyi Chen, Ilya Zharkov, and Luming Liang. Fora: Fast-forward caching in diffusion transformer acceleration. arXiv preprint arXiv:2407.01425, 2024.
- Shang et al. [2023] Yuzhang Shang, Zhihang Yuan, Bin Xie, Bingzhe Wu, and Yan Yan. Post-training quantization on diffusion models. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 1972–1981, 2023.
- Sohl-Dickstein et al. [2015] Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International conference on machine learning, pages 2256–2265. PMLR, 2015.
- Song et al. [2021] Jiaming Song, Chenlin Meng, and Stefano Ermon. Denoising diffusion implicit models. In International Conference on Learning Representations, 2021.
- Vaswani [2017] A Vaswani. Attention is all you need. Advances in Neural Information Processing Systems, 2017.
- Wang and Yang [2024] Wenhao Wang and Yi Yang. Vidprom: A million-scale real prompt-gallery dataset for text-to-video diffusion models. In Thirty-eighth Conference on Neural Information Processing Systems, 2024.
- Wimbauer et al. [2024] Felix Wimbauer, Bichen Wu, Edgar Schoenfeld, Xiaoliang Dai, Ji Hou, Zijian He, Artsiom Sanakoyeu, Peizhao Zhang, Sam Tsai, Jonas Kohler, et al. Cache me if you can: Accelerating diffusion models through block caching. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 6211–6220, 2024.
- Zhao et al. [2024] Xuanlei Zhao, Xiaolong Jin, Kai Wang, and Yang You. Real-time video generation with pyramid attention broadcast. arXiv preprint arXiv:2408.12588, 2024.
- Zheng et al. [2024] Zangwei Zheng, Xiangyu Peng, Tianji Yang, Chenhui Shen, Shenggui Li, Hongxin Liu, Yukun Zhou, Tianyi Li, and Yang You. Open-sora: Democratizing efficient video production for all, 2024.