BAGEL ist ein multimodales Open-Source-Basismodell, das vom ByteDance Seed-Team entwickelt wurde und auf GitHub gehostet wird. Es integriert Textverständnis, Bilderzeugung und Editierfunktionen, um cross-modale Aufgaben zu unterstützen. Das Modell hat 7B aktive Parameter (von insgesamt 14B Parametern) und wurde auf großen, verschachtelten multimodalen Daten mit Hilfe der Mixture-of-Transformer-Experts (MoT)-Architektur trainiert.BAGEL zeigt gute Leistungen bei multimodalen Verstehens- und Generierungsaufgaben und übertrifft die Qwen2.5-VL Es unterstützt fortgeschrittene Funktionen wie die Bearbeitung von Freiform-Bildern, die Erzeugung von Videosequenzen und räumliches 3D-Verständnis und ist für Entwickler und Forscher geeignet, die KI-Anwendungen erforschen. Das Projekt bietet ausführliche Installations- und Argumentationsanleitungen, die den Benutzern einen schnellen Einstieg ermöglichen.
Funktionsliste
- Unterstützt die Text-zu-Bild-Generierung, die auf der Grundlage von Texteingaben hochwertige Bilder erzeugen kann.
- Bietet eine Bildverstehensfunktion, mit der Sie den Inhalt von Bildern analysieren und damit verbundene Fragen beantworten können.
- Unterstützt die Bearbeitung von Freiform-Bildern und die Änderung von Bilddetails durch Textbefehle.
- Ermöglicht die Erstellung von Videosequenzen, die dynamische Videoinhalte auf der Grundlage von Text erzeugen können.
- Bietet multimodale Argumentationsfähigkeiten zur Verschmelzung von Text-, Bild- und Videodaten für komplexe Aufgaben.
- Unterstützt das räumliche 3D-Verständnis für Multi-View-Compositing und Weltnavigationsaufgaben.
- Bietet Evaluierungsskripte für Visual Language Modelling (VLM), Text-zu-Bild (T2I) und Bildbearbeitungsbenchmarking.
- Open-Source-Code und Modellgewichte, die benutzerdefiniertes Training und Feinabstimmung ermöglichen.
Hilfe verwenden
Einbauverfahren
Um BAGEL zu verwenden, müssen Sie die relevanten Abhängigkeiten in Ihrer lokalen Umgebung installieren und konfigurieren. Im Folgenden finden Sie die detaillierten Installationsschritte:
- Klon-Lager
Klonen Sie das BAGEL-Projekt lokal mit Git:git clone https://github.com/bytedance-seed/BAGEL.git cd BAGEL
- Erstellen einer virtuellen Umgebung
Erstellen Sie eine Python 3.10 Umgebung mit Conda und aktivieren Sie diese:conda create -n bagel python=3.10 -y conda activate bagel
- Installation von Abhängigkeiten
Installieren Sie die erforderlichen Python-Bibliotheken, indem Sie den folgenden Befehl im Projektverzeichnis ausführen:pip install -r requirements.txt
- Download Modellgewichte
Die Modellgewichte von BAGEL werden auf Hugging Face gehostet. Führen Sie das folgende Python-Skript aus, um das Modell herunterzuladen:from huggingface_hub import snapshot_download save_dir = "/path/to/save/BAGEL-7B-MoT" repo_id = "ByteDance-Seed/BAGEL-7B-MoT" 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"] )
Oberbefehlshaber (Militär)
/path/to/save/BAGEL-7B-MoT
Ersetzen Sie durch den lokalen Pfad, in dem Sie das Modell speichern möchten. - Überprüfen der Installation
Sobald die Installation abgeschlossen ist, öffnen Sie das Projektverzeichnisinference.ipynb
Datei zu erstellen, befolgen Sie die Richtlinien im Notizbuch, um den Beispielcode auszuführen und zu überprüfen, ob das Modell korrekt geladen wird.
Verwendung
Die Kernfunktionen von BAGEL werden über Jupyter Notebook oder Python-Skripte aufgerufen. Nachfolgend finden Sie einen detaillierten Ablauf der Hauptfunktionen:
1. die Generierung von Text in Bild
BAGEL unterstützt die Erzeugung von Bildern aus Textaufforderungen. Zum Beispiel kann die inference.ipynb
Nachdem Sie das Modell geladen haben, geben Sie den folgenden Code ein:
prompt = "一张夕阳下的海滩,椰树摇曳,浪花拍岸"
image = model.generate_image(prompt)
image.save("output/beach_sunset.png")
- Verfahren::
- Stellen Sie sicher, dass das Modell geladen ist.
- Geben Sie eine Textaufforderung in das Notizbuch ein.
- Führen Sie den Generierungscode aus, und das Modell gibt das Bild aus und speichert es unter dem angegebenen Pfad.
- Überprüft die Qualität und den Inhalt des ausgegebenen Bildes auf Übereinstimmung mit den Vorgaben.
2. das Verständnis der Bilder
BAGEL kann Bilder analysieren und damit verbundene Fragen beantworten. Laden Sie zum Beispiel ein Bild hoch und stellen Sie eine Frage:
image_path = "sample_image.jpg"
question = "图片中的主要物体是什么?"
answer = model.analyze_image(image_path, question)
print(answer)
- Verfahren::
- Bereiten Sie ein Bild vor und geben Sie den Pfad an.
- Geben Sie die Frage ein und führen Sie den Code aus.
- Das Modell gibt eine Antwort, die auf dem Inhalt des Bildes basiert, z. B. "Das Hauptobjekt auf dem Bild ist eine Katze".
3. die Bildbearbeitung
BAGEL unterstützt die Bearbeitung von Bildern durch Textbefehle. Zum Beispiel kann der Hintergrund eines Bildes durch einen Wald ersetzt werden:
image_path = "input_image.jpg"
instruction = "将背景替换为郁郁葱葱的森林"
edited_image = model.edit_image(image_path, instruction)
edited_image.save("output/edited_forest.png")
- Verfahren::
- Laden Sie das zu bearbeitende Bild hoch.
- Geben Sie spezifische Bearbeitungsanweisungen ein.
- Führen Sie den Code aus und prüfen Sie, ob das Ausgabebild den Anforderungen entspricht.
- Hinweis: Bei der aktuellen Bildbearbeitung kann es zu einem Verlust an Schärfe kommen, aber der Effekt wird noch optimiert.
4. die Erstellung von Videosequenzen
BAGEL unterstützt die textbasierte Generierung von Videosequenzen. Beispiel:
prompt = "一只猫在草地上追逐蝴蝶"
video = model.generate_video(prompt)
video.save("output/cat_chasing_butterfly.mp4")
- Verfahren::
- Geben Sie die Aufforderung zur Videoerstellung ein.
- Wenn der generierte Code ausgeführt wird, gibt das Modell kurze Videosequenzen aus.
- Überprüfen Sie, ob der Inhalt des Videos mit der Beschreibung übereinstimmt.
5. die Bewertung der Modellleistung
BAGEL stellt Evaluierungsskripte zur Verfügung, um die Leistung des Modells beim Verstehen visueller Sprache, bei der Bilderzeugung und bei Bearbeitungsaufgaben zu testen. Führen Sie die Evaluierung durch:
cd EVAL
python run_benchmarks.py
- Verfahren::
- gehen in
EVAL
Katalog. - Führen Sie das Auswertungsskript aus, um zu sehen, wie das Modell in Standard-Benchmark-Tests abschneidet.
- Die Ergebnisse werden im Terminal angezeigt oder in einer Protokolldatei gespeichert.
- gehen in
caveat
- Stellen Sie die Hardware-Unterstützung sicher: BAGEL erfordert GPU-Beschleunigung, empfohlen werden NVIDIA-GPUs mit mindestens 16 GB Videospeicher.
- Prüfen Sie die Netzwerkverbindung: Das Herunterladen von Modellgewichten erfordert ein stabiles Netzwerk.
- Referenzdokument: Projekt im
README.md
im Gesang antworteninference.ipynb
Enthält detaillierte Codebeispiele und Parameterbeschreibungen. - Community-Support: Bei Fragen können Sie einen Fehler auf der GitHub Issues-Seite melden oder die Diskussion auf Hugging Face verfolgen. [](https://github.com/ByteDance-Seed/Bagel)
Anwendungsszenario
- Erstellung von Inhalten
BAGEL kann verwendet werden, um Grafiken für Blogs, Inhalte für soziale Medien oder Videoclips zu erstellen. Ersteller geben Textbeschreibungen ein und generieren schnell Bilder oder kurze Videos, die zum Thema passen, was Zeit bei der Gestaltung spart. - Bildung und Forschung
Forscher können BAGEL nutzen, um multimodale KI-Experimente durchzuführen, die die Fähigkeit von Text zur Interaktion mit Bildern testen. Studierende können durch offenen Quellcode mehr über die Entwicklung und den Einsatz von KI-Modellen erfahren. - Produkt-Prototyping
Entwickler können auf der Grundlage von BAGEL interaktive Anwendungen erstellen, wie z. B. intelligente Bildbearbeitungswerkzeuge oder textbasierte Videoanwendungen für das Rapid Product Prototyping. - Spieleentwicklung
Das räumliche 3D-Verständnis und die Bilderzeugungsfähigkeiten von BAGEL können zur Generierung von Spielszenen oder dynamischem Material verwendet werden, was die Entwicklungskosten senkt.
QA
- Welche Sprachen werden von BAGEL unterstützt?
BAGEL unterstützt hauptsächlich die englische und chinesische Texteingabe und -ausgabe. Die Unterstützung für andere Sprachen kann aufgrund der begrenzten Trainingsdaten weniger effektiv sein. - Wie viele Computerressourcen werden benötigt?
Für die Ausführung von BAGEL wird ein Grafikprozessor mit mindestens 16 GB Videospeicher empfohlen; CPUs können langsamer arbeiten und sind für die Erstellung von Aufgaben nicht geeignet. - Wie kann ich Code beisteuern oder das Modell verbessern?
Pull Requests können im GitHub-Repository eingereicht werden. Die Dokumentation zur Schulung und Feinabstimmung wird bald veröffentlicht, sieheREADME.md
Erhalten Sie Updates. - Wie ist die Qualität der Bilderzeugung?
Die Qualität der BAGEL-Bilderzeugung kommt der von SD3 nahe, aber bei komplexen Szenen oder hohen Auflösungen kann eine weitere Optimierung erforderlich sein.