Heim >Technologie-Peripheriegeräte >KI >Um Komponenten modular zu rekonstruieren, fügen Sie einfach 1-2 Dateien hinzu. Die Open-Source-TinyLLaVA-Fabrik ist da.
Das TinyLLaVA+-Projekt wird gemeinsam vom Team von Professor Wu Ji vom Multimedia Signal and Intelligent Information Processing Laboratory (MSIIP) der Fakultät für Elektronik der Tsinghua-Universität und dem Team von Professor Huang Lei von der School of Artificial Intelligence der Beihang-Universität erstellt . Das MSIIP-Labor der Tsinghua-Universität engagiert sich seit langem in Forschungsbereichen wie intelligenter medizinischer Versorgung, Verarbeitung natürlicher Sprache und Wissensentdeckung sowie Multimodalität. Das Team von Beijing Airlines engagiert sich seit langem in Forschungsfeldern wie Deep Learning, Multimodalität und Computer Vision. Ziel des TinyLLaVA+-Projekts ist die Entwicklung eines kleinen sprachübergreifenden intelligenten Assistenten mit multimodalen Fähigkeiten wie Sprachverständnis, Fragen und Antworten sowie Dialog. Das Projektteam wird seine jeweiligen Vorteile voll ausschöpfen, gemeinsam technische Probleme überwinden und den Entwurf und die Entwicklung intelligenter Assistenten realisieren. Dies wird neue Durchbrüche in Forschungsbereichen wie intelligenter medizinischer Versorgung, Verarbeitung natürlicher Sprache und Wissensentdeckung sowie Multimodalität bringen. Gleichzeitig widmet sich das MSIIP-Labor der Tsinghua-Universität seit langem der Intelligenz
Kürzlich haben die Tsinghua-Universität und die Beihang-Universität gemeinsam TinyLLaVA Factory ins Leben gerufen, eine Codebasis, die die Anpassung, Schulung und Bewertung multimodaler großer Modelle unterstützt . Der Code und die Modelle sind alle Open Source . Diese Codebasis verwendet das Fabrikmodell der Softwareentwicklung als Designkonzept und rekonstruiert die LLaVA-Codebasis modular, wobei der Schwerpunkt auf der Lesbarkeit des Codes, der Skalierbarkeit von Funktionen und der Reproduzierbarkeit experimenteller Ergebnisse liegt. Es erleichtert Forschern und Praktikern die Erkundung des Trainings- und Designraums multimodaler Großmodelle.
LLaVA ist ein hochwertiges Open-Source-Projekt der multimodalen Community und wird von Forschern und Entwicklern bevorzugt. Anfänger, die mit multimodalen großen Modellen noch nicht vertraut sind, sind es auch gewohnt, das LLaVA-Projekt als Ausgangspunkt zum Erlernen und Trainieren multimodaler großer Modelle zu verwenden. Der Code des LLaVA-Projekts ist jedoch relativ undurchsichtig und schwer zu verstehen. Wenn Fehler versehentlich geändert werden, kann dies den Trainingseffekt beeinträchtigen. Anfänger trauen sich oft nicht, die Details zu ändern, was das Verständnis und die Erkundung der wesentlichen Details erschwert multimodale große Modelle stießen auf gewisse Schwierigkeiten.
Kürzlich haben die Tsinghua-Universität und die Beihang-Universität gemeinsam die TinyLLaVA Factory ins Leben gerufen, die den ursprünglichen LLaVA-Code modularisiert und rekonstruiert und sich dabei auf eine einfache Codeimplementierung, Skalierbarkeit neuer Funktionen und Reproduzierbarkeit von Trainingsergebnissen konzentriert, sodass Sie Ihre eigenen anpassen und trainieren können multimodales großes Modell mit der geringsten Codemenge bei gleichzeitiger Reduzierung der Codefehlerraten! Bei gleicher Modellkonfiguration, gleichen Trainingsdaten und gleicher Trainingsstrategie kann mit TinyLLaVA Factory ein Modell mit etwas besserer Leistung trainiert werden als mit LLaVA-Code. Um Benutzern das Verständnis des Codes und die Verwendung des Modells zu erleichtern, ist das TinyLLaVA Factory-Projekt außerdem mit einer Codedokumentation und einer Demo-Website ausgestattet. Die Gesamtarchitektur ist in der folgenden Abbildung dargestellt: [Architekturdiagramm].
Im Datenvorverarbeitungsteil verzichtet TinyLLaVA Factory auf die hirnverbrennenden Bildverarbeitungs- und Prompt-Verarbeitungsprozesse im LLaVA-Code und bietet einen standardmäßigen, skalierbaren Bild- und Textvorverarbeitungsprozess, der klar und prägnant ist. Unter anderem kann die Bildvorverarbeitung mit einem Prozessor angepasst werden, oder Sie können den Prozessor einiger offizieller visueller Encoder verwenden, z. B. den Bildprozessor, der mit CLIP ViT und SigCLIP ViT geliefert wird. Für die Textvorverarbeitung ist die Basisklasse Template definiert, die grundlegende und allgemeine Funktionen bereitstellt, z. B. Funktionen zum Hinzufügen von Systemnachrichten (Prompt), Tokenisieren und zum Generieren von Beschriftungen. Ground Truth können Benutzer problemlos auf verschiedene LLMs erweitern, indem sie die Basisklasse erben. Chat-Vorlage.
Im Modellteil modularisiert TinyLLaVA Factory das große multimodale Modell auf natürliche Weise in drei Komponenten – die große Sprachmodellkomponente, die visuelle Encoderkomponente und die Zwischenverbindungskomponente. Jede Komponente wird von einem Fabrikobjekt gesteuert, das für die Registrierung und den Austausch neuer Modelle verantwortlich ist. Benutzer können jede der Komponenten einfacher austauschen, ohne andere Teile einzubeziehen.
TinyLLaVA Factory bietet die aktuellen Mainstream-Modelle für jede Komponente, wie in der Tabelle unten gezeigt.
Der Trainer ist immer noch LLaVA nachempfunden und verwendet den Trainer, der mit Hugging Face geliefert wird, Gradient Accumulation, Wandb-Protokollierung und andere Funktionen integriert und auch DeepSpeed ZeRO2/ZeRO3-Paralleltraining unterstützt. Für den Bewertungsteil bietet TinyLLaVA Factory eine Bewertung von 8 Benchmarks von SQA/GQA/TextVQA/VQAv2/POPE/MME/MM-Vet/MMMU.
Als nächstes wollen wir die wichtigsten Punkte hervorheben! Das TinyLLaVA Factory Github-Projekt zeigt Ihnen auch, wie Sie Ihr eigenes multimodales großes Modell anpassen. LLM-Komponenten, Vision-Encoder-Komponenten und Anschlusskomponenten können einfach durch einfaches Hinzufügen von 1–2 Dateien ausgetauscht werden.
Nehmen Sie als Beispiel das Ersatz-LLM-Modell. Laut Feedback von Studenten, die die LLaVA-Codebasis verwendet haben, ist LLaVA-Code fehleranfällig, wenn versucht wird, Sprachmodelle zu ersetzen, die nicht zur Llama-Serie gehören. TinyLLaVA Factory kann das Sprachmodell problemlos ersetzen, indem zwei PY-Dateien hinzugefügt werden, eine davon ist die Chat-Vorlagendatei und die andere ist die Modelldatei. Wenn Sie den visuellen Encoder ersetzen, müssen Sie nur 1 Py-Datei hinzufügen und die Basisklasse des visuellen Encoders erben.
TinyLLaVA Factory unterstützt auch die Anpassung von Trainingsstrategien. Benutzer müssen nur die Konfigurationsdatei ändern, um 3 Modulkomponenten (LLM / visueller Encoder / Connector) anzupassen, um eine beliebige Kombination aus Einfrieren/vollständigem Trimmen/teilweisem Trimmen/ zu erreichen. Lora Trimmen. Es ist ein einfach zu bedienendes Tutorial für Anfänger!
Bereits im Februar dieses Jahres hat das TinyLLaVA-Projekt das Potenzial von LLM unter 3B in multimodalen großen Modellen deutlich erfasst und das gängige kleine LLM auf dem Markt genutzt, um eine Reihe von multimodalen Modellen zu trainieren. Modale große Modelle, die Parametermenge liegt zwischen 0,89B und 3,1B. Experimentelle Ergebnisse zeigen, dass durch eine qualitativ hochwertige Datenauswahl und detailliertere Trainingsstrategien auch LLM im kleinen Maßstab eine ähnliche oder sogar bessere Aufgabenleistung als große Modelle erreichen kann. (Einzelheiten finden Sie im technischen Bericht https://arxiv.org/abs/2402.14289)
Das obige ist der detaillierte Inhalt vonUm Komponenten modular zu rekonstruieren, fügen Sie einfach 1-2 Dateien hinzu. Die Open-Source-TinyLLaVA-Fabrik ist da.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!