Connect with us

OLMo : Amélioration de la science des modèles de langage

Intelligence artificielle

OLMo : Amélioration de la science des modèles de langage

mm

Le développement et la progression des modèles de langage au cours des dernières années ont marqué leur présence presque partout, non seulement dans la recherche en NLP, mais également dans les offres commerciales et les applications du monde réel. Cependant, la demande commerciale croissante pour les modèles de langage a, dans une certaine mesure, entravé la croissance de la communauté. En effet, la majorité des modèles les plus avancés et les plus capables sont verrouillés derrière des interfaces propriétaires, ce qui rend impossible pour la communauté de développement d’accéder à des détails vitaux de leur architecture de formation, de leurs données et de leurs processus de développement. Il est maintenant indéniable que ces détails de formation et de structure sont cruciaux pour les études de recherche, y compris l’accès à leurs risques et biais potentiels, ce qui crée un besoin pour la communauté de recherche d’avoir accès à un modèle de langage vraiment ouvert et puissant.

Pour répondre à ce besoin, les développeurs ont créé OLMo, un cadre de modèle de langage truly open et de pointe. Ce cadre permet aux chercheurs d’utiliser OLMo pour construire et étudier les modèles de langage. Contrairement à la plupart des modèles de langage de pointe, qui n’ont publié que le code d’interface et les poids du modèle, le cadre OLMo est vraiment open source, avec du code d’évaluation publiquement accessible, des méthodes de formation et des données de formation. L’objectif principal d’OLMo est de responsabiliser et de stimuler la communauté de recherche ouverte et le développement continu des modèles de langage.

Dans cet article, nous allons discuter du cadre OLMo en détail, en examinant son architecture, sa méthodologie et ses performances par rapport aux cadres de pointe actuels. Alors, commençons.

OLMo : Amélioration de la science des modèles de langage

Le modèle de langage a été, sans conteste, la tendance la plus chaude au cours des dernières années, non seulement au sein de la communauté AI et ML, mais également dans l’ensemble de l’industrie technologique, en raison de ses capacités remarquables à effectuer des tâches du monde réel avec des performances humaines. ChatGPT est un exemple parfait du potentiel des modèles de langage, avec des acteurs majeurs de l’industrie technologique qui explorent l’intégration de modèles de langage dans leurs produits.

Le NLP, ou traitement automatique des langues, est l’une des industries qui a largement employé des modèles de langage au cours des dernières années. Cependant, depuis que l’industrie a commencé à employer l’annotation humaine pour l’alignement et la pré-formation à grande échelle, les modèles de langage ont connu une amélioration rapide de leur viabilité commerciale, ce qui a abouti à une majorité de cadres de langage et de NLP de pointe ayant des interfaces propriétaires restreintes, avec la communauté de développement n’ayant pas accès à des détails vitaux.

Pour assurer la progression des modèles de langage, OLMo, un modèle de langage truly open et de pointe, offre aux développeurs un cadre pour construire, étudier et faire progresser le développement des modèles de langage. Il fournit également aux chercheurs un accès à son code de formation et d’évaluation, à sa méthodologie de formation, à ses données de formation, à ses journaux de formation et à ses points de contrôle de modèle intermédiaires. Les modèles de pointe existants ont des degrés d’ouverture variables, alors que le modèle OLMo a publié l’ensemble du cadre, de la formation aux données aux outils d’évaluation, ce qui réduit l’écart de performances par rapport aux modèles de pointe comme le modèle LLaMA2.

Pour la modélisation et la formation, le cadre OLMo inclut le code de formation, les poids de modèle complets, les ablations, les journaux de formation et les métriques de formation sous la forme de code d’interface, ainsi que les journaux Weights & Biases. Pour l’analyse et la construction de jeux de données, le cadre OLMo inclut les données de formation complètes utilisées pour les modèles AI2’s Dolma et WIMBD, ainsi que le code qui produit les données de formation. Pour les besoins d’évaluation, le cadre OLMo inclut le modèle AI2’s Catwalk pour l’évaluation en aval, et le modèle Paloma pour l’évaluation basée sur la perplexité.

