Allgemeine Einführung
Lumina-mGPT-2.0 ist ein Open-Source-Projekt, das gemeinsam vom Shanghai AI Laboratory (Shanghai AI Laboratory), der Chinese University of Hong Kong (CUHK) und anderen Organisationen entwickelt, auf GitHub gehostet und vom Alpha-VLLM-Team gepflegt wird. Es handelt sich um ein eigenständiges, von Grund auf trainiertes autoregressives Modell mit der Kernfunktion, vielfältige und hochwertige Bilder aus Text zu erzeugen. Das am 3. April 2025 veröffentlichte Tool unterstützt nicht nur grundlegende textgenerierte Bilder, sondern bewältigt auch eine Vielzahl von Aufgaben wie die Generierung von Bildpaaren, die themenorientierte Generierung, die Bildbearbeitung in mehreren Runden und die kontrollierte Generierung.
Funktionsliste
- Unterstützt die Eingabe von Text, um Bilder in hoher Qualität mit einer Auflösung von bis zu 768x768 zu erzeugen.
- Kann Bildpaare erzeugen, die für Vergleichs- oder Abgleichsaufgaben geeignet sind.
- Bietet eine themengesteuerte Generierung, um relevante Bilder auf der Grundlage eines bestimmten Themas zu erzeugen.
- Unterstützt mehrere Runden der Bildbearbeitung, so dass der Benutzer die erzeugten Ergebnisse Schritt für Schritt anpassen kann.
- Enthält die Funktion Controlled Generation für die präzise Einstellung von Bilddetails.
- Es wird ein fein abgestimmter Code zur Verfügung gestellt, damit die Nutzer das Modell nach ihren Bedürfnissen optimieren können.
- Unterstützt beschleunigte Inferenz zur Verkürzung der Bilderzeugungszeit.
Hilfe verwenden
Einbauverfahren
Um Lumina-mGPT-2.0 lokal zu verwenden, müssen Sie zunächst die Laufzeitumgebung erstellen. Nachfolgend finden Sie die detaillierten Schritte:
- Projektcode herunterladen
Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um das Code-Repository zu klonen:
git clone https://github.com/Alpha-VLLM/Lumina-mGPT-2.0.git
Wechseln Sie dann in das Projektverzeichnis:
cd Lumina-mGPT-2.0
- Erstellen einer virtuellen Umgebung
Erstellen Sie eine separate Umgebung für Python 3.10 mit Conda, um Konflikte zu vermeiden:
conda create -n lumina_mgpt_2 python=3.10 -y
Aktivieren Sie die Umwelt:
conda activate lumina_mgpt_2
- Installation von Abhängigkeiten
Installieren Sie die für Ihr Projekt benötigten Python-Bibliotheken:
pip install -r requirements.txt
Als Nächstes installieren Sie das Modul Flash Attention (für beschleunigte Berechnungen):
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
Schließlich installieren Sie das Projekt als lokales Paket:
pip install -e .
- MoVQGAN-Gewichte herunterladen
Das Projekt hängt von den MoVQGAN-Modellgewichten ab. Erstellen Sie einen Katalog und laden Sie ihn herunter:
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
- Probeaufbau
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Umgebung in Ordnung ist:
python generate_examples/generate.py --model_path Alpha-VLLM/Lumina-mGPT-2.0 --save_path save_samples/
Wenn keine Fehler gemeldet werden, war die Installation erfolgreich.
Verwendung der wichtigsten Funktionen
Die Hauptfunktion von Lumina-mGPT-2.0 ist es, Bilder aus Text zu erzeugen. Im Folgenden wird die Funktionsweise im Detail beschrieben:
- Grundlegende Bilderzeugung
Starten Sie das Generierungsskript im Terminal und geben Sie eine Textbeschreibung ein. Sie möchten zum Beispiel das Bild "City skyline at night, all lit up" erzeugen:
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."
Parameter Beschreibung:
--model_path
: Modellpfade.--save_path
: Das Verzeichnis, in dem das Bild gespeichert ist.--cfg
Text-Bild-Korrelation, Standardwert 4.0, je größer der Wert, desto näher an der Beschreibung.--top_k
Generationsvielfalt: Steuert die Generationsvielfalt, Standardwert 4096.--temperature
: Steuert die Zufälligkeit, Standardwert 1.0.--width
im Gesang antworten--height
Auflösung: Stellen Sie eine maximale Auflösung von 768x768 ein.--prompt
Textbeschreibung, unterstützt Englisch oder Chinesisch.
Die erzeugten Bilder werden in der Dateisave_samples
Mappe.- beschleunigte Erzeugung
Um Bilder schneller zu erzeugen, können Sie zwei Beschleunigungsoptionen verwenden: - erhöhen.
--speculative_jacobi
Spekulative Jacobi-Dekodierung aktivieren, um die Generierungszeit zu reduzieren. - erhöhen.
--quant
Modellquantisierung aktivieren, um den Grafikspeicherverbrauch zu reduzieren.
Beispielbefehl:
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
Offizielle Testdaten (basierend auf einer A100-Grafikkarte):
- Normale Generierung: 694 Sekunden, mit 80 GB Videospeicher.
- Plus spekulative Dekodierung: 324 Sekunden, 79,2 GB Videospeicher.
- Plus spekulative Dekodierung und Quantisierung: 304 Sekunden, 33,8 GB Videospeicher.
- Mehrere Bearbeitungsrunden und kontrollierte Generierung
Unterstützt mehrere Runden der Bildanpassung. Sie können z. B. zunächst ein Bild erstellen und dann einige Details mit der neuen Beschreibung ändern. Spezifische Operationen müssen sich aufgenerate_examples
oder schauen Sie sich die offizielle Dokumentation an!<项目根目录>/README.md
. - Feinabstimmung des Modells
Wenn Sie das Modell mit Ihren eigenen Daten optimieren wollen, können Sie sich auf die<项目根目录>/TRAIN.md
Dokumentation. Sie enthält detaillierte Feinabstimmungsschritte, einschließlich Datenvorbereitung und Trainingsbefehle.
Arbeitsablauf
- Folgen Sie den Schritten zur Installation der Umgebung und der Abhängigkeiten.
- MoVQGAN-Gewichte herunterladen.
- Geben Sie eine Textbeschreibung ein und führen Sie den Befehl generate aus.
- Überprüfen Sie die Ergebnisse, passen Sie Parameter an oder führen Sie mehrere Bearbeitungsrunden durch.
Wenn Sie auf Probleme stoßen, lesen Sie die Dokumentation auf GitHub oder die Diskussionen in der Community. Der gesamte Prozess ist klar und für Anfänger und professionelle Nutzer geeignet.
Anwendungsszenario
- Kreatives Design
Die Designer gaben "Inside a future space station" ein, um konzeptionelle Zeichnungen zu erstellen, die als Inspiration für das Projekt dienen sollten. - akademische Forschung
Forscher nutzen es, um die Bilderzeugungsfähigkeiten von autoregressiven Modellen zu testen oder um Modelle für Experimente fein abzustimmen. - Erstellung von Inhalten
Blogger geben "Frühlingsgarten" ein, um Bilder zu erzeugen, die die visuelle Wirkung des Artikels verstärken. - Personalisierung
Der Nutzer erstellt in mehreren Bearbeitungsrunden themenspezifische Bilder, z. B. "Werbeplakate mit Firmenlogos".
QA
- Welche Hardware-Unterstützung ist erforderlich?
Empfehlenswert sind Hochleistungs-GPUs wie der A100 mit mindestens 40 GB Videospeicher, der zwar von der CPU betrieben werden kann, aber langsam ist. - Sind die erzeugten Bilder im Handel erhältlich?
Das Projekt verwendet das Apache 2.0-Protokoll, und die kommerzielle Nutzung ist unter den Bedingungen der Vereinbarung gestattet. - Warum die lange Generationszeit?
Es dauert ein paar Minuten, um ein 768x768-Bild mit den Standardeinstellungen zu erzeugen. Dies kann mit der Funktion--speculative_jacobi
im Gesang antworten--quant
Beschleunigung. - Unterstützt es die chinesische Beschreibung?
Unterstützt, aber die englische Beschreibung ist möglicherweise genauer, da die Trainingsdaten des Modells überwiegend auf Englisch sind.