Lance: El modelo unificado de 3B de ByteDance para comprensión, generación y edición de imágenes y videos

Lance de ByteDance es un modelo multimodal unificado de 3B parámetros que maneja comprensión, generación y edición de imágenes/videos con benchmarks competitivos.

ByteDance ha lanzado como código abierto Lance, un modelo multimodal unificado nativo de 3B parámetros activos que maneja comprensión, generación y edición de imágenes y videos dentro de un solo marco. Entrenado desde cero con una receta de múltiples tareas por etapas en hasta 128 GPUs A100, Lance logra un rendimiento competitivo en múltiples benchmarks a pesar de su tamaño relativamente pequeño.

Por qué Lance es importante

La mayoría de los modelos multimodales actuales están especializados (solo generación o solo comprensión) o requieren un número masivo de parámetros (7B–20B+) para unificar capacidades. Lance demuestra que un modelo de 3B puede igualar o superar a modelos más grandes en tareas de generación de imágenes, edición de imágenes, generación de videos y comprensión de videos. Esto es significativo para:

  • Eficiencia de implementación: Menores requisitos de VRAM (GPU de 40GB+) e inferencia más rápida
  • Accesibilidad para investigación: Menor presupuesto computacional para entrenamiento y ajuste fino
  • Arquitectura unificada: Un solo modelo para múltiples tareas sin cabezales específicos por tarea

Arquitectura y entrenamiento

Lance es un modelo unificado nativo, lo que significa que usa una sola arquitectura tanto para tareas de comprensión como de generación. Detalles clave:

  • Parámetros activos: 3B (no parámetros totales, sino los activados durante la inferencia)
  • Entrenamiento: Receta de múltiples tareas por etapas desde cero
  • Cómputo: Hasta 128 GPUs A100
  • Resolución: Hasta 768×768 para imágenes, 480p a 12 FPS para video

Tareas compatibles

Lance admite siete tipos de tareas de forma nativa:

Tarea Descripción
t2i Generación de texto a imagen
t2v Generación de texto a video
i2v Generación de imagen a video
image_edit Edición de imágenes
video_edit Edición de videos
x2t_image Comprensión de imágenes (subtitulado, VQA)
x2t_video Comprensión de videos (subtitulado, QA)

Instalación y configuración

Requisitos

  • Python 3.10+
  • CUDA 12.4+
  • GPU con al menos 40GB de VRAM (probado en A100)

Inicio rápido

git clone https://github.com/bytedance/Lance.git
cd Lance

conda create -n Lance python=3.11 -y
conda activate Lance
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126
pip install -r requirements.txt
pip install flash-attn==2.8.3 --no-build-isolation

Descargar los pesos del modelo desde Hugging Face:

from huggingface_hub import snapshot_download

save_dir = "./downloads/"
repo_id = "bytedance-research/Lance"
cache_dir = save_dir + "/cache"

snapshot_download(
    cache_dir=cache_dir,
    local_dir=save_dir,
    repo_id=repo_id,
    local_dir_use_symlinks=False,
    resume_download=True,
    allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt", "*.pth"]
)

Ejemplos de inferencia

Texto a video

bash inference_lance.sh \
  --TASK_NAME t2v \
  --MODEL_PATH downloads/Lance_3B_Video \
  --RESOLUTION video_480p \
  --NUM_FRAMES 121 \
  --VIDEO_HEIGHT 480 \
  --VIDEO_WIDTH 848 \
  --SAVE_PATH_GEN results/t2v

Imagen a video (¡Nuevo!)

bash inference_lance.sh \
  --TASK_NAME i2v \
  --MODEL_PATH downloads/Lance_3B_Video \
  --RESOLUTION video_480p \
  --NUM_FRAMES 61 \
  --VIDEO_HEIGHT 480 \
  --VIDEO_WIDTH 848 \
  --SAVE_PATH_GEN results/i2v

Texto a imagen

bash inference_lance.sh \
  --TASK_NAME t2i \
  --MODEL_PATH downloads/Lance_3B \
  --RESOLUTION image_768res \
  --VIDEO_HEIGHT 768 \
  --VIDEO_WIDTH 768 \
  --SAVE_PATH_GEN results/t2i

Edición de video

bash inference_lance.sh \
  --TASK_NAME video_edit \
  --MODEL_PATH downloads/Lance_3B_Video \
  --RESOLUTION video_480p \
  --SAVE_PATH_GEN results/video_edit

Comprensión de imágenes

bash inference_lance.sh \
  --TASK_NAME x2t_image \
  --MODEL_PATH downloads/Lance_3B \
  --RESOLUTION image_768res \
  --SAVE_PATH_GEN results/x2t_image

Parámetros clave

Parámetro Valor por defecto Descripción
MODEL_PATH downloads/Lance_3B Ruta a los pesos (Lance_3B o Lance_3B_Video)
NUM_GPUS 1 Número de GPUs
VALIDATION_NUM_TIMESTEPS 30 Pasos de eliminación de ruido
CFG_TEXT_SCALE 4.0 Escala de guía libre de clasificador
NUM_FRAMES 50 Máximo 121 para video
ENHANCE_PROMPT false Habilitar reescritura de prompts (requiere clave API de OpenAI)

Rendimiento en benchmarks

Lance logra resultados competitivos en múltiples benchmarks:

Generación de imágenes (GenEval)

  • General: 0.90 (iguala a TUNA-7B, supera a Janus-Pro-7B con 0.80)
  • Colores: 0.97 (mejor entre todos los modelos)
  • Posición: 0.87 (empata con TUNA-7B)

Edición de imágenes (GEdit-Bench)

  • Promedio: 7.30 (supera a InternVL-U 1.7B con 6.66 y a BAGEL con 6.52)

Generación de video (VBench)

  • Puntuación total: 85.11 (supera a TUNA 1.5B con 84.06 y a Hunyuan Video con 83.43)

Demo de Gradio

Lance incluye una interfaz local de Gradio para uso interactivo:

python lance_gradio.py --server-name 0.0.0.0 --server-port 7860

Esto proporciona una interfaz web para todas las tareas compatibles.

Hoja de ruta

El equipo planea lanzar código de ajuste fino, permitiendo la personalización para dominios o tareas específicas.

Limitaciones

  • Proyecto de investigación, no un producto pulido
  • La calidad de salida varía según los prompts, resoluciones y complejidad del movimiento
  • Entrenado hasta imágenes de 768×768 y video de 480p
  • Requiere GPU con 40GB+ de VRAM

Conclusión

Lance representa un paso significativo hacia modelos multimodales unificados eficientes. Con 3B parámetros activos, demuestra que modelos más pequeños pueden competir con modelos mucho más grandes cuando se entrenan con una receta de múltiples tareas bien diseñada. Para desarrolladores e investigadores que buscan experimentar con comprensión y generación unificada de imágenes/videos, Lance proporciona un punto de partida práctico y de código abierto.

Comience aquí: Repositorio de GitHub | Modelo en Hugging Face | Informe técnico

Fuente

bytedance/Lance: Un modelo multimodal unificado nativo de 3B parámetros activos para comprensión, generación y edición de imágenes y videos.