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-DoF 카메라 제어가 가능한 제어 가능한 월드모델(2.6B 파라미터). 1분 길이의 720p 비디오 생성 가능. | 720p 비디오 |
| SANA‑Streaming | 720p, 1분 규모 스트림용 실시간 비디오-비디오 편집(2B 파라미터). | 720p 비디오 |
| Sol‑RL | 강화학습 래퍼(NVFP4 롤아웃, BF16 트레이닝)로 확산 모델 트레이닝 속도를 4배 이상 향상. | SANA, FLUX‑1, SD3.5‑L과 호환 |
주요 기술적 아이디어
- 선형 / 블록-인과 선형 어텐션 – DiT에서 2차 비용 어텐션을 대체하여 중간 수준의 GPU 메모리로 고해상도 생성 가능.
- DC‑AE (32배 압축) – 이미지를 극도로 적은 잠재 토큰으로 압축하는 경량 오토인코더로, 계산량을 추가로 절감.
- 디코더 전용 텍스트 인코더 – 최신 LLM 아키텍처를 활용해 텍스트-이미지 정렬을 강화하고, 컨텍스트 내 학습을 가능하게.
- sCM 증류 – 모델이 단일 확산 단계에서 고품질 샘플을 생성할 수 있도록 하는 트레이닝 레시피.
- 추론 시 스케일링 (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("a sunrise over mountains", 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
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트