OLMo : Modèle et architecture

Le modèle OLMo adopte une architecture de transformateur décodeur-seulement basée sur les systèmes de traitement de l’information neuronale, et fournit deux modèles avec 1 milliard et 7 milliards de paramètres respectivement, avec un modèle de 65 milliards de paramètres actuellement en développement.

L’architecture du cadre OLMo apporte plusieurs améliorations par rapport aux cadres existants, y compris le composant transformateur vanille dans leur architecture, y compris les modèles de langage de pointe récents comme OpenLM, Falcon, LLaMA et PaLM. La figure suivante compare le modèle OLMo avec 7 milliards de paramètres contre les LLM récents fonctionnant avec un nombre presque égal de paramètres.

Le cadre OLMo sélectionne les hyperparamètres en optimisant le modèle pour le débit de formation sur le matériel tout en minimisant le risque de divergence lente et de pics de perte. Avec cela, les principaux changements mis en œuvre par le cadre OLMo qui le distinguent de l’architecture de transformateur vanille sont les suivants :

Pas de biais

Contrairement à Falcon, PaLM, LLaMA et d’autres modèles de langage, le cadre OLMo ne comprend aucun biais dans son architecture pour améliorer la stabilité de la formation.

Norme de couche non paramétrique

Le cadre OLMo met en œuvre la formulation non paramétrique de la norme de couche dans son architecture. La norme de couche non paramétrique n’offre pas de transformation affine dans la norme, c’est-à-dire qu’elle n’offre pas de gain ou de biais adaptatif. La norme de couche non paramétrique offre non seulement plus de sécurité que les normes de couche paramétriques, mais elle est également plus rapide.

Fonction d’activation SwiGLU

Comme la majorité des modèles de langage comme PaLM et LLaMA, le cadre OLMo inclut la fonction d’activation SwiGLU dans son architecture au lieu de la fonction d’activation ReLU, et augmente la taille d’activation cachée au multiple le plus proche de 128 pour améliorer le débit.

RoPE ou embeddings de position rotationnels

Les modèles OLMo suivent les modèles LLaMA et PaLM et échangent les embeddings de position absolus pour RoPE ou les embeddings de position rotationnels.

Pré-formation avec Dolma

Bien que la communauté de développement ait maintenant un accès amélioré aux paramètres de modèle, les portes pour accéder aux ensembles de données de pré-formation restent fermées, car les données de pré-formation ne sont pas publiées avec les modèles fermés ni avec les modèles ouverts. De plus, les documentations techniques couvrant ces données manquent souvent de détails vitaux nécessaires pour comprendre pleinement et reproduire le modèle. Ce blocage rend difficile la poursuite de la recherche dans certains fils de recherche sur les modèles de langage, y compris la compréhension de la façon dont les données de formation impactent les capacités et les limites du modèle. Le cadre OLMo a construit et publié son ensemble de données de pré-formation, Dolma, pour faciliter la recherche ouverte sur la pré-formation des modèles de langage. L’ensemble de données Dolma est une collection diversifiée et multisorces de plus de 3 billions de jetons sur 5 milliards de documents collectés à partir de 7 sources différentes qui sont couramment utilisées par les LLM puissants à grande échelle pour la pré-formation et accessibles au public. La composition de l’ensemble de données Dolma est résumée dans le tableau suivant.

