Stability-AI/generative-modelsView GitHub Homepage for Latest Official Releases
Biblioteca de modelos de IA generativa desarrollada por Stability AI, que incluye Stable Diffusion XL, Stable Video Diffusion y otros modelos de generación de imágenes y videos.
MITPythongenerative-modelsStability-AI 26.2k Last Updated: May 20, 2025
Descripción Detallada del Proyecto de Modelos Generativos de Stability AI
Resumen del Proyecto
La biblioteca de modelos generativos de Stability AI es un proyecto de código abierto que proporciona una variedad de modelos de generación de IA avanzados, que incluyen generación de imágenes, generación de videos y síntesis de múltiples vistas. El proyecto adopta un diseño modular y admite el entrenamiento y la inferencia de varios modelos de difusión.
Características Principales
1. Arquitectura Modular
- Enfoque Impulsado por la Configuración: Construcción y combinación de submódulos mediante la llamada a la función
instantiate_from_config()
- Clase de Modelo de Difusión Limpiada: Refactorización de
LatentDiffusion
aDiffusionEngine
- Manejo Unificado de Condiciones: La clase
GeneralConditioner
maneja todos los tipos de entrada de condición
2. Arquitectura de Modelo Mejorada
- Marco de Eliminación de Ruido: Admite modelos de tiempo continuo y tiempo discreto
- Muestreadores Independientes: Separación del guiador del muestreador
- Modelo de Auto-codificación Limpiado: Arquitectura de codificador optimizada
Modelos Soportados
SDXL (Stable Diffusion XL) Serie
- SDXL-base-1.0: Modelo base, admite la generación de imágenes con resolución de 1024x1024
- SDXL-refiner-1.0: Modelo de refinamiento, utilizado para el post-procesamiento de imágenes
- SDXL-Turbo: Modelo de generación rápida
SVD (Stable Video Diffusion) Serie
- SVD: Modelo de imagen a video, genera videos de 14 fotogramas con resolución de 576x1024
- SVD-XT: Versión extendida, admite la generación de 25 fotogramas
SV3D (Stable Video 3D) Serie
- SV3D_u: Generación de video orbital basada en una sola imagen
- SV3D_p: Admite la generación de video 3D con ruta de cámara especificada
SV4D (Stable Video 4D) Serie
- SV4D: Modelo de difusión de video a 4D, utilizado para la síntesis de video de nueva vista
- Genera 40 fotogramas (5 fotogramas de video × 8 vistas de cámara) con resolución de 576x576
Arquitectura Técnica
Marco de Eliminación de Ruido
- Modelos de Tiempo Continuo: Admite un muestreo de tiempo más flexible
- Modelos de Tiempo Discreto: Caso especial de los modelos de difusión tradicionales
- Componentes Configurables:
- Peso de la función de pérdida (
denoiser_weighting.py
) - Precondicionamiento de la red (
denoiser_scaling.py
) - Muestreo de nivel de ruido (
sigma_sampling.py
)
- Peso de la función de pérdida (
Instalación y Uso
Requisitos del Entorno
- Python 3.10+
- PyTorch 2.0+
- GPU compatible con CUDA
Pasos de Instalación
git clone https://github.com/Stability-AI/generative-models.git
cd generative-models
# Crear entorno virtual
python3 -m venv .pt2
source .pt2/bin/activate
# Instalar dependencias
pip3 install -r requirements/pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata
Inicio Rápido
Generación de Imagen a partir de Texto (SDXL)
# Descargar los pesos del modelo a la carpeta checkpoints/
# Ejecutar la demostración de Streamlit
streamlit run scripts/demo/sampling.py --server.port <your_port>
Generación de Video a partir de Imagen (SVD)
# Descargar el modelo SVD
# Ejecutar un muestreo de video simple
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png>
Síntesis de Múltiples Vistas (SV3D)
# SV3D_u (Video Orbital)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_u
# SV3D_p (Ruta de Cámara Especificada)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_p --elevations_deg 10.0
Síntesis de Video 4D (SV4D)
python scripts/sampling/simple_video_sample_4d.py --input_path assets/sv4d_videos/test_video1.mp4 --output_folder outputs/sv4d
Configuración de Entrenamiento
Tipos de Entrenamiento Soportados
- Modelos de Difusión a Nivel de Píxel: Entrenamiento directamente en el espacio de píxeles
- Modelos de Difusión Latente: Entrenamiento en el espacio latente, requiere un VAE pre-entrenado
- Modelos de Generación Condicional: Admite múltiples condiciones como texto, categorías, etc.
Ejemplo de Entrenamiento
# Entrenamiento de Generación Condicional MNIST
python main.py --base configs/example_training/toy/mnist_cond.yaml
# Entrenamiento de Texto a Imagen
python main.py --base configs/example_training/txt2img-clipl.yaml
Procesamiento de Datos
Canalización de Datos
- Admite canalizaciones de datos para entrenamiento a gran escala
- Archivos tar en formato WebDataset
- Soporte para conjuntos de datos de estilo Map
Formato de Datos
example = {
"jpg": x,
"txt": "a beautiful image"
}
Licencia del Modelo
- SDXL-1.0: Licencia CreativeML Open RAIL++-M
- SDXL-0.9: Licencia de investigación
- SVD Serie: Licencia para uso de investigación
Detección de Marca de Agua
El proyecto utiliza la biblioteca invisible-watermark para incrustar marcas de agua invisibles en las imágenes generadas:
# Instalar el entorno de detección de marca de agua
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
# Detectar marca de agua
python scripts/demo/detect.py <filename>
Características Técnicas
1. Generación de Alta Calidad
- SDXL admite la generación de imágenes de alta resolución de 1024x1024
- SVD admite la generación de video de alta calidad
- SV3D/SV4D admite la síntesis de video multi-vista y 4D
2. Control de Condiciones Flexible
- Admite múltiples entradas de condición como texto, imágenes, vectores, etc.
- Guía independiente del clasificador (Classifier-free Guidance)
- Tasa de dropout condicional configurable
3. Técnicas de Muestreo Avanzadas
- Múltiples solucionadores numéricos
- Pasos de muestreo y métodos de discretización configurables
- Soporte para envoltorios de guía
4. Amigable para la Investigación
- Informes técnicos y documentos detallados
- Código fuente abierto y pesos del modelo
- Soporte activo de la comunidad
Escenarios de Aplicación
- Creación Artística: Generación de imágenes artísticas a partir de texto
- Producción de Contenido: Generación de contenido de video a partir de imágenes
- Modelado 3D: Generación de imágenes multi-vista
- Investigación y Desarrollo: Investigación de algoritmos de modelos de difusión
- Educación y Capacitación: Aprendizaje de tecnología de generación de IA
Ventajas del Proyecto
- Diseño Modular: Fácil de extender y personalizar
- Alto Rendimiento: Código de entrenamiento e inferencia optimizado
- Soporte Multimodal: Múltiples tareas de generación como imágenes, videos, 3D, etc.
- Actualizaciones Continuas: Publicación periódica de nuevos modelos y funciones
- Comunidad Activa: Amplia documentación y código de ejemplo
Este proyecto representa la tecnología más avanzada en el campo de la IA generativa actual, proporcionando a investigadores y desarrolladores poderosas herramientas para explorar y aplicar la tecnología de IA generativa.