Modèles et plateformes d’IA

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

mm
Ajouter Unite.AI à vos sources préférées sur Google

Le développement et le progrès des modèles de langage au cours des dernières années ont marqué leur présence partout, non seulement dans la recherche en traitement automatique des langues, 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 essentiels 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, notamment pour accéder à 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 ouvert et avancé. 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 avancés, qui n’ont publié que le code d’interface et les poids du modèle, le cadre OLMo est vraiment open source, avec un code d’évaluation accessible au public, des méthodes de formation et des données de formation. L’objectif principal d’OLMo est de renforcer et de dynamiser 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 actuels les plus avancés. Alors, commençons.

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

Le modèle de langage a sans doute été la tendance la plus chaude ces dernières années, non seulement au sein de la communauté de l’IA et du 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 similaires à celles des humains. ChatGPT est un exemple parfait du potentiel des modèles de langage, avec les principaux acteurs de l’industrie technologique qui explorent l’intégration des modèles de langage dans leurs produits.

Le traitement automatique des langues (TAL) est l’un des domaines qui a le plus utilisé les modèles de langage au cours des dernières années. Cependant, depuis que l’industrie a commencé à utiliser 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 TAL les plus avancés ayant des interfaces propriétaires restreintes, avec la communauté de développement n’ayant pas accès à des détails essentiels.

Pour assurer la progression des modèles de langage, OLMo, un modèle de langage ouvert et avancé, 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édiaire. Les modèles les plus avancés existants ont des degrés d’ouverture variables, tandis 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 performance par rapport aux modèles les plus avancés comme le modèle LLaMA2.

Pour la modélisation et la formation, le cadre OLMo inclut le code de formation, les poids du modèle complet, les ablations, les journaux de formation et les métriques de formation sous 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 Dolma et WIMBD, ainsi que le code qui produit les données de formation. Pour les fins d’évaluation, le cadre OLMo inclut le modèle Catwalk d’AI2 pour l’évaluation en aval, ainsi que 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-seul basée sur les systèmes de traitement de l’information neuronale, et propose 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 qui incluent le composant de transformateur classique dans leur architecture, y compris les modèles de langage à grande échelle les plus avancés récents comme OpenLM, Falcon, LLaMA et PaLM. La figure suivante compare le modèle OLMo avec 7 milliards de paramètres aux modèles LLM récents qui fonctionnent avec un nombre presque égal de paramètres.

Le cadre OLMo sélectionne les hyperparamètres en optimisant le modèle pour la vitesse 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 classique sont les suivants :

Aucun 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 à la plus proche multiple de 128 pour améliorer le débit.

RoPE ou embeddings de position rotatifs

Les modèles OLMo suivent les modèles LLaMA et PaLM et remplacent les embeddings de position absolus par des embeddings de position rotatifs ou RoPE.

Pré-formation avec Dolma

Bien que la communauté de développement ait maintenant un accès amélioré aux paramètres du modèle, les portes d’accès aux jeux de données de pré-formation sont toujours 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 essentiels nécessaires pour comprendre pleinement et reproduire le modèle. L’obstacle rend difficile la poursuite de la recherche dans certains domaines de la recherche sur les modèles de langage, notamment la compréhension de la manière dont les données de formation impactent les capacités et les limites du modèle. Le cadre OLMo a construit et publié son jeu de données de pré-formation, Dolma, pour faciliter la recherche ouverte sur la pré-formation des modèles de langage. Le jeu de données Dolma est une collection multiorigine et diverse 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 modèles de langage à grande échelle pour la pré-formation et accessibles au public. La composition du jeu de données Dolma est résumée dans le tableau suivant.

Le jeu de données Dolma est construit à l’aide d’un pipeline de 5 composants : filtration de la langue, filtration de la qualité, filtration du contenu, mélange de plusieurs sources, 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é plus détaillé du contenu. Le modèle ouvre également ses outils de curation de données 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 hors ligne finale pour une évaluation agrégée à partir des points de contrôle du modèle. Pour l’évaluation hors ligne, OLMo utilise le cadre Catwalk, notre outil d’évaluation accessible au public 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 de la modélisation du langage intrinsèque sur notre nouvelle référence de perplexité, Paloma. OLMo compare ensuite cela avec plusieurs modèles publics à l’aide de 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, le calendrier d’apprentissage et les mélanges de données pendant la formation du modèle. Les développeurs appellent cela l'”évaluation en ligne” d’OLMo, car il s’agit d’une itération en boucle à chaque 1000 étapes de formation (∼4B de 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 hors ligne. OLMo vise non seulement à comparer OLMo-7B avec 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 d’OLMo

Il est important de noter que les modèles du cadre OLMo sont formés à l’aide de la stratégie d’optimiseur ZeRO, qui est fournie par le cadre FSDP via PyTorch et, de cette façon, 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 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 globalement constante d’environ 4M de 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 de jetons (1024 instances), doublant tous les 100B de jetons jusqu’à environ 16M de jetons (8192 instances).

Pour améliorer le débit, nous utilisons 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 la softmax s’exécutent toujours en pleine précision pour améliorer la stabilité, tandis que toutes les autres opérations s’exécutent en demi-précision avec le format bfloat16. Dans nos paramètres spécifiques, les poids du 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 convertis en 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 à travers 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 de jetons) à 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 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 LMs récents qui ont également utilisé AdamW.

Données de formation

La formation implique la tokenisation des instances de formation par mot et par tokenizer BPE 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 de 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. Étant donné 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 de jetons sur le jeu 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 le jeu 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 tâches finales décrites précédemment. Pour l’évaluation finale, les développeurs ont comparé OLMo avec d’autres modèles accessibles au public – LLaMA-7B, LLaMA2-7B, Pythia-6,9B, Falcon-7B et RPJ-INCITE-7B.

Évaluation en aval

Le jeu d’évaluation en aval principal 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, différentes options de choix multiple) sont classées par probabilité (généralement normalisée par un facteur de normalisation), et la précision de prédiction est signalée.

Bien que Catwalk utilise plusieurs méthodes de normalisation de probabilité typiques, telles que la normalisation par jeton et la normalisation par caractère, les stratégies de normalisation appliquées sont choisies séparément pour chaque jeu de données et incluent la probabilité inconditionnelle de la réponse. Plus concrètement, cela implique aucune normalisation pour les tâches arc et openbookqa, une normalisation par jeton pour les tâches hellaswag, piqa et winogrande, et aucune normalisation pour les tâches boolq, copa et sciq (c’est-à-dire les tâches dans une formulation proche d’une tâche de prédiction de jeton unique).

La figure suivante montre la progression du score d’exactitude pour les neuf tâches finales principales. On peut en déduire qu’il y a une tendance généralement croissante dans le nombre d’exactitude pour toutes les tâches, à l’exception d’OBQA, à mesure que OLMo-7B est formé sur davantage de jetons. Un pic ascendant net dans l’exactitude de nombreuses tâches entre la dernière et l’avant-dernière étape montre le bénéfice de la réduction linéaire du LR à 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 dans Paloma, ainsi que des résultats plus fins sur chaque source individuelle.

Pensées finales

Dans cet article, nous avons parlé d’OLMo, un modèle de langage ouvert et avancé 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édiaire. Les modèles les plus avancés existants ont des degrés d’ouverture variables, tandis 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 performance par rapport aux modèles les plus avancés 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.