AI画像生成技術は急速に発展していますが、モデルのサイズが大きくなるにつれて、一般ユーザーにとっての学習と使用コストが高騰しています。「Sana」と呼ばれる新しいテキストから画像へのフレームワークが登場し、4096×4096ピクセルもの超高解像度の画像を効率的に生成し、その速度は驚くべきもので、ノートパソコンのGPUでも動作します。

image.png

Sanaの中核となる設計は以下の通りです。

深度圧縮自己符号化器:従来の自己符号化器が画像を8倍に圧縮するのに対し、Sanaの自己符号化器は画像を32倍に圧縮できるため、潜在的なトークンの数を効果的に削減します。これは、超高解像度画像の効率的な学習と生成に不可欠です。

線形DiT:Sanaは、DiT内のすべての従来の注意機構を線形注意に置き換えました。これにより、品質を犠牲にすることなく、高解像度画像の処理効率が向上します。線形注意は計算量をO(N²)からO(N)に削減します。さらに、SanaはMix-FFNを採用し、3x3の深度畳み込みをMLPに統合してトークンの局所情報を集約し、位置エンコーディングを不要にしました。

デコーダー型テキストエンコーダー:Sanaは、従来のCLIPやT5の代わりに、Gemmaなどの最新のデコーダー型小型LLMをテキストエンコーダーとして使用しています。この方法により、モデルによるユーザープロンプトの理解と推論能力が向上し、複雑な人工指示とコンテキスト学習を通じて、画像とテキストの整合性が向上します。

効率的な学習とサンプリング戦略:SanaはFlow-DPM-Solverを採用してサンプリングステップを削減し、効率的なキャプションの注釈と選択方法を使用してモデルの収束を加速します。Sana-0.6Bモデルは、Flux-12Bなどの大規模拡散モデルよりも20倍小さく、100倍以上高速です。

image.png

Sanaの革新的な点は、以下の方法で推論遅延を大幅に削減したこと です。

アルゴリズムとシステムの協調的最適化:様々な最適化手段により、Sanaは4096x4096画像の生成時間を469秒から9.6秒に短縮し、最先端のモデルFluxよりも106倍高速です。

深度圧縮自己符号化器:SanaはAE-F32C32P1構造を使用し、画像を32倍に圧縮することで、トークンの数を大幅に削減し、学習と推論速度を向上させます。

線形注意:従来の自己注意機構を線形注意に置き換えることで、高解像度画像の処理効率が向上します。

Tritonによる高速化:Tritonを使用して線形注意モジュールの順方向と逆方向のプロセスカーネルを融合することで、学習と推論をさらに高速化します。

Flow-DPM-Solver:推論サンプリングステップを28~50ステップから14~20ステップに削減し、同時により良い生成結果を得ます。

Sanaのパフォーマンスは非常に優れています。1024x1024解像度では、Sana-0.6Bモデルのパラメーター数は5.9億個のみですが、全体的なパフォーマンスは0.64GenEvalに達し、多くのより大きなモデルに劣りません。さらに、Sana-0.6Bは16GBのノートパソコンGPUに展開でき、1024×1024解像度の画像生成に1秒未満しかかかりません。4K画像生成では、Sana-0.6Bのスループットは最先端の方法(FLUX)よりも100倍以上高速です。Sanaは速度だけでなく、画像品質においても競争力があり、文字のレンダリングや物体の詳細など、複雑なシーンでも満足のいく結果が得られます。

さらに、Sanaは強力なゼロショット言語転移能力も備えています。英語データのみで学習した場合でも、Sanaは中国語や絵文字のプロンプトを理解し、それに対応する画像を生成できます。

Sanaの登場により、高品質な画像生成のハードルが下がり、専門家と一般ユーザーの両方に強力なコンテンツ作成ツールを提供します。Sanaのコードとモデルは公開される予定です。

体験アドレス:https://nv-sana.mit.edu/

論文アドレス:https://arxiv.org/pdf/2410.10629

Github:https://github.com/NVlabs/Sana