Maison  >  Article  >  Périphériques technologiques  >  Reconstruisez modulairement LLaVA Pour remplacer les composants, ajoutez simplement 1 à 2 fichiers. L'usine open source TinyLLaVA est ici.

Reconstruisez modulairement LLaVA Pour remplacer les composants, ajoutez simplement 1 à 2 fichiers. L'usine open source TinyLLaVA est ici.

王林
王林original
2024-06-08 21:21:29386parcourir

Le projet TinyLLaVA+ est créé conjointement par l'équipe du Professeur Wu Ji du Laboratoire de Signal Multimédia et de Traitement Intelligent de l'Information (MSIIP) du Département d'Electronique de l'Université Tsinghua et l'équipe du Professeur Huang Lei de l'École d'Intelligence Artificielle de l'Université de Beihang. Le laboratoire MSIIP de l'Université Tsinghua s'engage depuis longtemps dans des domaines de recherche tels que les soins médicaux intelligents, le traitement du langage naturel et la découverte de connaissances, ainsi que la multimodalité. L'équipe de Beijing Airlines est engagée depuis longtemps dans des domaines de recherche tels que l'apprentissage profond, la multimodalité et la vision par ordinateur. L'objectif du projet TinyLLaVA+ est de développer un petit assistant intelligent multilingue doté de capacités multimodales telles que la compréhension du langage, les questions et réponses et le dialogue. L'équipe du projet exploitera pleinement leurs avantages respectifs, surmontera conjointement les problèmes techniques et réalisera la conception et le développement d'assistants intelligents. Cela entraînera de nouvelles avancées dans des domaines de recherche tels que les soins médicaux intelligents, le traitement du langage naturel et la découverte de connaissances, ainsi que la multimodalité. Dans le même temps, le laboratoire MSIIP de l'Université Tsinghua s'engage depuis longtemps dans l'intelligence

Récemment, L'Université Tsinghua et l'Université Beihang ont lancé conjointement TinyLLaVA Factory, une bibliothèque de codes qui prend en charge la personnalisation, la formation et l'évaluation de grands modèles multimodaux. . Le code et les modèles sont tous open source . Cette base de code utilise le modèle d'usine du génie logiciel comme concept de conception, reconstruit de manière modulaire la base de code LLaVA, en se concentrant sur la lisibilité du code, l'évolutivité des fonctions et la reproductibilité des résultats expérimentaux. Il permet aux chercheurs et aux praticiens d'explorer plus facilement l'espace de formation et de conception de grands modèles multimodaux.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

  • Projet Github : https://github.com/TinyLLaVA/TinyLLaVA_Factory
  • Adresse papier : https://arxiv.org/abs/2405.11788
  • Câlins Adresse du modèle de visage : https://huggingface.co/tinyllava/TinyLLaVA-Phi-2-SigLIP-3.1B ou https://huggingface.co/bczhou/TinyLLaVA-3.1B-SigLIP
  • Cœur du Adresse du modèle Machine SOTA : https://sota.jiqizhixin.com/project/tinyllava

LLaVA est un projet open source de haute qualité de la communauté multimodale et est favorisé par les chercheurs et les développeurs. Les débutants qui découvrent les grands modèles multimodaux sont également habitués à utiliser le projet LLaVA comme point de départ pour apprendre et former les grands modèles multimodaux. Cependant, le code du projet LLaVA est relativement obscur et difficile à comprendre.Une fois les erreurs modifiées accidentellement, cela peut affecter l'effet de formation. Pour les novices, ils n'osent souvent pas facilement modifier les détails, ce qui entrave la compréhension et l'exploration des détails essentiels. Les grands modèles multimodaux ont rencontré certaines difficultés.

