Lance : le modèle unifié 3B de ByteDance pour la compréhension, la génération et l'édition d'images et de vidéos

Lance de ByteDance est un modèle multimodal unifié de 3B paramètres qui gère la compréhension, la génération et l'édition d'images/vidéos avec des benchmarks compétitifs.

ByteDance a open-sourcé Lance, un modèle multimodal unifié natif à 3B paramètres actifs qui gère la compréhension, la génération et l'édition d'images et de vidéos dans un cadre unique. Entraîné à partir de zéro avec une recette multi-tâches par étapes sur jusqu'à 128 GPU A100, Lance atteint des performances compétitives sur plusieurs benchmarks malgré sa taille relativement petite.

Pourquoi Lance est important

La plupart des modèles multimodaux actuels sont soit spécialisés (génération uniquement ou compréhension uniquement), soit nécessitent des nombres de paramètres massifs (7B–20B+) pour unifier les capacités. Lance démontre qu'un modèle 3B peut égaler ou dépasser des modèles plus grands dans les tâches de génération d'images, d'édition d'images, de génération de vidéos et de compréhension de vidéos. Ceci est significatif pour :

  • Efficacité de déploiement : besoins en VRAM plus faibles (GPU 40 Go+) et inférence plus rapide
  • Accessibilité à la recherche : budget de calcul plus petit pour l'entraînement et le réglage fin
  • Architecture unifiée : modèle unique pour plusieurs tâches sans têtes spécifiques aux tâches

Architecture et entraînement

Lance est un modèle unifié natif, ce qui signifie qu'il utilise une architecture unique pour les tâches de compréhension et de génération. Détails clés :

  • Paramètres actifs : 3B (pas les paramètres totaux, mais ceux activés pendant l'inférence)
  • Entraînement : recette multi-tâches par étapes à partir de zéro
  • Calcul : jusqu'à 128 GPU A100
  • Résolution : jusqu'à 768×768 pour les images, 480p à 12 FPS pour la vidéo

Tâches prises en charge

Lance prend en charge sept types de tâches prêts à l'emploi :

Tâche Description
t2i Génération Texte-à-Image
t2v Génération Texte-à-Vidéo
i2v Génération Image-à-Vidéo
image_edit Édition d'images
video_edit Édition de vidéos
x2t_image Compréhension d'images (légendage, VQA)
x2t_video Compréhension de vidéos (légendage, QA)

Installation et configuration

Prérequis

  • Python 3.10+
  • CUDA 12.4+
  • GPU avec au moins 40 Go de VRAM (testé sur A100)

Démarrage rapide

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

Téléchargez les poids du modèle depuis 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"]
)

Exemples d'inférence

Texte-à-Vidéo

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

Image-à-Vidéo (Nouveau !)

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

Texte-à-Image

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

Édition de vidéos

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

Compréhension d'images

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

Paramètres clés

Paramètre Défaut Description
MODEL_PATH downloads/Lance_3B Chemin vers les poids (Lance_3B ou Lance_3B_Video)
NUM_GPUS 1 Nombre de GPU
VALIDATION_NUM_TIMESTEPS 30 Étapes de débruitage
CFG_TEXT_SCALE 4.0 Échelle de guidage sans classifieur
NUM_FRAMES 50 Maximum 121 pour la vidéo
ENHANCE_PROMPT false Activer la réécriture de prompt (nécessite une clé API OpenAI)

Performances des benchmarks

Lance obtient des résultats compétitifs sur plusieurs benchmarks :

Génération d'images (GenEval)

  • Global : 0,90 (correspond à TUNA-7B, bat Janus-Pro-7B avec 0,80)
  • Couleurs : 0,97 (meilleur parmi tous les modèles)
  • Position : 0,87 (à égalité avec TUNA-7B)

Édition d'images (GEdit-Bench)

  • Moyenne : 7,30 (bat InternVL-U 1.7B avec 6,66 et BAGEL avec 6,52)

Génération de vidéos (VBench)

  • Score total : 85,11 (bat TUNA 1.5B avec 84,06 et Hunyuan Video avec 83,43)

Démo Gradio

Lance inclut une interface Gradio locale pour une utilisation interactive :

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

Cela fournit une interface web pour toutes les tâches prises en charge.

Feuille de route

L'équipe prévoit de publier le code de réglage fin, permettant la personnalisation pour des domaines ou tâches spécifiques.

Limitations

  • Projet de recherche, pas un produit fini
  • La qualité de sortie varie selon les prompts, les résolutions et la complexité du mouvement
  • Entraîné jusqu'à des images 768×768 et des vidéos 480p
  • Nécessite un GPU avec 40 Go+ de VRAM

Conclusion

Lance représente une étape significative vers des modèles multimodaux unifiés efficaces. Avec 3B paramètres actifs, il démontre que des modèles plus petits peuvent rivaliser avec des modèles beaucoup plus grands lorsqu'ils sont entraînés avec une recette multi-tâches bien conçue. Pour les développeurs et chercheurs souhaitant expérimenter avec la compréhension et la génération unifiées d'images/vidéos, Lance fournit un point de départ pratique et open-source.

Commencez : Dépôt GitHub | Modèle Hugging Face | Rapport technique

Source

bytedance/Lance : Un modèle multimodal unifié natif à 3B paramètres actifs pour la compréhension, la génération et l'édition d'images et de vidéos.