Stability-AI/generative-modelsView GitHub Homepage for Latest Official Releases
Stability AI에서 개발한 생성형 AI 모델 라이브러리로, Stable Diffusion XL, Stable Video Diffusion 등 다양한 이미지 및 비디오 생성 모델을 포함합니다.
MITPythongenerative-modelsStability-AI 26.3k Last Updated: May 20, 2025
Stability AI 생성 모델 프로젝트 상세 소개
프로젝트 개요
Stability AI의 생성 모델 라이브러리는 이미지 생성, 비디오 생성, 다중 시점 합성 등 다양한 고급 AI 생성 모델을 제공하는 오픈 소스 프로젝트입니다. 이 프로젝트는 모듈식 설계를 채택하여 다양한 확산 모델의 훈련 및 추론을 지원합니다.
핵심 기능
1. 모듈식 아키텍처
- 구성 기반 방식:
instantiate_from_config()
함수를 호출하여 하위 모듈을 구축하고 조합합니다. - 정리된 확산 모델 클래스:
LatentDiffusion
에서DiffusionEngine
으로 재구성되었습니다. - 통합 조건 처리:
GeneralConditioner
클래스는 모든 유형의 조건 입력을 처리합니다.
2. 개선된 모델 아키텍처
- 디노이저 프레임워크: 연속 시간 및 이산 시간 모델을 지원합니다.
- 독립적인 샘플러: 가이드와 샘플러를 분리합니다.
- 정리된 자동 인코딩 모델: 최적화된 인코더 아키텍처입니다.
지원 모델
SDXL (Stable Diffusion XL) 시리즈
- SDXL-base-1.0: 기본 모델, 1024x1024 해상도 이미지 생성을 지원합니다.
- SDXL-refiner-1.0: 세분화 모델, 이미지 후처리에 사용됩니다.
- SDXL-Turbo: 빠른 생성 모델입니다.
SVD (Stable Video Diffusion) 시리즈
- SVD: 이미지-비디오 모델, 14프레임 576x1024 해상도 비디오를 생성합니다.
- SVD-XT: 확장 버전, 25프레임 생성을 지원합니다.
SV3D (Stable Video 3D) 시리즈
- SV3D_u: 단일 이미지를 기반으로 한 궤도 비디오 생성
- SV3D_p: 카메라 경로 지정을 지원하는 3D 비디오 생성
SV4D (Stable Video 4D) 시리즈
- SV4D: 비디오-4D 확산 모델, 새로운 시점 비디오 합성에 사용됩니다.
- 40프레임 (5개의 비디오 프레임 × 8개의 카메라 시점) 576x576 해상도 생성
기술 아키텍처
디노이저 프레임워크
- 연속 시간 모델: 더 유연한 시간 샘플링을 지원합니다.
- 이산 시간 모델: 전통적인 확산 모델의 특수한 경우입니다.
- 구성 가능한 구성 요소:
- 손실 함수 가중치 (
denoiser_weighting.py
) - 네트워크 사전 조건 (
denoiser_scaling.py
) - 노이즈 레벨 샘플링 (
sigma_sampling.py
)
- 손실 함수 가중치 (
설치 및 사용
환경 요구 사항
- Python 3.10+
- PyTorch 2.0+
- CUDA 지원 GPU
설치 단계
git clone https://github.com/Stability-AI/generative-models.git
cd generative-models
# 가상 환경 생성
python3 -m venv .pt2
source .pt2/bin/activate
# 종속성 설치
pip3 install -r requirements/pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata
빠른 시작
텍스트-이미지 생성 (SDXL)
# 모델 가중치를 checkpoints/ 폴더에 다운로드
# Streamlit 데모 실행
streamlit run scripts/demo/sampling.py --server.port <your_port>
이미지-비디오 생성 (SVD)
# SVD 모델 다운로드
# 간단한 비디오 샘플링 실행
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png>
다중 시점 합성 (SV3D)
# SV3D_u (궤도 비디오)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_u
# SV3D_p (지정된 카메라 경로)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_p --elevations_deg 10.0
4D 비디오 합성 (SV4D)
python scripts/sampling/simple_video_sample_4d.py --input_path assets/sv4d_videos/test_video1.mp4 --output_folder outputs/sv4d
훈련 구성
지원되는 훈련 유형
- 픽셀 수준 확산 모델: 픽셀 공간에서 직접 훈련
- 잠재 확산 모델: 잠재 공간에서 훈련, 사전 훈련된 VAE 필요
- 조건부 생성 모델: 텍스트, 범주 등 다양한 조건을 지원합니다.
훈련 예시
# MNIST 조건부 생성 훈련
python main.py --base configs/example_training/toy/mnist_cond.yaml
# 텍스트-이미지 훈련
python main.py --base configs/example_training/txt2img-clipl.yaml
데이터 처리
데이터 파이프라인
- 대규모 훈련을 위한 데이터 파이프라인 지원
- WebDataset 형식의 tar 파일
- Map-style 데이터 세트 지원
데이터 형식
example = {
"jpg": x,
"txt": "a beautiful image"
}
모델 라이선스
- SDXL-1.0: CreativeML Open RAIL++-M 라이선스
- SDXL-0.9: 연구 라이선스
- SVD 시리즈: 연구 용도 라이선스
워터마크 감지
프로젝트는 invisible-watermark 라이브러리를 사용하여 생성된 이미지에 보이지 않는 워터마크를 삽입합니다.
# 워터마크 감지 환경 설치
python -m venv .detect
source .detect/bin/activate
pip install "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25"
pip install --no-deps invisible-watermark
# 워터마크 감지
python scripts/demo/detect.py <filename>
기술 특징
1. 고품질 생성
- SDXL은 1024x1024 고해상도 이미지 생성을 지원합니다.
- SVD는 고품질 비디오 생성을 지원합니다.
- SV3D/SV4D는 다중 시점 및 4D 비디오 합성을 지원합니다.
2. 유연한 조건 제어
- 텍스트, 이미지, 벡터 등 다양한 조건 입력을 지원합니다.
- 분류기 없는 가이드 (Classifier-free Guidance)
- 구성 가능한 조건 드롭아웃 비율
3. 고급 샘플링 기술
- 다양한 수치 솔버
- 구성 가능한 샘플링 단계 및 이산화 방법
- 가이드 래퍼 지원
4. 연구 친화적
- 자세한 기술 보고서 및 논문
- 오픈 소스 코드 및 모델 가중치
- 활발한 커뮤니티 지원
응용 시나리오
- 예술 창작: 텍스트-예술 이미지 생성
- 콘텐츠 제작: 이미지-비디오 콘텐츠 생성
- 3D 모델링: 다중 시점 이미지 생성
- 연구 개발: 확산 모델 알고리즘 연구
- 교육 훈련: AI 생성 기술 학습
프로젝트 장점
- 모듈식 설계: 확장 및 사용자 정의 용이
- 고성능: 최적화된 훈련 및 추론 코드
- 다중 모드 지원: 이미지, 비디오, 3D 등 다양한 생성 작업
- 지속적인 업데이트: 정기적인 새 모델 및 기능 출시
- 활발한 커뮤니티: 풍부한 문서 및 예제 코드
이 프로젝트는 현재 생성 AI 분야의 최첨단 기술을 대표하며, 연구자 및 개발자에게 생성 AI 기술을 탐구하고 적용할 수 있는 강력한 도구를 제공합니다.