L’ensemble de données Dolma est construit à l’aide d’un pipeline de 5 composants : filtrage de langage, filtrage de qualité, filtrage de contenu, mélange de sources multiples, déduplication et tokenisation. OLMo a également publié le rapport Dolma qui fournit plus d’informations sur les principes de conception et les détails de construction, ainsi qu’un résumé de contenu plus détaillé. Le modèle ouvre également ses outils de curation de données de haute performance pour permettre une curation facile et rapide des corpus de données de pré-formation. L’évaluation du modèle suit une stratégie à deux étapes, en commençant par une évaluation en ligne pour la prise de décision pendant la formation du modèle et une évaluation finale en ligne pour une évaluation agrégée à partir des points de contrôle du modèle. Pour l’évaluation en ligne, OLMo utilise le cadre Catwalk, notre outil d’évaluation publiquement accessible qui a accès à une grande diversité de jeux de données et de formats de tâches. Le cadre utilise Catwalk pour l’évaluation en aval ainsi que pour l’évaluation intrinsèque de la modélisation du langage sur notre nouvelle référence de perplexité, Paloma. OLMo compare ensuite cela à plusieurs modèles publics en utilisant son pipeline d’évaluation fixe, pour les évaluations en aval et en perplexité.

OLMo exécute plusieurs métriques d’évaluation sur l’architecture du modèle, l’initialisation, les optimiseurs, l’horaire d’apprentissage et les mélanges de données pendant la formation du modèle. Les développeurs l’appellent l'”évaluation en ligne” d’OLMo, car il s’agit d’une itération en boucle à chaque 1000 étapes de formation (∼4B jetons de formation) pour donner un signal précoce et continu sur la qualité du modèle en formation. La configuration de ces évaluations dépend de la plupart des tâches et des paramètres d’expérience utilisés pour notre évaluation en ligne. OLMo vise non seulement à comparer OLMo-7B à d’autres modèles pour les meilleures performances, mais également à montrer comment il permet une évaluation scientifique plus complète et plus contrôlée. OLMo-7B est le plus grand modèle de langage avec une décontamination explicite pour l’évaluation de la perplexité.

Formation OLMo

Il est important de noter que les modèles du cadre OLMo sont formés en utilisant la stratégie d’optimiseur ZeRO, qui est fournie par le cadre FSDP via PyTorch, et qui réduit considérablement la consommation de mémoire GPU en fragmentant les poids du modèle sur les GPU. Avec cela, à l’échelle de 7B, la formation peut être effectuée avec une taille de lot de micro-batch de 4096 jetons par GPU sur notre matériel. Le cadre de formation pour les modèles OLMo-1B et -7B utilise une taille de lot globale constante d’environ 4M jetons (2048 instances, chacune avec une longueur de séquence de 2048 jetons). Pour le modèle OLMo-65B (actuellement en formation), les développeurs utilisent une taille de lot de réchauffement qui commence à environ 2M jetons (1024 instances), doublant tous les 100B jetons jusqu’à environ 16M jetons (8192 instances).

Pour améliorer le débit, nous employons la formation à précision mixte (Micikevicius et al., 2017) via les paramètres intégrés de FSDP et le module amp de PyTorch. Ce dernier garantit que certaines opérations comme le softmax fonctionnent toujours en pleine précision pour améliorer la stabilité, tandis que toutes les autres opérations fonctionnent en demi-précision avec le format bfloat16. Dans nos paramètres spécifiques, les poids de modèle fragmentés et l’état de l’optimiseur local à chaque GPU sont conservés en pleine précision. Les poids à l’intérieur de chaque bloc de transformateur ne sont castés au format bfloat16 que lorsque les paramètres de pleine taille sont matérialisés sur chaque GPU pendant les passes avant et arrière. Les gradients sont réduits sur les GPU en pleine précision.

Optimiseur

Le cadre OLMo utilise l’optimiseur AdamW avec les hyperparamètres suivants.

Pour toutes les tailles de modèle, le taux d’apprentissage augmente linéairement au cours des 5000 premières étapes (∼21B jetons) jusqu’à une valeur maximale, puis décroît linéairement avec l’inverse de la racine carrée du numéro d’étape jusqu’au taux d’apprentissage minimum spécifié. Après la période de réchauffement, le modèle coupe les gradients de telle sorte que la norme l-norme totale des gradients de paramètre n’excède pas 1,0. Le tableau suivant donne une comparaison de nos paramètres d’optimiseur à l’échelle de 7B avec ceux d’autres LLM récents qui ont également utilisé AdamW.

