Avant, il y avait le GPT-4o d'OpenAI, et plus tard, il y avait la série de grands modèles multimodaux avancés de Google qui sont entrés en scène les uns après les autres.
D'autres pratiquants ont été choqués et ont commencé à réfléchir à la manière de rattraper à nouveau ces super modèles.
Dans cet article de HuggingFace et de l'Université de la Sorbonne en France, ils ont résumé les expériences clés dans la création de grands modèles visuels et ont indiqué une voie à suivre pour les développeurs.
Photos
Ces expériences couvrent de nombreux aspects tels que la sélection de l'architecture du modèle, les méthodes de formation, les données de formation, etc. L'auteur a donné un résumé détaillé après plusieurs comparaisons. Les points essentiels sont les suivants :
On peut dire que HF a pu créer Idefics2, un modèle visuel SOTA de même échelle, en s'appuyant sur ces expériences.
Idefics2 est basé sur Mistral-7B. Il a un volume de paramètres global de 8B et peut reconnaître avec précision les polices manuscrites.
Photos
C'est une bonne critique de professionnels qui disent qu'il s'agit d'un bon rapport d'enquête et qu'il est très utile aux développeurs de modèles visuels, mais en même temps, il est également rappelé de ne pas le traiter comme une panacée .
Photos
Bien sûr, certaines personnes plaisantent en disant que toutes les données d'architecture ne sont qu'un cloud et qu'avoir un GPU est le plus essentiel.
Photos
Il y a une part de vérité là-dedans, mais blague à part, jetons un coup d'œil aux expériences que HuggingFace nous a apportées.
Ces expériences contenues dans l'article HuggingFace proviennent du processus de développement du modèle visuel Idefics2.
Par rapport à la génération précédente Idefics1 et Flamingo, à la même échelle ex-SOTA, Idefics2 fonctionne bien sur plusieurs ensembles de données, surpassant même le plus grand modèle 13B.
Dans le même temps, par rapport à MM1 qui est légèrement meilleur qu'Idefics2 sur l'ensemble de données COCO, Idefics2 consomme beaucoup moins de jetons sur chaque image.
Photos
Depuis le développement actuel d'Idefics2, l'expérience que HuggingFace nous apporte comprend au moins les aspects suivants :
Les grands modèles visuels actuels sont principalement développés sous la forme d'un modèle de langage + encodeur visuel. L'auteur a évalué séparément l'impact des deux sur les performances globales.
Les résultats montrent que la qualité du modèle linguistique est plus importante que le modèle visuel.
Avec le même nombre de paramètres, l'utilisation d'un meilleur modèle de langage (comme le remplacement de Llama-7B par Mistral-7B) peut améliorer considérablement les performances des grands modèles visuels sur les tâches en aval.
L'amélioration apportée par la mise à niveau de l'encodeur visuel est relativement limitée, la meilleure façon de faire des compromis est donc de donner la priorité à des modèles de langage plus forts.
Photos
Bien entendu, cela ne signifie pas que la mise à niveau de l'encodeur visuel n'a aucun effet lorsque les conditions le permettent, le choix d'un meilleur encodeur visuel peut également entraîner certaines améliorations de performances.
De plus, une attention particulière doit être portée à la sélection pour correspondre aux tâches en aval. Par exemple, sur les tâches de reconnaissance de texte, un encodeur visuel prenant en charge une résolution variable doit être utilisé si la tâche nécessite une vitesse d'inférence élevée, un modèle plus léger peut être utilisé ; être sélectionné.
Et dans les applications pratiques, la vitesse d'inférence et l'utilisation de la mémoire sont également des facteurs qui doivent être pris en compte. Le SigLIP-SO400M sélectionné par Idefics2 a atteint un bon équilibre entre performances et efficacité.
Concernant le choix de l'architecture, cet article aborde les deux plus courantes, l'autorégression complète et l'attention croisée.
L'architecture entièrement autorégressive génère chaque sortie de manière autorégressive, en tenant compte des dépendances de la séquence entière.
Cette dernière permet au modèle de se concentrer dynamiquement sur différentes parties d'une autre modalité lors du traitement d'une modalité, obtenant ainsi une interaction plus flexible entre modalités.
Dans des travaux spécifiques, l'auteur a découvert que l'architecture la plus performante dépend du gel du squelette pré-entraîné.
(En termes simples, si le squelette pré-entraîné participe au processus de formation formel, il n'est pas gelé, et s'il ne participe pas, il est gelé)
S'il n'est pas gelé, l'architecture entièrement autorégressive fonctionne mieux , et vice versa, l’architecture d’attention croisée fonctionne mieux.
Photos
Quant à savoir si la colonne vertébrale doit être gelée, cela dépend de l'orientation des besoins du développeur.
Dans des conditions de ressources limitées, si vous avez besoin de performances élevées et êtes très sensible à la latence, le gel est plus approprié
Si vous souhaitez que le modèle ait une plus grande flexibilité et adaptabilité, vous devez choisir la méthode d'entraînement sans gel ;
Spécifiquement pour Idefics2, nous avons choisi de ne pas geler le backbone, nous avons donc adopté une architecture entièrement autorégressive en conséquence.
Photos
Le choix de l'architecture appropriée est important, mais le processus de formation est également essentiel Au cours du processus de formation d'Idefics2, l'auteur a résumé ces expériences pour notre référence :
La première. consiste à adopter une stratégie de pré-formation par étapes dans son ensemble, en utilisant des images de faible résolution dans la phase initiale, puis en introduisant des documents PDF de plus haute résolution. Cette approche peut progressivement développer les multiples capacités du modèle.
La seconde consiste à utiliser le Learned Pooling au lieu d'introduire directement les fonctionnalités de l'image dans le modèle de langage, ce qui peut réduire considérablement le nombre de jetons d'image, améliorer considérablement l'efficacité de la formation et de l'inférence, et également entraîner des améliorations des performances.
La troisième est l'amélioration des données. Une méthode consiste à diviser l'image en plusieurs sous-images et à les envoyer au modèle pendant l'entraînement. Cela peut échanger du temps de calcul pour de meilleures performances lors de l'inférence. , mais ce n'est pas le cas. Toutes les images doivent être traitées de cette façon.
Quatrièmement, l'utilisation de données et de tâches plus diversifiées dans la phase de réglage fin de l'instruction peut améliorer la généralisation et la robustesse du modèle.
De plus, afin de stabiliser l'entraînement, lorsque le squelette monomodal pré-entraîné participe à l'entraînement (non figé), l'auteur utilise également la technologie LoRA pour adapter les paramètres de pré-entraînement.
En plus du processus de formation lui-même, les données sélectionnées auront également un impact significatif sur les performances du modèle.
Dès le début de la phase de collecte, il convient de prêter attention à la sélection de plusieurs types de données. Par exemple, les données utilisées par Idefics2 comprennent trois catégories : les documents avec alignement d'image et de texte (comme les pages Web), les paires image-texte. (tels que les titres d'images) et les documents PDF avec annotation OCR.
Les proportions des différents types de données doivent également être correctement équilibrées en fonction des besoins réels, plutôt que simplement divisées en parties égales.
En ce qui concerne la taille des données, plus c'est mieux si les conditions le permettent. Bien entendu, il convient de prêter attention au filtrage des données de mauvaise qualité.
Bien sûr, la collecte n'est qu'une étape pour obtenir les données d'entraînement. Si vous souhaitez bien entraîner le modèle, certains traitements sont nécessaires.
Utilisez différentes stratégies de prétraitement et d'amélioration pour différents types de données. Par exemple, pour les données OCR, il est nécessaire d'utiliser des images de résolution plus élevée, tandis que d'autres données peuvent utiliser une résolution plus faible.
Il convient de noter que le rapport hauteur/largeur et la résolution d'origine doivent être conservés lors du traitement des images, ce qui peut réduire considérablement la charge de calcul liée à la formation et à l'inférence tout en améliorant l'adaptabilité du modèle.
Si vous pensez que ces expériences vous ont inspiré, vous pouvez lire l'article original pour plus de détails. Vous êtes également invités à partager votre expérience de développement dans la zone de commentaires.
Adresse papier :https://www.php.cn/link/52c8b8d56837155b4870fc2658b676f0
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!