OmniAvatar-14B
12ahmad
Texto a video
Modelo de 14.000 millones de parámetros para generar vídeos de avatares a partir de una imagen, una pista de audio y una descripción textual. Utiliza Wan2.1-T2V-14B como modelo base, Wav2Vec2 como codificador de audio y pesos LoRA para producir sincronización labial y animaciones corporales adaptadas al habla. Actualmente genera vídeo a 480p.
Como usar
Instala el repositorio y sus dependencias:
git clone [email protected]:Omni-Avatar/OmniAvatar.git
cd OmniAvatar
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
# Opcional: acelera el cálculo de atención
pip install flash_attn
Descarga el modelo base, el codificador de audio y los pesos de OmniAvatar:
mkdir pretrained_models
pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./pretrained_models/Wan2.1-T2V-14B
huggingface-cli download facebook/wav2vec2-base-960h --local-dir ./pretrained_models/wav2vec2-base-960h
huggingface-cli download OmniAvatar/OmniAvatar-14B --local-dir ./pretrained_models/OmniAvatar-14B
Ejecuta una inferencia a 480p:
torchrun --standalone --nproc_per_node=1 scripts/inference.py --config configs/inference.yaml --input_file examples/infer_samples.txt
Cada entrada de examples/infer_samples.txt debe seguir el formato [prompt]@@[img_path]@@[audio_path]. Se recomienda usar valores de CFG entre 4 y 6 y entre 20 y 50 pasos. Ejemplo optimizado para ocho GPU:
torchrun --standalone --nproc_per_node=8 scripts/inference.py --config configs/inference.yaml --input_file examples/infer_samples.txt --hp=sp_size=8,max_tokens=30000,guidance_scale=4.5,overlap_frame=13,num_steps=25,use_fsdp=True,tea_cache_l1_thresh=0.14,num_persistent_param_in_dit=7000000000
Funcionalidades
- Generación de vídeo de avatar guiada por audio, imagen y texto.
- Sincronización labial cuya consistencia puede ajustarse mediante la escala de audio.
- Control del comportamiento del personaje y del fondo mediante instrucciones textuales.
- Animación corporal adaptativa coordinada con el audio.
- Inferencia con una o varias GPU mediante paralelismo de secuencia.
- Compatibilidad con TeaCache para acelerar la generación.
- Uso opcional de FSDP y persistencia parcial de parámetros para reducir la memoria de GPU.
- Funciona con aproximadamente 8 GB de VRAM en su configuración de menor memoria; la configuración sin restricciones requiere alrededor de 36 GB.
Casos de uso
- Crear avatares parlantes a partir de retratos y grabaciones de voz.
- Producir presentadores virtuales para vídeos educativos o explicativos.
- Generar personajes digitales para narraciones y contenido audiovisual.
- Animar retratos con gestos corporales y sincronización labial controlados por texto.
- Prototipar asistentes, anfitriones o portavoces virtuales.