Données de formation

La formation implique la tokenisation des instances de formation par mot et par tokenizeur de pièce de phrase pour le modèle de pièce de phrase après avoir ajouté un jeton EOS spécial à la fin de chaque document, puis nous regroupons des morceaux consécutifs de 2048 jetons pour former des instances de formation. Les instances de formation sont mélangées de la même manière pour chaque exécution de formation. L’ordre des données et la composition exacte de chaque lot de formation peuvent être reconstruits à partir des artefacts que nous publions. Tous les modèles OLMo publiés ont été formés pendant au moins 2T jetons (une seule époque sur leurs données de formation), et certains ont été formés au-delà de cela en commençant une deuxième époque sur les données avec un ordre de mélange différent. Compte tenu de la petite quantité de données que cela répète, cela devrait avoir un effet négligeable.

Résultats

Le point de contrôle utilisé pour l’évaluation d’OLMo-7B est formé jusqu’à 2,46T jetons sur l’ensemble de données Dolma avec le calendrier de décroissance linéaire du taux d’apprentissage mentionné précédemment. Une réglage supplémentaire de ce point de contrôle sur l’ensemble de données Dolma pendant 1000 étapes avec un taux d’apprentissage décroissant linéairement à 0 améliore encore les performances du modèle sur la perplexité et les suites d’évaluation de fin de tâche décrites précédemment. Pour l’évaluation finale, les développeurs ont comparé OLMo avec d’autres modèles publiquement disponibles – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B et RPJ-INCITE-7B.

Évaluation en aval

Le ensemble d’évaluation en aval de base est résumé dans le tableau suivant.

Nous effectuons une évaluation à zéro tirage en utilisant l’approche de classification de rang dans tous les cas. Dans cette approche, les complétions de texte candidates (par exemple, les différentes options de choix multiple) sont classées par ordre de probabilité (généralement normalisée par un facteur de normalisation), et la précision de prédiction est signalée.

Le graphique suivant montre la progression du score de précision pour les neuf tâches de fin principales. On peut déduire qu’il y a une tendance généralement croissante dans le nombre de précision pour toutes les tâches, à l’exception de OBQA, à mesure que OLMo-7B est formé sur plus de jetons. Un tick ascendant aigu dans la précision de nombreuses tâches entre la dernière et l’avant-dernière étape nous montre les avantages de la réduction linéaire du taux d’apprentissage à 0 sur les 1000 dernières étapes de formation. Par exemple, dans le cas des évaluations intrinsèques, Paloma soutient à travers une série d’analyses, de l’inspection des performances dans chaque domaine séparément jusqu’à des résultats plus résumés sur des combinaisons de domaines. Nous signalons les résultats à deux niveaux de granularité : la performance agrégée sur 11 des 18 sources de Paloma, ainsi que des résultats plus fins sur chacune de ces sources individuellement.

Pensées finales

Dans cet article, nous avons parlé d’OLMo, un modèle de langage truly open et de pointe qui offre aux développeurs un cadre pour construire, étudier et faire progresser le développement des modèles de langage, ainsi que pour fournir aux chercheurs un accès à son code de formation et d’évaluation, à sa méthodologie de formation, à ses données de formation, à ses journaux de formation et à ses points de contrôle de modèle intermédiaires. Les modèles de pointe existants ont des degrés d’ouverture variables, alors que le modèle OLMo a publié l’ensemble du cadre, de la formation aux données aux outils d’évaluation, ce qui réduit l’écart de performances par rapport aux modèles de pointe comme le modèle LLaMA2.

Un ingénieur de profession, un écrivain de cœur. Kunal est un rédacteur technique avec une profonde affection et une compréhension de l'IA et du ML, dédié à simplifier les concepts complexes dans ces domaines grâce à sa documentation engageante et informative.