Récemment, l'Université Tsinghua et l'Université Beihang ont lancé conjointement TinyLLaVA Factory, qui modularise et reconstruit le code LLaVA original, en se concentrant sur la mise en œuvre simple du code, l'évolutivité des nouvelles fonctions et la reproductibilité des résultats de formation, vous permettant de personnaliser et de former le vôtre. Grand modèle multimodal avec la plus petite quantité de code, tout en réduisant les taux d'erreur de code ! Sous la même configuration de modèle, les mêmes données de formation et la même stratégie de formation, l'utilisation de TinyLLaVA Factory peut former un modèle avec des performances légèrement meilleures que l'utilisation du code LLaVA. Afin de permettre aux utilisateurs de comprendre plus facilement le code et d'utiliser le modèle, le projet TinyLLaVA Factory est également équipé d'une documentation sur le code et d'un site Web de démonstration. Son architecture globale est présentée dans la figure ci-dessous : [Schéma d'architecture].

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Dans la partie prétraitement des données, TinyLLaVA Factory abandonne les processus de traitement d'image et de traitement rapide du code LLaVA et fournit un processus de prétraitement d'image et de texte standard et évolutif, clair et concis. Parmi eux, le prétraitement de l'image peut être personnalisé avec un processeur, ou vous pouvez utiliser le processeur de certains encodeurs visuels officiels, tels que le processeur d'image fourni avec CLIP ViT et SigCLIP ViT. Pour le prétraitement du texte, la classe de base Template est définie, qui fournit des fonctions de base et communes, telles que des fonctions pour ajouter un message système (invite), tokeniser et générer des étiquettes Ground Truth. Les utilisateurs peuvent facilement étendre à différents LLM en héritant de la classe de base. Modèle de discussion.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Dans la partie modèle, TinyLLaVA Factory modularise naturellement le grand modèle multimodal en trois composants : le grand composant de modèle de langage, le composant d'encodeur visuel et le composant de connecteur intermédiaire. Chaque composant est contrôlé par un objet d'usine, qui est responsable de l'enregistrement et du remplacement des nouveaux modèles. Les utilisateurs peuvent plus facilement remplacer l'un des composants sans impliquer d'autres pièces.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

TinyLLaVA Factory fournit les modèles grand public actuels pour chaque composant, comme indiqué dans le tableau ci-dessous.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

L'entraîneur est toujours calqué sur LLaVA, utilisant l'entraîneur fourni avec Hugging Face, intégrant l'accumulation de gradient, l'enregistrement Wandb et d'autres fonctionnalités, et prend également en charge l'entraînement parallèle DeepSpeed ​​​​ZeRO2/ZeRO3. Pour la partie évaluation, TinyLLaVA Factory propose l'évaluation de 8 benchmarks de SQA/GQA/TextVQA/VQAv2/POPE/MME/MM-Vet/MMMU.

Ensuite, soulignons les points clés ! Le projet TinyLLaVA Factory Github vous apprend également à personnaliser votre propre grand modèle multimodal. Les composants LLM, les composants d'encodeur de vision et les composants de connecteur peuvent être facilement remplacés en ajoutant simplement 1 à 2 fichiers.

Prenons le modèle LLM de remplacement comme exemple. Selon les commentaires des étudiants qui ont utilisé la base de code LLaVA, le code LLaVA est sujet à des erreurs lorsqu'il tente de remplacer des modèles linguistiques autres que la série Llama. TinyLLaVA Factory peut facilement remplacer le modèle de langage en ajoutant 2 fichiers py, l'un est le fichier Chat Template et l'autre est le fichier modèle. Lors du remplacement de l'encodeur visuel, il vous suffit d'ajouter 1 fichier py et d'hériter de la classe de base de l'encodeur visuel.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

TinyLLaVA Factory prend également en charge la personnalisation des stratégies de formation. Les utilisateurs n'ont qu'à modifier le fichier de configuration pour personnaliser 3 composants du module (LLM/encodeur visuel/connecteur) afin d'obtenir n'importe quelle combinaison de gel/découpage complet/découpage partiel/. lora coupe. C'est un tutoriel facile à utiliser pour les débutants !

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Dès février de cette année, le projet TinyLLaVA a parfaitement capturé le potentiel du LLM inférieur à 3B dans les grands modèles multimodaux et a utilisé le LLM à petite échelle dominant sur le marché pour former une série de multi- Grands modèles modaux, la quantité de paramètre est comprise entre 0,89B et 3,1B. Les résultats expérimentaux montrent que grâce à une sélection de données de haute qualité et à des stratégies de formation plus détaillées, le LLM à petite échelle peut également atteindre des performances de tâche similaires, voire supérieures, à celles des grands modèles. (Voir le rapport technique https://arxiv.org/abs/2402.14289 pour plus de détails)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn