BestWishYsh/Helios-Distilled
Helios-Distilled es la variante optimizada para eficiencia de Helios, un modelo de generación de video de 14B parámetros orientado a síntesis de video largo en tiempo real. Genera video a partir de texto y también admite flujos imagen-a-video y video-a-video, usando una canalización autoregresiva por fragmentos de 33 fotogramas. Frente a Helios-Base, esta versión destilada prioriza velocidad y menor consumo de memoria mediante predicción x0, HeliosDMDScheduler y muestreo multiescala más agresivo. La tarjeta reporta generación de escala de minutos con coherencia fuerte y hasta 19,5 FPS en una H100 para Helios, con modo de baja VRAM de alrededor de 6 GB mediante group offloading.
Como usar
Instalación y uso básico con Diffusers:
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("BestWishYsh/Helios-Distilled", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]
Descarga con Hugging Face CLI:
pip install "huggingface_hub[cli]"
huggingface-cli download BestWishYSH/Helios-Distilled --local-dir BestWishYSH/Helios-Distilled
Ejemplo de inferencia texto-a-video con bajo consumo de VRAM:
CUDA_VISIBLE_DEVICES=0 python infer_helios.py \
--base_model_path "BestWishYsh/Helios-Distilled" \
--transformer_path "BestWishYsh/Helios-Distilled" \
--sample_type "t2v" \
--prompt "A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean." \
--num_frames 240 \
--guidance_scale 1.0 \
--is_enable_stage2 \
--pyramid_num_inference_steps_list 2 2 2 \
--is_amplify_first_chunk \
--output_folder "./output_helios/helios-distilled" \
--enable_low_vram_mode \
--group_offloading_type "leaf_level"
Ejemplo con HeliosPyramidPipeline:
import torch
from diffusers import AutoModel, HeliosPyramidPipeline
from diffusers.utils import export_to_video
vae = AutoModel.from_pretrained("BestWishYsh/Helios-Distilled", subfolder="vae", torch_dtype=torch.float32)
pipeline = HeliosPyramidPipeline.from_pretrained(
"BestWishYsh/Helios-Distilled",
vae=vae,
torch_dtype=torch.bfloat16
)
pipeline.to("cuda")
prompt = "A vibrant tropical fish swimming gracefully among colorful coral reefs in a clear, turquoise ocean."
output = pipeline(
prompt=prompt,
num_frames=240,
pyramid_num_inference_steps_list=[2, 2, 2],
guidance_scale=1.0,
is_amplify_first_chunk=True,
generator=torch.Generator("cuda").manual_seed(42),
).frames[0]
export_to_video(output, "helios_distilled_t2v_output.mp4", fps=24)
Funcionalidades
- Generación texto-a-video con soporte adicional para imagen-a-video y video-a-video.
- Modelo Helios de 14B parámetros destilado para mayor eficiencia.
- Canalización autoregresiva que genera 33 fotogramas por fragmento; se recomienda usar `num_frames` múltiplo de 33.
- Soporta Diffusers mediante `HeliosPyramidPipeline` y `ModularPipeline`.
- Compatible con group offloading para reducir VRAM, con ejemplo de ejecución en torno a 6 GB.
- Soporta paralelismo de contexto en varias GPU con Ulysses Attention, Ring Attention, Unified Attention y Ulysses Anything Attention.
- Integración documentada con vLLM-Omni y SGLang-Diffusion.
- Licencia Apache 2.0 y pesos en formato Safetensors.
Casos de uso
- Crear videos largos a partir de prompts de texto con coherencia temporal.
- Prototipar generación de video en GPU con memoria limitada mediante group offloading.
- Generar variaciones de video desde una imagen inicial en flujos imagen-a-video.
- Transformar o extender clips existentes mediante video-a-video.
- Evaluar pipelines de inferencia de difusión de video en Diffusers, vLLM-Omni o SGLang-Diffusion.