Lumina-mGPT-2.0 : un modèle de génération d'images autorégressif pour gérer des tâches de génération d'images multiples

Introduction générale

Lumina-mGPT-2.0 est un projet open source développé conjointement par le Shanghai AI Laboratory (Laboratoire d'IA de Shanghai), l'Université chinoise de Hong Kong (CUHK) et d'autres organisations, hébergé sur GitHub et maintenu par l'équipe Alpha-VLLM. Il s'agit d'un modèle autorégressif autonome, entraîné à partir de zéro, dont la fonction principale est de générer des images diverses et de haute qualité à partir de textes. Lancé le 3 avril 2025, cet outil ne prend pas seulement en charge les images de base générées à partir de texte, mais gère également une variété de tâches telles que la génération de paires d'images, la génération axée sur les sujets, l'édition d'images à plusieurs tours et la génération contrôlée.

Lumina-mGPT-2.0:处理多种图像生成任务的自回归图像生成模型Lumina-mGPT-2.0:处理多种图像生成任务的自回归图像生成模型Lumina-mGPT-2.0:处理多种图像生成任务的自回归图像生成模型

 

Liste des fonctions

  • Prise en charge de la saisie de texte pour générer des images de haute qualité jusqu'à une résolution de 768x768.
  • Peut générer des paires d'images adaptées à des tâches de comparaison ou d'appariement.
  • Permet de générer des images pertinentes en fonction d'un thème spécifique.
  • Prise en charge de plusieurs cycles d'édition d'images, permettant aux utilisateurs d'ajuster les résultats générés étape par étape.
  • Comprend une fonction de génération contrôlée pour un ajustement précis des détails de l'image.
  • Un code affiné est fourni afin que les utilisateurs puissent optimiser le modèle en fonction de leurs besoins.
  • Prise en charge de l'inférence accélérée pour réduire le temps de génération des images.

 

Utiliser l'aide

Processus d'installation

Pour utiliser Lumina-mGPT-2.0 localement, vous devez d'abord créer l'environnement d'exécution. Voici les étapes détaillées :

  1. Télécharger le code du projet
    Ouvrez un terminal et entrez la commande suivante pour cloner le dépôt de code :
git clone https://github.com/Alpha-VLLM/Lumina-mGPT-2.0.git

Allez ensuite dans le répertoire du projet :

cd Lumina-mGPT-2.0
  1. Créer un environnement virtuel
    Créez un environnement séparé pour Python 3.10 avec Conda afin d'éviter les conflits :
conda create -n lumina_mgpt_2 python=3.10 -y

Activer l'environnement :

conda activate lumina_mgpt_2
  1. Installation des dépendances
    Installez les bibliothèques Python nécessaires à votre projet :
pip install -r requirements.txt

Ensuite, installez le module Flash Attention (pour les calculs accélérés) :

pip install https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.3cxx11abiFALSE-cp310-cp310-linux_x86_64.whl --no-build-isolation

Enfin, installez le projet en tant que paquet local :

pip install -e .
  1. Télécharger les poids MoVQGAN
    Le projet dépend des poids du modèle MoVQGAN. Créer un catalogue et le télécharger :
mkdir -p lumina_mgpt/movqgan/270M
wget -O lumina_mgpt/movqgan/270M/movqgan_270M.ckpt https://huggingface.co/ai-forever/MoVQGAN/resolve/main/movqgan_270M.ckpt
  1. test d'installation
    Exécutez la commande suivante pour vérifier si l'environnement est correct :
python generate_examples/generate.py --model_path Alpha-VLLM/Lumina-mGPT-2.0 --save_path save_samples/

Si aucune erreur n'est signalée, l'installation a réussi.

Comment utiliser les principales fonctionnalités

La fonction principale de Lumina-mGPT-2.0 est de générer des images à partir de textes. Voici le fonctionnement détaillé :

  • Génération d'images de base
    Exécutez le script de génération dans le terminal et entrez une description textuelle. Par exemple, vous souhaitez générer l'image "Ligne d'horizon de la ville la nuit, toute illuminée" :
python generate_examples/generate.py --model_path Alpha-VLLM/Lumina-mGPT-2.0 --save_path save_samples/ --cfg 4.0 --top_k 4096 --temperature 1.0 --width 768 --height 768 --prompt "City skyline at night with bright lights."

Paramètre Description :

  • --model_path: Chemins du modèle.
  • --save_pathRépertoire dans lequel l'image est sauvegardée.
  • --cfg: corrélation texte-image, valeur par défaut 4.0, plus la valeur est grande, plus la description est proche.
  • --top_k: Contrôle la diversité des générations, par défaut 4096.
  • --temperature: contrôle le caractère aléatoire, valeur par défaut 1.0.
  • --width répondre en chantant --heightRésolution : Réglez la résolution sur un maximum de 768x768.
  • --promptDescription textuelle : description textuelle, en anglais ou en chinois.
    Les images générées sont enregistrées dans le fichier save_samples Dossier.
  • génération accélérée
    Pour générer des images plus rapidement, vous pouvez utiliser deux options d'accélération :
  • augmenter --speculative_jacobiActiver le décodage spéculatif de Jacobi pour réduire le temps de génération.
  • augmenter --quantPermet la quantification du modèle afin de réduire l'utilisation de la mémoire graphique.
    Exemple de commande :
python generate_examples/generate.py --model_path Alpha-VLLM/Lumina-mGPT-2.0 --save_path save_samples/ --cfg 4.0 --top_k 4096 --temperature 1.0 --width 768 --height 768 --speculative_jacobi --quant

Données de test officielles (basées sur la carte graphique A100) :

  • Génération normale : 694 secondes, en utilisant 80 Go de mémoire vidéo.
  • Décodage spéculatif supplémentaire : 324 secondes, 79,2 Go de mémoire vidéo.
  • Plus le décodage spéculatif et la quantification : 304 secondes, 33,8 Go de mémoire vidéo.
  • Plusieurs cycles d'édition et de génération contrôlée
    Prise en charge de plusieurs cycles d'ajustement de l'image. Par exemple, il est possible de générer d'abord une image, puis de modifier certains détails à l'aide de la nouvelle description. Les opérations spécifiques doivent se référer à generate_examples ou consultez la documentation officielle ! <项目根目录>/README.md.
  • Affiner le modèle
    Si vous souhaitez optimiser le modèle avec vos propres données, vous pouvez vous référer à la rubrique <项目根目录>/TRAIN.md Documentation. Elle détaille les étapes de la mise au point, y compris la préparation des données et les commandes d'entraînement.

flux de travail

  1. Suivez les étapes pour installer l'environnement et les dépendances.
  2. Télécharger les poids MoVQGAN.
  3. Saisissez une description textuelle et exécutez la commande generate.
  4. Vérifiez les résultats, ajustez les paramètres ou effectuez plusieurs séries de modifications.

Si vous rencontrez des problèmes, consultez la documentation sur GitHub ou les discussions de la communauté. L'ensemble du processus est clair et adapté aux débutants comme aux utilisateurs professionnels.

 

scénario d'application

  1. Conception créative
    Les concepteurs ont saisi l'expression "A l'intérieur d'une future station spatiale" pour générer des dessins conceptuels qui serviront d'inspiration pour le projet.
  2. recherche universitaire
    Les chercheurs l'utilisent pour tester les capacités de génération d'images des modèles autorégressifs ou pour affiner les modèles pour les expériences.
  3. création de contenu
    Les blogueurs saisissent "spring garden" pour générer des images afin d'améliorer l'effet visuel de l'article.
  4. Personnalisation
    L'utilisateur génère des images spécifiques à un thème, telles que des "affiches publicitaires avec des logos d'entreprise", par le biais de plusieurs cycles d'édition.

 

QA

  1. Quel est le matériel nécessaire ?
    Il est recommandé d'utiliser des GPU très performants tels que le A100, avec au moins 40 Go de mémoire vidéo.
  2. Les images générées sont-elles disponibles dans le commerce ?
    Le projet utilise le protocole Apache 2.0 et l'utilisation commerciale est autorisée, sous réserve des termes de l'accord.
  3. Pourquoi le temps de génération est-il long ?
    Il faut quelques minutes pour générer une image de 768x768 avec les paramètres par défaut. Cela peut être fait avec la fonction --speculative_jacobi répondre en chantant --quant Accélération.
  4. Prend-il en charge la description chinoise ?
    Nous sommes d'accord, mais la description en anglais peut être plus précise parce que les données d'entraînement du modèle sont principalement en anglais.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...