NVlabs/Sana
SANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformer
What is SANA?
SANA(およびその多数の拡張)は、NVIDIA Research が開発したオープンソースのコードベースで、高解像度画像および動画生成向けの効率的な拡散モデルのファミリーを実装しています。このリポジトリには、エンドツーエンドのトレーニングおよび推論パイプライン、モデルのチェックポイント、および Hugging Face Diffusers、ComfyUI、SGLang、Cosmos‑RL などの人気エコシステム向けの統合ヘルパーが同梱されています。
コアコンポーネント
| コンポーネント | 機能 | 一般的なサイズ/解像度 |
|---|---|---|
| SANA | テキストから画像への拡散、最大4K。Flux‑12Bと比較して約20倍少ないパラメータ数、約100倍高速な推論を主張。 | 1 K–4 K ピクセルの画像 |
| SANA‑1.5 | モデルアーキテクチャを変更せずに、トレーニングおよび推論時の計算量をスケーリングして品質を向上。 | SANAと同一 |
| SANA‑Sprint | sCM蒸留を用いた1ステップ/少数ステップ生成。H100で1024ピクセル画像あたり約0.1秒。 | 1 K–2 K ピクセルの画像 |
| SANA‑Video / LongSANA | ブロック線形アテンションを使用した拡散動画生成;リアルタイムで1分間の動画(約27FPS)をサポート。 | 720p–1080p、最大1分 |
| SANA‑Video 2.0 | ハイブリッド線形/ソフトマックスアテンションを備えた5B(および近日リリース予定の14B)テキストから動画/テキスト・画像から動画モデル。5B 720pのデモがオンラインで利用可能。 | 720p、8秒のクリップ |
| SANA‑WM | 6自由度カメラコントロールを備えた制御可能なワールドモデル(2.6Bパラメータ)。1分間の720p動画を生成可能。 | 720p動画 |
| SANA‑Streaming | 720p、1分規模のストリーム向けのリアルタイム動画から動画への編集(2Bパラメータ)。 | 720p動画 |
| Sol‑RL | リアリティ学習ラッパー(NVFP4ロールアウト、BF16トレーニング)で、拡散モデルのトレーニング速度を4倍以上に向上。 | SANA、FLUX‑1、SD3.5‑Lと互換 |
主な技術的アイデア
- 線形/ブロック因果線形アテンション – DiTにおける二次コストアテンションを置き換え、中程度のGPUメモリで高解像度生成を可能に。
- DC‑AE(32倍圧縮) – 画像を極めて少ない潜在トークンに圧縮する軽量オートエンコーダで、さらに計算量を削減。
- デコーダ専用テキストエンコーダ – 現代のLLMアーキテクチャを活用し、テキストと画像の整合性を強化し、コンテキスト内学習を可能に。
- sCM蒸留 – 1ステップの拡散プロセスで高品質なサンプルを生成できるトレーニング手法。
- 推論時スケーリング(SANA‑1.5) – 実行時に計算量(例:トークン単位またはレイヤー単位)を動的に調整し、品質と速度のトレードオフを実現。
どのような人が使うべきか?
- 研究者:効率的な拡散モデル、線形アテンション、マルチモーダル生成を探索する人。
- 開発者:低レイテンシや限られたハードウェア(例:4ビットまたは8ビット量子化モデルで8GB VRAMに収まる)で動作する画像/動画生成サービスを開発したい人。
- クリエイティブアーティスト:高解像度(2K–4K)画像生成や、迅速な短い動画合成を希望する人。
- ロボット工学/エンベデッドAIチーム:ワールドモデル生成(SANA‑WM)やRLベースのファインチューニング(Sol‑RL)に関心がある人。
すぐに始める(クイックスタートガイド)
- リポジトリをクローン
git clone https://github.com/NVlabs/Sana.git && cd Sana - 依存関係をインストール(リポジトリには
environment.yml/requirements.txtが用意されています)。 - モデルを選択 – チェックポイントは Hugging Face の Efficient‑Large‑Model 組織下にホストされています(例:
SANA-Video_2.0_5B_720p)。 - デモを実行 – READMEにリンクされた多数の Hugging Face Spaces があります;ローカル推論には Diffusers パイプラインが利用可能です:
from diffusers import SanaPipeline pipe = SanaPipeline.from_pretrained("Efficient-Large-Model/SANA-Video_2.0_5B_720p") video = pipe("mountains at sunrise", num_frames=24) - ファインチューニングまたはRLトレーニング –
docs/sol_rl/およびdocs/sana/のセクションに従い、DDP/FSDPスクリプト、4ビット量子化(CAME‑8bit)、または Cosmos‑RL によるRLロールアウトを実行。
コミュニティとサポート
- Discord: https://discord.gg/rde6eaE5Ta – 活発な議論、トラブルシューティング、お知らせ。
- Hugging Face Model Zoo: 全てのリリース済みチェックポイントと Diffusers 統合。
- デモサイト: READMEに SANA‑Sprint、SANA‑Video 2.0、SANA‑WM、SANA‑Streaming のウェブデモがリンクされています。
- 論文と引用 – arXivプレプリント(例:2509.24695、2605.30409)が複数掲載されており、科学的背景を提供しています。
ライセンス
コードは Apache 2.0 ライセンス(2025年1月11日変更)でリリースされ、商業利用、改変、再配布が許可されています。
TL;DR
SANAは、従来のモデルと比べてはるかに低い計算コストで高解像度の画像および動画生成を実現する、プロダクションレベルの効率重視の拡散フレームワークです。利用可能なチェックポイント、主要なMLライブラリとの統合、および単一ステップ生成、動画ストリーミング、ワールドモデル制御、RLベースのファインチューニング向けの拡張機能を備えています。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト