Llama 3 : une famille de modèles d'IA polyvalents et libres

Résumés.

Cet article présente un nouvel ensemble de modèles de base appelé Llama 3. Llama 3 est une communauté de modèles de langage qui soutient intrinsèquement le multilinguisme, l'écriture de code, le raisonnement et l'utilisation d'outils. Notre plus grand modèle est un transformateur dense avec 405 milliards de paramètres et une fenêtre de contexte pouvant contenir jusqu'à 128 000 tokens. Cet article réalise une série d'évaluations empiriques de Llama 3. Les résultats montrent que Llama 3 atteint une qualité comparable à celle des principaux modèles de langage tels que GPT-4 dans de nombreuses tâches. Nous mettons Llama 3 à la disposition du public, y compris les modèles de langage 405 milliards de paramètres pré-entraînés et post-entraînés, ainsi que le modèle Llama Guard 3 pour la sécurité des entrées-sorties. Cet article présente également des résultats expérimentaux sur l'intégration de caractéristiques d'image, de vidéo et de parole dans Llama 3 par le biais d'une approche combinatoire. Nous observons que cette approche est compétitive par rapport aux approches de pointe pour les tâches de reconnaissance d'image, de vidéo et de parole. Ces modèles étant encore en phase de développement, ils n'ont pas fait l'objet d'une large publication.

 

Texte intégral à télécharger pdf :

1722344341-Llama_3.1 paper : a versatile, open-source _AI_ model family (version chinoise)

 

 

1 Introduction

 

modèle de basesont des modèles généraux du langage, de la vision, de la parole et d'autres modalités, conçus pour prendre en charge un large éventail de tâches d'intelligence artificielle. Ils constituent la base de nombreux systèmes d'IA modernes.

L'élaboration d'un modèle de base moderne se divise en deux phases principales :

(1) Phase de préformation. Les modèles sont entraînés sur des quantités massives de données, en utilisant des tâches simples telles que la prédiction de mots ou la génération d'annotations de graphiques ;

(2) Phase post-formation. Les modèles sont affinés pour suivre les instructions, s'aligner sur les préférences humaines et améliorer des capacités spécifiques (par exemple, le codage et le raisonnement).

Cet article présente un nouvel ensemble de modèles de base linguistique appelé Llama 3. La famille de modèles Llama 3 Herd prend intrinsèquement en charge le multilinguisme, l'encodage, le raisonnement et l'utilisation d'outils. Notre plus grand modèle est un transformateur dense avec 405B paramètres, capable de traiter des informations dans des fenêtres contextuelles allant jusqu'à 128K tokens.

Le tableau 1 présente chaque membre du troupeau. Tous les résultats présentés dans ce document sont basés sur le modèle Llama 3.1 (Llama 3 en abrégé).

Nous pensons que les trois outils clés pour développer des modèles de base de haute qualité sont la gestion des données, de l'échelle et de la complexité. Nous nous efforcerons d'optimiser ces trois domaines au cours de notre processus de développement :

  • Données. La quantité et la qualité des données que nous avons utilisées pour le pré-entraînement et le post-entraînement ont été améliorées par rapport aux versions précédentes de Llama (Touvron et al., 2023a, b). Ces améliorations comprennent le développement de pipelines de pré-traitement et de curation plus prudents pour les données de pré-entraînement et le développement d'une assurance qualité et d'un filtrage plus rigoureux. Ces améliorations comprennent le développement de pipelines de prétraitement et de curation plus prudents pour les données de pré-entraînement et le développement d'une assurance qualité et d'un filtrage plus rigoureux. Llama 3 a été pré-entraîné sur un corpus d'environ 15T tokens multilingues, tandis que Llama 2 a été pré-entraîné sur 1,8T tokens.
  • Champ d'application. Nous avons formé un modèle plus grand que le modèle Llama précédent : notre modèle linguistique phare utilise 3,8 × 1025 FLOPs pour le pré-entraînement, soit près de 50 fois plus que la plus grande version de Llama 2. Plus précisément, nous avons pré-entraîné un modèle phare avec 405B paramètres entraînables sur 15,6T tokens de texte. Comme prévu, le modèle

Llama 3:一个多功能、开源的 AI 模型系列

  • Gérer la complexité. Les choix de conception que nous avons faits visaient à maximiser l'évolutivité du processus de développement du modèle. Par exemple, nous avons choisi un modèle standard dense Transformateur (Vaswani et al., 2017) avec quelques ajustements mineurs, plutôt que d'utiliser un modèle de mélange expert (Shazeer et al., 2017) pour maximiser la stabilité de l'entraînement. De même, nous avons utilisé un post-processeur relativement simple basé sur le réglage fin supervisé (SFT), l'échantillonnage par rejet (RS) et l'optimisation directe des préférences (DPO ; Rafailov et al. (2023)), plutôt que des algorithmes d'apprentissage par renforcement plus complexes (Ouyang et al., 2022 ; Schulman et al., 2017), qui sont souvent moins stables et difficiles à mettre à l'échelle. difficiles à mettre à l'échelle.

Le résultat de notre travail est Llama 3 : un multilingue à trois langues avec des paramètres de 8B, 70B et 405B.1population de modèles de langage. Nous avons évalué les performances de Llama 3 sur un grand nombre d'ensembles de données de référence couvrant un large éventail de tâches de compréhension du langage. En outre, nous avons réalisé des évaluations manuelles approfondies comparant Llama 3 à des modèles concurrents. Le tableau 2 donne un aperçu des performances du modèle phare Llama 3 dans les principaux tests de référence. Nos évaluations expérimentales montrent que notre modèle phare est au même niveau que les principaux modèles de langage tels que GPT-4 (OpenAI, 2023a) et proche de l'état de l'art sur une variété de tâches. Notre plus petit modèle est le meilleur de sa catégorie et surpasse d'autres modèles avec un nombre similaire de paramètres (Bai et al., 2023 ; Jiang et al., 2023).Llama 3 trouve également un meilleur équilibre entre l'utilité et l'innocuité que son prédécesseur (Touvron et al., 2023b). Nous analysons la sécurité de Llama 3 en détail dans la section 5.4.

Nous publions les trois modèles Llama 3 sous une version mise à jour de la licence communautaire Llama 3 ; voir https://llama.meta.com. Cela inclut des versions pré-entraînées et post-traitées de notre modèle de langage paramétrique 405B, ainsi qu'une nouvelle version du modèle Llama Guard (Inan et al., 2023) pour la sécurité des entrées et des sorties. d'entrée et de sortie. Nous espérons que la publication d'un modèle phare inspirera une vague d'innovation dans la communauté des chercheurs et accélérera les progrès vers un développement responsable de l'intelligence artificielle (AGI).

Multilingue : il s'agit de la capacité du modèle à comprendre et à générer du texte dans plusieurs langues.

 

Au cours du développement de Llama 3, nous avons également développé des extensions multimodales du modèle pour permettre la reconnaissance d'images, la reconnaissance vidéo et la compréhension de la parole. Ces modèles sont toujours en cours de développement et ne sont pas encore prêts à être diffusés. Outre les résultats de la modélisation linguistique, ce document présente les résultats de nos premières expériences avec ces modèles multimodaux.

Llama 3 8B et 70B ont été pré-entraînés sur des données multilingues, mais ont été principalement utilisés pour l'anglais à l'époque.

Llama 3:一个多功能、开源的 AI 模型系列

 

 

2 Généralités

L'architecture du modèle Llama 3 est présentée à la figure 1. Le développement de notre modèle linguistique Llama 3 est divisé en deux phases principales :

  • Pré-entraînement du modèle linguistique.Nous convertissons d'abord un grand corpus de textes multilingues en jetons discrets et pré-entraînons un grand modèle de langage (LLM) sur les données résultantes pour la prédiction du jeton suivant. Dans la phase de pré-entraînement du LLM, le modèle apprend la structure de la langue et acquiert une grande quantité de connaissances sur le monde à partir du texte qu'il "lit". Pour faire cela efficacement, le pré-entraînement est fait à l'échelle : nous avons pré-entraîné un modèle avec 405B paramètres sur un modèle avec 15.6T tokens, en utilisant une fenêtre de contexte de 8K tokens. Cette phase de pré-entraînement standard est suivie d'une phase de pré-entraînement continu, qui augmente la fenêtre contextuelle supportée à 128K tokens. Voir la section 3 pour plus d'informations.
  • Formation post-modèle.Le modèle linguistique pré-entraîné a une compréhension approfondie de la langue, mais il n'a pas encore suivi les instructions ou ne s'est pas comporté comme l'assistant que nous attendons de lui. Nous avons calibré le modèle grâce au retour d'information humain en plusieurs étapes, chacune comprenant un réglage fin supervisé (SFT) et une optimisation directe des préférences (DPO ; Rafailov et al., 2024) sur des données réglées sur les instructions. Dans cette phase de post-entraînement, nous avons également intégré de nouvelles caractéristiques, telles que l'utilisation d'outils, et observé des améliorations significatives dans des domaines tels que le codage et l'inférence. Pour plus d'informations, voir la section 4. Enfin, les mesures d'atténuation de la sécurité sont également intégrées au modèle dans la phase de post-entraînement, dont les détails sont décrits à la section 5.4. Les modèles générés sont riches en fonctionnalités. Ils sont capables de répondre à des questions dans au moins huit langues, d'écrire un code de haute qualité, de résoudre des problèmes d'inférence complexes et d'utiliser des outils prêts à l'emploi ou à partir d'un échantillon zéro.

Nous menons également des expériences pour ajouter des capacités d'image, de vidéo et de voix au Llama 3 par le biais d'une approche combinée. L'approche que nous étudions consiste en trois phases supplémentaires illustrées à la figure 28 :

 

Llama 3:一个多功能、开源的 AI 模型系列
  • Pré-entraînement de l'encodeur multimodal.Nous formons des codeurs distincts pour l'image et la parole. Nous entraînons le codeur d'image sur un grand nombre de paires image-texte. Cela permet au modèle d'apprendre la relation entre le contenu visuel et sa description en langage naturel. Notre codeur vocal utilise une méthode auto-supervisée qui masque une partie de l'entrée vocale et tente de reconstruire la partie masquée par le biais d'une représentation discrète des marqueurs. Ainsi, le modèle apprend la structure du signal vocal. Voir la section 7 pour plus d'informations sur les codeurs d'images et la section 8 pour plus d'informations sur les codeurs vocaux.
  • Formation d'adaptateur visuel.Nous formons un adaptateur qui intègre un codeur d'images préformé avec un modèle de langage préformé. L'adaptateur se compose d'une série de couches d'attention croisée qui introduisent la représentation de l'encodeur d'images dans le modèle linguistique. L'adaptateur est entraîné sur des paires texte-image, ce qui permet d'aligner la représentation de l'image sur celle du langage. Pendant la formation de l'adaptateur, nous mettons également à jour les paramètres de l'encodeur d'images, mais nous ne mettons pas intentionnellement à jour les paramètres du modèle linguistique. Nous formons également un adaptateur vidéo au-dessus de l'adaptateur image, en utilisant des données vidéo-texte appariées. Cela permet au modèle d'agréger les informations entre les images. Pour plus d'informations, voir la section 7.
  • Enfin, nous intégrons l'encodeur vocal dans le modèle par le biais d'un adaptateur qui convertit le codage vocal en une représentation étiquetée qui peut être introduite directement dans le modèle linguistique affiné. Au cours de la phase d'ajustement supervisé, les paramètres de l'adaptateur et de l'encodeur sont mis à jour conjointement afin d'obtenir une compréhension vocale de haute qualité. Nous ne modifions pas le modèle linguistique pendant la formation de l'adaptateur vocal. Nous intégrons également un système de synthèse vocale. Voir la section 8 pour plus de détails.

Nos expériences multimodales ont abouti à des modèles qui reconnaissent le contenu des images et des vidéos et permettent une interaction par le biais d'une interface vocale. Ces modèles sont encore en cours de développement et ne sont pas encore prêts à être diffusés.

 

 

3 Préformation

 

Le pré-entraînement des modèles linguistiques comprend les aspects suivants :

(1) Collecte et filtrage de corpus de formation à grande échelle ;

(2) Développement d'architectures de modèles et de lois d'échelle correspondantes pour déterminer la taille du modèle ;

(3) Développement de techniques pour un pré-entraînement efficace à grande échelle ;

(4) l'élaboration d'un programme de préformation. Nous décrivons ci-dessous chacun de ces éléments.

 

3.1 Données de pré-entraînement

Nous avons créé des ensembles de données de pré-entraînement de modèles linguistiques à partir de diverses sources de données contenant des connaissances jusqu'à la fin de l'année 2023. Nous avons appliqué plusieurs méthodes de déduplication et mécanismes de nettoyage des données à chaque source de données afin d'obtenir un étiquetage de haute qualité. Nous avons supprimé les domaines contenant de grandes quantités d'informations personnelles identifiables (PII), ainsi que les domaines connus pour leur contenu adulte.

 

3.11 Nettoyage des données sur le web

La plupart des données que nous utilisons proviennent du web et nous décrivons notre processus de nettoyage ci-dessous.

Filtrage des IIP et de la sécurité. Entre autres mesures, nous avons mis en place des filtres conçus pour supprimer les données des sites web susceptibles de contenir des contenus dangereux ou de grandes quantités d'informations personnelles, des domaines classés comme dangereux selon diverses normes de sécurité Meta, et des domaines connus pour leur contenu pour adultes.

Extraction et nettoyage de textes. Nous traitons le contenu HTML brut pour en extraire un texte diversifié de haute qualité et nous utilisons à cette fin des documents web non tronqués. Pour ce faire, nous avons construit un analyseur personnalisé qui extrait le contenu HTML et optimise la précision de la suppression des modèles et le rappel du contenu. Nous avons évalué la qualité de l'analyseur par le biais d'une évaluation manuelle et l'avons comparé à des analyseurs HTML tiers populaires optimisés pour le contenu d'articles similaires. Nous prenons soin de préserver la structure des pages HTML contenant des mathématiques et du code. Nous conservons le texte de l'attribut alt de l'image car le contenu mathématique est généralement représenté sous la forme d'une image pré-rendue où les mathématiques sont également fournies dans l'attribut alt.

Nous avons constaté que Markdown nuisait aux performances du modèle, qui a été principalement formé sur des données Web, par rapport au texte brut, et nous avons donc supprimé toutes les balises Markdown.

Désaccentuation. Nous appliquons plusieurs cycles de dédoublonnage au niveau de l'URL, du document et de la ligne :

  • Déduplication au niveau de l'URL. Nous effectuons une déduplication au niveau de l'URL sur l'ensemble de la base de données. Pour chaque page correspondant à une URL, nous conservons la dernière version.
  • Déduplication au niveau du document. Nous effectuons un dédoublonnage global MinHash (Broder, 1997) sur l'ensemble de la base de données afin de supprimer les documents en quasi-doublement.
  • Déduplication au niveau des lignes. Nous effectuons un dédoublonnage au niveau radical similaire à ccNet (Wenzek et al., 2019). Nous supprimons les lignes qui apparaissent plus de 6 fois dans chaque groupe contenant 30 millions de documents.

Bien que nos analyses qualitatives manuelles suggèrent que le dédoublonnage au niveau des lignes supprime non seulement le contenu résiduel de type "boilerplate" d'une variété de sites (par exemple, les menus de navigation, les avertissements relatifs aux cookies), mais aussi des textes fréquents de haute qualité, nos évaluations empiriques révèlent des améliorations significatives.

Filtrage heuristique. Des heuristiques ont été développées pour éliminer les documents supplémentaires de faible qualité, les documents aberrants et les documents comportant trop de répétitions. Voici quelques exemples d'heuristiques :

  • Nous utilisons la couverture des n-tuplets dupliqués (Rae et al., 2021) pour supprimer les lignes constituées d'un contenu dupliqué (par exemple, les journaux ou les messages d'erreur). Ces lignes peuvent être très longues et uniques, et ne peuvent donc pas être filtrées par la déduplication des lignes.
  • Nous utilisons un compteur de "mots sales" (Raffel et al., 2020) pour filtrer les sites pour adultes qui ne sont pas couverts par la liste noire des domaines.
  • Nous utilisons la dispersion de Kullback-Leibler de la distribution des jetons pour filtrer les documents contenant trop de jetons anormaux par rapport à la distribution du corpus de formation.

 

Filtrage de la qualité basé sur un modèle.

En outre, nous avons tenté d'utiliser divers classificateurs de qualité basés sur des modèles pour sélectionner des étiquettes de haute qualité. Ces méthodes sont les suivantes :

  • Utiliser des classificateurs rapides tels que fasttext (Joulin et al., 2017), qui sont entraînés à reconnaître si un texte donné sera cité par Wikipédia (Touvron et al., 2023a).
  • Un classificateur de modèle Roberta (Liu et al., 2019a), plus intensif en termes de calcul, a été utilisé, qui a été formé sur les prédictions du lama 2.

Pour entraîner le classificateur de qualité basé sur Llama 2, nous avons créé un ensemble de documents Web nettoyés décrivant les exigences de qualité et avons demandé au modèle de chat de Llama 2 de déterminer si les documents répondaient à ces exigences. Par souci d'efficacité, nous utilisons DistilRoberta (Sanh et al., 2019) pour générer des scores de qualité pour chaque document. Nous évaluerons expérimentalement l'efficacité de diverses configurations de filtrage de la qualité.

Code et données d'inférence.

Comme DeepSeek-AI et al. (2024), nous avons construit des pipelines spécifiques à un domaine pour extraire les pages web contenant du code et celles liées aux mathématiques. Plus précisément, les classificateurs de code et d'inférence sont des modèles DistilledRoberta entraînés à l'aide des données Web annotées par Llama 2. Contrairement aux classificateurs de qualité génériques mentionnés ci-dessus, nous effectuons un réglage des indices pour cibler les pages web contenant des inférences mathématiques, des raisonnements dans les domaines des STIM et du code intégré dans le langage naturel. Étant donné que les distributions de jetons du code et des mathématiques sont très différentes de celles du langage naturel, ces pipelines mettent en œuvre une extraction HTML spécifique au domaine, des caractéristiques de texte personnalisées et des heuristiques pour le filtrage.

Données multilingues.

Comme pour le pipeline de traitement en anglais décrit ci-dessus, nous mettons en œuvre des filtres pour supprimer les données des sites web susceptibles de contenir des informations personnelles identifiables (PII) ou un contenu non sécurisé. Notre pipeline de traitement de texte multilingue présente les caractéristiques uniques suivantes :

  • Nous utilisons un modèle de reconnaissance linguistique basé sur un texte rapide pour classer les documents en 176 langues.
  • Nous procédons à la déduplication des données au niveau des documents et des lignes pour chaque langue.
  • Nous appliquons des heuristiques spécifiques à la langue et des filtres basés sur des modèles pour supprimer les documents de mauvaise qualité.

En outre, nous utilisons un classificateur multilingue basé sur Llama 2 pour classer la qualité des documents multilingues afin de garantir que le contenu de haute qualité est traité en priorité. Le nombre de tokens multilingues que nous utilisons dans la préformation est déterminé expérimentalement, et les performances du modèle sont équilibrées sur des tests de référence anglais et multilingues.

 

3.12 Détermination de la combinaison de données

为了获得高质量语言模型,必须谨慎确定预训练数据混合中不同数据源的比例。我们主要利用知识分类和尺度定律实验来确定这一数据混合。

知识分类。我们开发了一个分类器,用于对网页数据中包含的信息类型进行分类,以便更有效地确定数据组合。我们使用这个分类器对网页上过度代表的数据类别(例如艺术和娱乐)进行下采样。

为了确定最佳数据混合方案。我们进行规模定律实验,其中我们将多个小型模型训练于特定数据混合集上,并利用其预测大型模型在该混合集上的性能(参见第 3.2.1 节)。我们多次重复此过程,针对不同的数据混合集选择新的候选数据混合集。随后,我们在该候选数据混合集上训练一个更大的模型,并在多个关键基准测试上评估该模型的性能。

数据混合摘要。我们的最终数据混合包含大约 50% 的通用知识标记、25% 的数学和推理标记、17% 的代码标记以及 8% 的多语言标记。

3.13 Données de recuit

Les résultats empiriques montrent que le recuit sur une petite quantité de données de code et de mathématiques de haute qualité (voir la section 3.4.3) peut améliorer la performance des modèles pré-entraînés sur des tests de référence clés. Comme dans l'étude de Li et al. (2024b), nous effectuons un recuit en utilisant un ensemble de données mixte contenant des données de haute qualité provenant de domaines sélectionnés. Nos données recuites ne contiennent pas d'ensembles d'entraînement provenant de tests de référence couramment utilisés. Cela nous permet d'évaluer la véritable capacité d'apprentissage sur quelques échantillons et la généralisation hors domaine de Llama 3.

Suivant OpenAI (2023a), nous avons évalué l'effet du recuit sur les ensembles d'entraînement GSM8k (Cobbe et al., 2021) et MATH (Hendrycks et al., 2021b). Nous constatons que le recuit améliore les performances du modèle Llama 3 8B pré-entraîné de 24,0% et 6,4% sur les ensembles de validation GSM8k et MATH, respectivement.Cependant, l'amélioration est négligeable pour le modèle 405B, ce qui suggère que notre modèle phare a de fortes capacités d'apprentissage et d'inférence contextuelles, et qu'il ne nécessite pas d'échantillons d'entraînement spécifiques au domaine pour atteindre des performances robustes.

Utiliser le recuit pour évaluer la qualité des données.Comme Blakeney et al. (2024), nous constatons que le recuit nous permet de juger de la valeur de petits ensembles de données spécifiques à un domaine. Nous mesurons la valeur de ces ensembles de données en recuisant linéairement le taux d'apprentissage du modèle Llama 3 8B, qui a été formé avec 50%, à 0 sur 40 milliards de tokens. Dans ces expériences, nous attribuons des pondérations de 30% au nouvel ensemble de données et les pondérations restantes de 70% à l'ensemble de données par défaut. Il est plus efficace d'utiliser le recuit pour évaluer les nouvelles sources de données que d'effectuer des expériences de loi d'échelle sur chaque petit ensemble de données.

 

 

3.2 Architecture du modèle

 

Llama 3 utilise l'architecture standard du transformateur dense (Vaswani et al., 2017). L'architecture de son modèle n'est pas significativement différente de celle de Llama et Llama 2 (Touvron et al., 2023a, b) ; nos gains de performance proviennent principalement de l'amélioration de la qualité et de la diversité des données, ainsi que de l'augmentation de la taille de l'entraînement.

Nous avons apporté quelques modifications mineures :

  • Nous utilisons Grouped Query Attention (GQA ; Ainslie et al. (2023)), où 8 en-têtes de valeur-clé sont utilisés pour augmenter la vitesse d'inférence et réduire la taille du cache de valeur-clé pendant le décodage.
  • Nous utilisons un masque d'attention pour empêcher les mécanismes d'auto-attention entre les différents documents de la séquence. Nous constatons que ce changement a un impact limité lors d'un pré-entraînement standard, mais qu'il est important lors d'un pré-entraînement continu de très longues séquences.
  • Nous utilisons un vocabulaire de 128 000 tokens. Notre vocabulaire tokenisé combine les 100K tokens du vocabulaire tiktoken3 avec 28K tokens supplémentaires pour mieux prendre en charge les langues non anglaises. Par rapport au vocabulaire Llama 2, notre nouveau vocabulaire améliore la compression des échantillons de données anglaises de 3,17 à 3,94 caractères/token. Cela permet au modèle de "lire" plus de texte avec la même quantité de calcul d'entraînement. Nous avons également constaté que l'ajout de 28 000 tokens provenant de langues non anglaises spécifiques améliorait la compression et les performances en aval, tout en n'ayant aucun effet sur la tokenisation de l'anglais.
  • Nous augmentons l'hyperparamètre de fréquence de base RoPE à 500 000. Cela nous permet de mieux prendre en charge les contextes plus longs ; Xiong et al. (2023) montrent que cette valeur est valable pour des longueurs de contexte allant jusqu'à 32 768.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Le Llama 3 405B utilise une architecture comportant 126 couches, 16 384 dimensions de représentation des marqueurs et 128 têtes d'attention ; pour plus d'informations, voir le tableau 3. Il en résulte une taille de modèle qui est approximativement optimale sur le plan informatique, sur la base de nos données et d'un budget d'apprentissage de 3,8 × 10^25 FLOPs.

 

3.2.1 Lois d'échelle

Nous avons utilisé les lois d'échelle (Hoffmann et al., 2022 ; Kaplan et al., 2020) pour déterminer la taille optimale du modèle phare compte tenu de notre budget de calcul de pré-entraînement. Outre la détermination de la taille optimale du modèle, la prédiction des performances du modèle phare sur les tâches de référence en aval présente des défis importants pour les raisons suivantes :

  1. Les lois d'échelonnement existantes ne prévoient généralement que la perte de prédiction de la prochaine marque, et non une performance de référence spécifique.
  2. Les lois de mise à l'échelle peuvent être bruyantes et peu fiables car elles sont élaborées sur la base d'essais de pré-entraînement utilisant un petit budget de calcul (Wei et al., 2022b).

Pour relever ces défis, nous avons mis en œuvre une approche en deux phases pour développer des lois de mise à l'échelle qui prédisent avec précision les performances de l'analyse comparative en aval :

  1. Nous établissons d'abord la corrélation entre les FLOP de pré-entraînement et le calcul de la log-vraisemblance négative du meilleur modèle sur la tâche en aval.
  2. Ensuite, nous corrélons la log-vraisemblance négative sur la tâche en aval avec la précision de la tâche à l'aide du modèle Scaling Laws et d'un modèle plus ancien entraîné précédemment en utilisant des FLOP de calcul plus élevés. Dans cette étape, nous utilisons exclusivement la famille de modèles Llama 2.

Cette approche nous permet de prédire la performance de la tâche en aval (pour les modèles optimaux sur le plan informatique) sur la base d'un nombre spécifique de FLOPs pré-entraînés. Nous utilisons une approche similaire pour sélectionner notre combinaison de données de pré-entraînement (voir section 3.4).

Mise à l'échelle Expérience en matière de droit.Plus précisément, nous avons construit des lois de mise à l'échelle en pré-entraînant des modèles à l'aide de budgets de calcul compris entre 6 × 10^18 FLOPs et 10^22 FLOPs. Pour chaque budget de calcul, nous avons pré-entraîné des modèles avec des tailles comprises entre 40M et 16B paramètres et nous avons utilisé une fraction de la taille du modèle pour chaque budget de calcul. Dans ces cycles d'entraînement, nous utilisons une planification du taux d'apprentissage en cosinus et un échauffement linéaire dans les 2 000 étapes d'entraînement. Le taux d'apprentissage maximal a été fixé entre 2 × 10^-4 et 4 × 10^-4 en fonction de la taille du modèle. Nous avons fixé la décroissance du cosinus à 0,1 fois la valeur maximale. La décroissance du poids pour chaque étape a été fixée à 0,1 fois le taux d'apprentissage pour cette étape. Nous avons utilisé une taille de lot fixe pour chaque taille de calcul, allant de 250K à 4M.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Ces expériences ont produit les courbes IsoFLOPs de la figure 2. Les pertes dans ces courbes ont été mesurées sur des ensembles de validation distincts. Nous ajustons les valeurs de perte mesurées à l'aide d'un polynôme du second ordre et déterminons la valeur minimale de chaque parabole. Nous désignons le minimum de la parabole comme le modèle optimal du point de vue du calcul dans le cadre du budget de calcul pré-entraîné correspondant.

Nous utilisons des modèles informatiques optimaux identifiés de cette manière pour prédire le nombre optimal de jetons d'apprentissage pour un budget informatique donné. À cette fin, nous supposons qu'il existe une relation de type loi de puissance entre le budget de calcul C et le nombre optimal de jetons d'apprentissage N (C) :

N (C) = AC α .

Nous ajustons A et α en utilisant les données de la figure 2. Nous trouvons (α, A) = (0,53, 0,29) ; l'ajustement correspondant est montré dans la figure 3. L'extrapolation de la loi d'échelle résultante à 3,8 × 10 25 FLOPs suggère l'apprentissage d'un modèle avec 402B paramètres et l'utilisation de 16,55T jetons.

Une observation importante est que la courbe IsoFLOPs s'aplatit autour du minimum à mesure que le budget de calcul augmente. Cela implique que la performance du modèle phare est relativement stable face à de petites variations dans le compromis entre la taille du modèle et les marqueurs d'entraînement. Sur la base de cette observation, nous avons finalement décidé de former un modèle phare contenant le paramètre 405B.

Prédire la performance des tâches en aval.Nous utilisons le modèle optimal généré pour prédire les performances du modèle phare Llama 3 sur l'ensemble de données de référence. Tout d'abord, nous établissons une relation linéaire entre la log-vraisemblance négative (normalisée) de la réponse correcte dans l'ensemble de données de référence et les FLOP d'entraînement. Pour cette analyse, nous n'avons utilisé que le modèle de loi d'échelle entraîné à 10^22 FLOPs sur le mélange de données ci-dessus. Ensuite, nous avons établi une relation en forme de S entre la log-vraisemblance et la précision en utilisant le modèle de loi d'échelle et le modèle Llama 2, qui a été entraîné en utilisant le mélange de données et le marqueur Llama 2. (Nous montrons les résultats de cette expérience sur le benchmark ARC Challenge dans la figure 4). Nous constatons que cette prédiction de loi d'échelle en deux étapes (extrapolée sur quatre ordres de grandeur) est assez précise : elle ne sous-estime que légèrement les performances finales du modèle phare Llama 3.

 

 

3.3 Infrastructure, expansion et efficacité

 

Nous décrivons le matériel et l'infrastructure utilisés pour le pré-entraînement du Llama 3 405B et discutons de plusieurs optimisations qui améliorent l'efficacité de l'entraînement.

 

3.3.1 Infrastructure de formation

Les modèles Llama 1 et Llama 2 ont été entraînés sur le supercluster de recherche en IA de Meta (Lee et Sengupta, 2022). Au fur et à mesure de la montée en charge, l'entraînement de Llama 3 a été transféré sur le cluster de production de Meta (Lee et al., 2024). Cette configuration optimise la fiabilité au niveau de la production, ce qui est essentiel lorsque nous augmentons la formation.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Ressources informatiques : Le Llama 3 405B entraîne jusqu'à 16 000 GPU H100, chacun fonctionnant à 700W TDP avec 80GB HBM3, en utilisant la plateforme de serveur d'IA Grand Teton de Meta (Matt Bowman, 2022). Chaque serveur est équipé de huit GPU et de deux CPU ; au sein du serveur, les huit GPU sont connectés via NVLink. Les tâches d'entraînement sont planifiées à l'aide de MAST (Choudhury et al., 2024), le planificateur d'entraînement à l'échelle mondiale de Meta.

Stockage : Tectonic (Pan et al., 2021), le système de fichiers distribués à usage général de Meta, a été utilisé pour construire l'architecture de stockage pour le pré-entraînement de Llama 3 (Battey et Gupta, 2024). Il fournit 240 Po d'espace de stockage et se compose de 7 500 serveurs équipés de disques SSD qui prennent en charge un débit durable de 2 To/s et un débit de pointe de 7 To/s. L'un des principaux défis consiste à prendre en charge les écritures de points de contrôle en rafale qui saturent la structure de stockage dans un court laps de temps. Les points de contrôle sauvegardent l'état du modèle par GPU, allant de 1MB à 4GB par GPU, pour la récupération et le débogage. Notre objectif est de minimiser le temps de pause du GPU pendant les points de contrôle et d'augmenter la fréquence des points de contrôle afin de réduire la quantité de travail perdue après la récupération.

Mise en réseau : Le Llama 3 405B utilise une architecture RDMA over Converged Ethernet (RoCE) basée sur les commutateurs de rack Arista 7800 et Minipack2 Open Compute Project (OCP). Les modèles plus petits de la série Llama 3 ont été entraînés en utilisant le réseau Infiniband Quantum2 de Nvidia. Les clusters RoCE et Infiniband utilisent tous deux une connexion de 400 Gbps entre les GPU. Malgré les différences entre les technologies de réseau sous-jacentes de ces clusters, nous les avons tous deux réglés pour fournir des performances équivalentes afin de gérer ces charges de travail d'entraînement importantes. Nous reviendrons plus en détail sur notre réseau RoCE lorsque nous aurons pris la pleine responsabilité de sa conception.

  • Topologie du réseau : Notre cluster d'IA basé sur RoCE contient 24 000 GPU (note de bas de page 5) connectés via un réseau Clos à trois niveaux (Lee et al., 2024). Au niveau inférieur, chaque rack héberge 16 GPU, alloués à deux serveurs et connectés via un seul commutateur Minipack2 top-of-rack (ToR). Au niveau intermédiaire, 192 de ces racks sont connectés via des commutateurs de cluster pour former un Pod de 3 072 GPU avec une bande passante bidirectionnelle complète, garantissant l'absence de sursouscription. Au niveau supérieur, huit pods de ce type situés dans le même bâtiment du centre de données sont connectés via des commutateurs d'agrégation pour former une grappe de 24 000 GPU. Cependant, au lieu de maintenir une bande passante bidirectionnelle complète, les connexions réseau au niveau de l'agrégation ont un taux de sursouscription de 1:7. Notre approche modèle-parallèle (voir section 3.3.2) et le planificateur de tâches de formation (Choudhury et al., 2024) sont tous deux optimisés pour tenir compte de la topologie du réseau, afin de minimiser la communication réseau entre les Pods.
  • Équilibrage de la charge : L'apprentissage de grands modèles linguistiques génère un trafic réseau important qu'il est difficile d'équilibrer sur tous les chemins disponibles par des méthodes traditionnelles telles que le routage à coûts égaux et à chemins multiples (ECMP). Pour relever ce défi, nous utilisons deux techniques. Tout d'abord, notre bibliothèque agrégée crée 16 flux réseau entre deux GPU au lieu d'un, ce qui réduit le volume de trafic par flux et fournit plus de flux pour l'équilibrage de la charge. Deuxièmement, notre protocole Enhanced ECMP (E-ECMP) équilibre efficacement ces 16 flux sur différents chemins de réseau en hachant d'autres champs dans le paquet d'en-tête RoCE.

Llama 3:一个多功能、开源的 AI 模型系列

  • Contrôle de la congestion : Nous utilisons des commutateurs à tampon profond (Gangidi et al., 2024) dans le réseau dorsal pour faire face à la congestion transitoire et à la mise en mémoire tampon causées par les modèles de communication agrégés. Cela permet de limiter l'impact de la congestion persistante et de la contre-pression du réseau causée par des serveurs lents, ce qui est courant dans la formation. Enfin, un meilleur équilibrage de la charge grâce à l'E-ECMP réduit considérablement la probabilité de congestion. Grâce à ces optimisations, nous avons réussi à faire fonctionner une grappe de 24 000 GPU sans avoir recours aux méthodes traditionnelles de contrôle de la congestion, telles que la notification de la congestion quantifiée du centre de données (DCQCN).

 

3.3.2 Parallélisme dans la mise à l'échelle des modèles

Pour augmenter l'entraînement de notre plus grand modèle, nous le partageons en utilisant le parallélisme 4D - un schéma qui combine quatre approches parallèles différentes. Cette approche répartit efficacement le calcul sur plusieurs GPU et garantit que les paramètres du modèle, les états de l'optimiseur, les gradients et les valeurs d'activation de chaque GPU s'intègrent dans son HBM. Notre implémentation parallèle 4D (comme indiqué dans et al. (2020) ; Ren et al. (2021) ; Zhao et al. (2023b)) découpe le modèle, l'optimiseur et le gradient tout en mettant en œuvre le parallélisme des données, qui traite les données en parallèle sur plusieurs GPU et les synchronise après chaque étape d'entraînement. Nous utilisons FSDP pour découper l'état de l'optimiseur et le gradient pour Llama 3, mais pour le découpage du modèle, nous ne recoupons pas après le calcul en amont pour éviter une communication supplémentaire de la collection complète pendant les passes en aval.

Utilisation du GPU.En réglant soigneusement la configuration parallèle, le matériel et le logiciel, nous obtenons une utilisation des FLOPs du modèle BF16 (MFU ; Chowdhery et al. (2023)) de 38-43%. Les configurations présentées dans le tableau 4 indiquent que par rapport à 43% sur 8K GPUs et DP=64, la chute de la MFU à 41% sur 16K GPUs et DP=128 est due à la nécessité de réduire la taille du lot de chaque groupe DP pour maintenir le nombre de marqueurs globaux constants pendant l'entraînement. 41% est due à la nécessité de réduire la taille des lots de chaque groupe de DP afin de maintenir constant le nombre de jetons globaux pendant l'entraînement.

Rationaliser les améliorations parallèles.Nous avons rencontré plusieurs difficultés dans notre mise en œuvre actuelle :

  • Limitation de la taille des lots.Les implémentations actuelles imposent une limite à la taille du lot supportée par le GPU, en exigeant qu'elle soit divisible par le nombre d'étapes du pipeline. Pour l'exemple de la figure 6, le parallélisme de pipeline pour l'ordonnancement en profondeur d'abord (DFS) (Narayanan et al. (2021)) nécessite N = PP = 4, tandis que l'ordonnancement en largeur d'abord (BFS ; Lamy-Poirier (2023)) nécessite N = M, où M est le nombre total de micro-lots et N est le nombre de micro-lots consécutifs dans la même étape dans la direction avant ou arrière. Toutefois, le pré-entraînement exige généralement une certaine souplesse dans le dimensionnement des lots.
  • Déséquilibre de la mémoire.Les implémentations parallèles en pipeline existantes entraînent une consommation déséquilibrée des ressources. La première étape consomme plus de mémoire en raison de l'intégration et du réchauffement des micro-lots.
  • Les calculs ne sont pas équilibrés. Après la dernière couche du modèle, nous devons calculer les sorties et les pertes, ce qui fait de cette phase un goulot d'étranglement dans la latence d'exécution. où Di est l'indice de la i-ième dimension parallèle. Dans cet exemple, les GPU0 [TP0, CP0, PP0, DP0] et GPU1 [TP1, CP0, PP0, DP0] sont dans le même groupe TP, les GPU0 et GPU2 sont dans le même groupe CP, les GPU0 et GPU4 sont dans le même groupe PP, et les GPU0 et GPU8 sont dans le même groupe DP.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Pour résoudre ces problèmes, nous avons modifié l'approche d'ordonnancement du pipeline, comme le montre la figure 6, qui permet un réglage flexible de N - dans ce cas N = 5, ce qui permet d'exécuter n'importe quel nombre de micro-lots dans chaque lot. Cela nous permet de

(1) Lorsqu'il existe une limite à la taille du lot, il faut exécuter moins de micro-lots que le nombre d'étapes ; ou

(2) Exécuter davantage de micro-lots pour masquer la communication peer-to-peer et trouver la meilleure efficacité en termes de communication et de mémoire entre l'ordonnancement en profondeur d'abord (DFS) et l'ordonnancement en largeur d'abord (BFS). Pour équilibrer le pipeline, nous réduisons une couche de transformateur de la première et de la dernière étape, respectivement. Cela signifie que le premier bloc de modèle de la première étape n'a que la couche d'intégration, tandis que le dernier bloc de modèle de la dernière étape n'a que la projection de sortie et le calcul de la perte.

Pour réduire les bulles de pipeline, nous utilisons une approche d'ordonnancement entrelacé (Narayanan et al., 2021) sur une hiérarchie de pipeline avec V étapes de pipeline. Le ratio global de bulle du pipeline est de PP-1 V * M . En outre, nous utilisons la communication asynchrone entre pairs, qui accélère considérablement la formation, en particulier dans les cas où les masques de documents introduisent des déséquilibres de calcul supplémentaires. Nous activons TORCH_NCCL_AVOID_RECORD_STREAMS pour réduire l'utilisation de la mémoire par la communication asynchrone entre homologues. Enfin, pour réduire les coûts de mémoire, sur la base d'une analyse détaillée de l'allocation de la mémoire, nous libérons de manière proactive les tenseurs qui ne seront pas utilisés pour des calculs futurs, y compris les tenseurs d'entrée et de sortie pour chaque étape du pipeline. ** Grâce à ces optimisations, nous sommes en mesure d'exécuter les 8K tenseurs sans utiliser de points de contrôle d'activation, sans utiliser de points de contrôle d'activation. jeton séquences de pré-entraînement du lama 3.

La parallélisation contextuelle est utilisée pour les longues séquences. Nous tirons parti de la parallélisation des contextes (CP) pour améliorer l'efficacité de la mémoire lors de la mise à l'échelle des longueurs de contexte Llama 3 et pour permettre l'entraînement sur des séquences très longues, jusqu'à 128K de long. Dans la CP, nous partitionnons les dimensions de la séquence, c'est-à-dire que nous divisons la séquence d'entrée en 2 × blocs CP de sorte que chaque niveau CP reçoive deux blocs pour un meilleur équilibrage de la charge. Le ième niveau du CP reçoit le ième bloc et (2 × CP -1 -i) blocs.

 

Contrairement aux implémentations CP existantes qui chevauchent la communication et le calcul dans une structure en anneau (Liu et al., 2023a), notre implémentation CP utilise une approche basée sur la collecte globale qui agrège d'abord globalement le tenseur clé-valeur (K, V), puis calcule les sorties attentionnelles des blocs tensoriels de requête (Q) locaux. Bien que le temps de latence de la communication globale soit sur le chemin critique, nous adoptons toujours cette approche pour deux raisons principales :

(1) Il est plus facile et plus souple de prendre en charge différents types de masques d'attention, tels que les masques de documents, dans le cadre de l'attention de la PC basée sur la collecte globale ;

(2) La latence exposée de la collecte globale est faible parce que le tenseur K et V de la communication est beaucoup plus petit que le tenseur Q, en raison de l'utilisation de l'AQG (Ainslie et al., 2023). Par conséquent, la complexité temporelle du calcul de l'attention est supérieure d'un ordre de grandeur à celle de la collecte globale (O(S²) contre O(S), où S représente la longueur de la séquence dans le masque causal complet), ce qui rend la surcharge de la collecte globale négligeable.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Configuration parallélisée tenant compte du réseau.L'ordre des dimensions de la parallélisation [TP, CP, PP, DP] est optimisé pour la communication réseau. La couche la plus interne de la parallélisation nécessite la bande passante la plus élevée et la latence la plus faible, et est donc généralement limitée au sein du même serveur. La couche externe de la parallélisation peut s'étendre sur des réseaux multi-sauts et doit pouvoir tolérer une latence plus élevée. Par conséquent, sur la base des exigences en matière de bande passante et de latence du réseau, nous classons les dimensions de la parallélisation dans l'ordre suivant : [TP, CP, PP, DP].DP (c.-à-d. FSDP) est la couche de parallélisation la plus externe car elle peut tolérer une plus grande latence du réseau en préachetant de manière asynchrone les poids du modèle de découpage et en réduisant le gradient. Déterminer la configuration de parallélisation optimale avec un surcoût de communication minimal tout en évitant la saturation de la mémoire du GPU est un défi. Nous avons développé un estimateur de la consommation de mémoire et un outil de projection des performances, qui nous ont aidés à explorer diverses configurations de parallélisation et à prédire les performances globales de l'apprentissage, ainsi qu'à identifier efficacement les lacunes en matière de mémoire.

Stabilité numérique.En comparant les pertes d'entraînement entre différentes configurations parallèles, nous résolvons certains problèmes numériques qui affectent la stabilité de l'entraînement. Pour garantir la convergence de l'apprentissage, nous utilisons l'accumulation de gradient FP32 pendant le calcul inverse de plusieurs micro-lots et réduisons la dispersion des gradients à l'aide de FP32 entre les travailleurs en parallèle dans le FSDP. Pour les tenseurs intermédiaires qui sont utilisés plusieurs fois dans les calculs en amont, tels que les sorties du codeur visuel, le gradient inverse est également accumulé en FP32.

 

3.3.3 Communications collectives

La bibliothèque de communication collective de Llama 3 est basée sur une branche de la bibliothèque NCCL de Nvidia appelée NCCLX. NCCLX améliore considérablement les performances de NCCL, en particulier pour les réseaux à forte latence. Rappelons que l'ordre des dimensions parallèles est [TP, CP, PP, DP], où DP correspond à FSDP, et que les dimensions parallèles les plus extérieures, PP et DP, peuvent communiquer sur un réseau multi-sauts avec des latences de l'ordre de quelques dizaines de microsecondes. Les opérations de communication collective all-gather et reduce-scatter du NCCL original sont utilisées dans le FSDP, tandis que la communication point à point est utilisée pour le PP, qui nécessite un découpage des données et une réplication des données par étapes. Cette approche entraîne certaines des inefficacités suivantes :

  1. Un grand nombre de petits messages de contrôle doivent être échangés sur le réseau pour faciliter le transfert des données ;
  2. Opérations supplémentaires de copie de mémoire ;
  3. Utiliser les cycles supplémentaires du GPU pour la communication.

Pour l'entraînement du Llama 3, nous remédions à certaines de ces inefficacités en adaptant le découpage et les transferts de données à la latence de notre réseau, qui peut atteindre des dizaines de microsecondes dans les grands clusters. Nous permettons également aux petits messages de contrôle de passer par notre réseau avec une priorité plus élevée, en évitant notamment le blocage de la tête de file dans les commutateurs centraux profondément mis en mémoire tampon.

Nos travaux en cours pour les futures versions de Llama comprennent des modifications plus profondes de NCCLX afin de résoudre tous les problèmes susmentionnés.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

3.3.4 Fiabilité et défis opérationnels

La complexité et les scénarios de défaillance potentiels de l'entraînement par GPU 16K dépassent ceux des clusters de CPU plus importants sur lesquels nous avons travaillé. En outre, la nature synchrone de l'entraînement le rend moins tolérant aux pannes - une seule défaillance du GPU peut nécessiter le redémarrage de l'ensemble du travail. Malgré ces difficultés, pour Llama 3, nous avons obtenu des temps d'entraînement effectifs supérieurs à 90% tout en prenant en charge la maintenance automatisée de la grappe (par exemple, les mises à niveau du micrologiciel et du noyau Linux (Vigraham et Leonhardi, 2024)), ce qui a entraîné au moins une interruption de l'entraînement par jour.

Le temps de formation effective est le temps consacré à la formation effective pendant la période écoulée. Au cours des 54 jours précédant la formation, nous avons connu un total de 466 interruptions opérationnelles. Parmi celles-ci, 47 étaient des interruptions planifiées dues à des opérations de maintenance automatisées (par exemple, des mises à niveau de micrologiciels ou des opérations initiées par l'opérateur, telles que des mises à jour de configuration ou d'ensembles de données). Les 419 autres interruptions étaient imprévues et sont classées dans le tableau 5. Environ 78% des pannes imprévues ont été attribuées à des problèmes matériels identifiés, tels que des défaillances du GPU ou des composants de l'hôte, ou à des problèmes soupçonnés d'être liés au matériel, tels qu'une corruption silencieuse des données et des événements de maintenance individuels non planifiés de l'hôte.Les problèmes liés au GPU ont constitué la catégorie la plus importante, représentant 58,7% de tous les problèmes imprévus.Malgré le grand nombre de pannes, seules trois interventions manuelles majeures ont été nécessaires au cours de cette période, et la plupart des pannes n'ont pas été évitées. Malgré le grand nombre de défaillances, seules trois interventions manuelles majeures ont été nécessaires au cours de cette période et les autres problèmes ont été traités par l'automatisation.

Pour améliorer le temps de formation effectif, nous avons réduit le temps de démarrage des tâches et des points de contrôle, et développé des outils de diagnostic rapide et de résolution des problèmes. Nous avons fait un usage intensif de l'enregistreur de vol NCCL intégré à PyTorch (Ansel et al., 2024) - une fonction qui capture les métadonnées collectives et les traces de pile dans un tampon circulaire, ce qui nous permet de diagnostiquer rapidement les blocages et les problèmes de performance à l'échelle, en particulier dans le cas des aspects NCCLX. NCCLX. En l'utilisant, nous pouvons enregistrer efficacement les événements de communication et les durées pour chaque opération collective, et vider automatiquement les données de trace dans le cas d'un chien de garde NCCLX ou d'un dépassement de temps de battement de cœur. Grâce aux changements de configuration en ligne (Tang et al., 2015), nous pouvons activer de manière sélective des opérations de traçage et de collecte de métadonnées plus intensives en termes de calcul, sans avoir à modifier le code ou à redémarrer le travail. Les problèmes de débogage dans la formation à grande échelle sont compliqués par l'utilisation mixte de NVLink et RoCE dans notre réseau. Les transferts de données sont généralement effectués sur NVLink via des opérations load/store émises par le noyau CUDA, et la défaillance d'un GPU distant ou d'une connexion NVLink se manifeste souvent par une opération load/store bloquée dans le noyau CUDA sans qu'un code d'erreur explicite ne soit renvoyé. PyTorch d'accéder à l'état interne de NCCLX et de suivre les informations pertinentes. Bien qu'il ne soit pas possible d'empêcher complètement les blocages dus aux défauts NVLink, notre système surveille l'état des bibliothèques de communication et temporise automatiquement lorsque de tels blocages sont détectés. En outre, NCCLX suit l'activité du noyau et du réseau pour chaque communication NCCLX et fournit un instantané de l'état interne du collectif NCCLX défaillant, y compris les transferts de données terminés et non terminés entre tous les rangs. Nous analysons ces données pour déboguer les problèmes d'extension de NCCLX.

Parfois, des problèmes matériels peuvent entraîner l'apparition de traînards lents mais toujours en activité, qui sont difficiles à détecter. Même s'il n'y a qu'un seul retardataire, il peut ralentir des milliers d'autres GPU, souvent sous la forme d'un fonctionnement normal mais d'une communication lente. Nous avons mis au point des outils permettant de hiérarchiser les communications potentiellement problématiques provenant de groupes de processus sélectionnés. En enquêtant uniquement sur quelques suspects clés, nous sommes souvent en mesure d'identifier efficacement les traînards.

Une observation intéressante est l'impact des facteurs environnementaux sur les performances de l'entraînement à grande échelle. Pour le Llama 3 405B, nous avons remarqué des fluctuations de débit de 1-2% basées sur la variation du temps. Cette fluctuation est due aux températures élevées de la mi-journée qui affectent la tension dynamique du GPU et la mise à l'échelle de la fréquence. Pendant l'entraînement, des dizaines de milliers de GPU peuvent simultanément augmenter ou diminuer la consommation d'énergie, par exemple parce que tous les GPU attendent la fin d'un point de contrôle ou d'une communication collective, ou encore le démarrage ou l'arrêt d'un travail d'entraînement entier. Lorsque cela se produit, cela peut entraîner des fluctuations transitoires de la consommation d'énergie au sein du centre de données de l'ordre de dizaines de mégawatts, ce qui met à rude épreuve les limites du réseau électrique. Il s'agit d'un défi permanent dans la mesure où nous développons la formation pour les futurs modèles de lamas, qui seront encore plus grands.

 

 

3.4 Programmes de formation

 

La recette de pré-entraînement du lama 3 405B comprend trois étapes principales :

(1) pré-entraînement initial, (2) pré-entraînement en contexte long et (3) recuit. Chacune de ces trois étapes est décrite ci-dessous. Nous utilisons des recettes similaires pour le pré-entraînement des modèles 8B et 70B.

 

3.4.1 Pré-entraînement initial

Nous avons pré-entraîné le modèle Llama 3 405B en utilisant un schéma de taux d'apprentissage en cosinus avec un taux d'apprentissage maximal de 8 × 10-⁵, un échauffement linéaire jusqu'à 8 000 étapes et une décroissance jusqu'à 8 × 10-⁷ après 1 200 000 étapes d'entraînement. Pour améliorer la stabilité de la formation, nous utilisons une taille de lot plus petite au début de la formation et augmentons ensuite la taille du lot pour améliorer l'efficacité. Plus précisément, nous avons initialement une taille de lot de 4 millions de jetons et une longueur de séquence de 4 096. Après le pré-entraînement de 252 millions de jetons, nous doublons la taille du lot et la longueur de la séquence à 8 millions de séquences et 8 192 jetons, respectivement. Après le pré-entraînement de 2,87 tonnes de jetons, nous doublons à nouveau la taille du lot à 16 millions de jetons. Cette méthode d'apprentissage est très stable : très peu de pics de perte se produisent et aucune intervention n'est nécessaire pour corriger les déviations dans l'apprentissage du modèle.

Ajustement des combinaisons de données. Au cours de la formation, nous avons procédé à plusieurs ajustements de la combinaison de données de préformation afin d'améliorer les performances du modèle dans des tâches spécifiques en aval. En particulier, nous avons augmenté la proportion de données non anglaises pendant la préformation afin d'améliorer les performances multilingues du Llama 3. Nous avons également augmenté la proportion de données mathématiques pour améliorer le raisonnement mathématique du modèle, ajouté des données de réseau plus récentes dans les dernières étapes de la préformation pour mettre à jour les seuils de connaissance du modèle, et ajusté à la baisse la proportion d'un sous-ensemble de données qui a été identifié plus tard comme étant de moindre qualité.

 

3.4.2 Pré-entraînement en contexte long

Dans la dernière étape du pré-entraînement, nous entraînons de longues séquences pour prendre en charge des fenêtres contextuelles allant jusqu'à 128 000 tokens. Nous n'entraînons pas de longues séquences plus tôt car le calcul dans la couche d'auto-attention croît quadratiquement avec la longueur de la séquence. Nous augmentons progressivement la longueur du contexte pris en charge et nous effectuons un pré-entraînement une fois que le modèle s'est adapté avec succès à l'augmentation de la longueur du contexte. Nous évaluons la réussite de l'adaptation en mesurant à la fois

(1) Les performances du modèle dans les évaluations en contexte court ont-elles été entièrement rétablies ?

(2) Le modèle peut-il résoudre parfaitement la tâche "aiguille dans une botte de foin" jusqu'à cette longueur ? Lors du pré-entraînement du Llama 3 405B, nous avons augmenté progressivement la longueur du contexte en six étapes, en commençant par une fenêtre contextuelle initiale de 8 000 tokens et en atteignant finalement une fenêtre contextuelle de 128 000 tokens. Cette phase de pré-entraînement à contexte long a utilisé environ 800 milliards de tokens d'entraînement.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

3.4.3 Recuit

Pendant le pré-entraînement des 40 derniers millions de tokens, nous avons recuit le taux d'apprentissage linéairement jusqu'à 0 tout en maintenant une longueur de contexte de 128 000 tokens. Au cours de cette phase de recuit, nous avons également ajusté la combinaison de données pour augmenter la taille de l'échantillon de sources de données de très haute qualité ; voir la section 3.1.3. Enfin, nous avons calculé la moyenne des points de contrôle du modèle (moyenne de Polyak (1991)) pendant le recuit pour générer le modèle pré-entraîné final.

 

 

4 Formation de suivi

 

Nous avons généré et aligné des modèles Llama 3 en appliquant plusieurs cycles d'entraînement de suivi. Ces formations de suivi sont basées sur des points de contrôle pré-entraînés et intègrent un retour d'information humain pour l'alignement des modèles (Ouyang et al., 2022 ; Rafailov et al., 2024). Chaque cycle de formation de suivi a consisté en un réglage fin supervisé (SFT), suivi d'une optimisation directe des préférences (DPO ; Rafailov et al., 2024) à l'aide d'exemples générés par une annotation ou une synthèse manuelle. Nous décrivons notre modélisation de l'apprentissage et nos méthodes de données dans les sections 4.1 et 4.2, respectivement. En outre, nous fournissons des détails supplémentaires sur les stratégies de collecte de données personnalisées dans la section 4.3 afin d'améliorer le modèle en termes d'inférence, de capacités de programmation, de factorisation, de support multilingue, d'utilisation d'outils, de contextes longs et de respect d'instructions précises.

 

4.1 Modélisation

Notre stratégie de post-entraînement repose sur un modèle de récompense et un modèle linguistique. Nous formons d'abord un modèle de récompense au-dessus des points de contrôle de préformation en utilisant des données de préférence étiquetées par l'homme (voir section 4.1.2). Nous affinons ensuite les points de contrôle de préformation à l'aide d'un ajustement supervisé (SFT ; voir la section 4.1.3) et les alignons davantage sur les points de contrôle à l'aide d'une optimisation directe des préférences (DPO ; voir la section 4.1.4). Ce processus est illustré à la figure 7. Sauf indication contraire, notre processus de modélisation s'applique au Llama 3 405B, que nous appelons Llama 3 405B par souci de simplicité.

 

4.1.1 Format du dialogue de chat

Afin d'adapter un Grand Modèle de Langage (LLM) à l'interaction homme-machine, nous devons définir un protocole de dialogue qui permette au modèle de comprendre les commandes humaines et d'effectuer des tâches de dialogue. Par rapport à son prédécesseur, Llama 3 possède de nouvelles fonctionnalités telles que l'utilisation d'outils (Section 4.3.5), ce qui peut nécessiter la génération de plusieurs messages dans un seul tour de dialogue et leur envoi à différents endroits (par exemple, l'utilisateur, ipython). Pour ce faire, nous avons conçu un nouveau protocole de discussion multi-messages qui utilise une variété de jetons d'en-tête et de terminaison spéciaux. Les jetons d'en-tête sont utilisés pour indiquer la source et la destination de chaque message dans un dialogue. De même, les marqueurs de fin indiquent quand c'est au tour de l'humain et de l'IA d'alterner la parole.

 

4.1.2 Modélisation des récompenses

Nous avons formé un modèle de récompense (RM) couvrant différentes capacités et l'avons construit au-dessus des points de contrôle pré-entraînés. L'objectif de formation est le même que dans Llama 2, mais nous supprimons le terme marginal dans la fonction de perte parce que nous observons une amélioration réduite au fur et à mesure que la taille des données augmente. Comme dans Llama 2, nous utilisons toutes les données de préférence pour la modélisation de la récompense après avoir filtré les échantillons présentant des réponses similaires.

En plus des paires de préférences de réponses standard (sélectionnées, rejetées), l'annotation crée une troisième "réponse éditée" pour certains indices, où la réponse sélectionnée dans la paire est encore éditée pour être améliorée (voir la section 4.2.1). Ainsi, chaque échantillon de tri des préférences comporte deux ou trois réponses clairement classées (éditées > sélectionnées > rejetées). Au cours de l'entraînement, nous avons concaténé les indices et les réponses multiples en une seule ligne et randomisé les réponses. Il s'agit d'une approximation du scénario standard de calcul des scores en plaçant les réponses dans des lignes séparées, mais dans nos expériences d'ablation, cette approche améliore l'efficacité de la formation sans perte de précision.

 

4.1.3 Mise au point de la surveillance

Les indices étiquetés par l'homme sont d'abord rejetés pour l'échantillonnage à l'aide du modèle de récompense, dont la méthodologie détaillée est décrite à la section 4.2. Nous combinons ces données échantillonnées et rejetées avec d'autres sources de données (y compris des données synthétiques) pour affiner le modèle linguistique pré-entraîné à l'aide de pertes d'entropie croisées standard, dans le but de prédire le marquage de la cible (tout en masquant les pertes dues au marquage des indices). Voir la section 4.2 pour plus de détails sur le mélange de données. Bien que de nombreuses cibles d'entraînement soient générées par le modèle, nous qualifions cette phase de mise au point supervisée (SFT ; Wei et al. 2022a ; Sanh et al. 2022 ; Wang et al. 2022b).

Notre modèle maximal est ajusté avec un taux d'apprentissage de 1e-5 dans un délai de 8,5K à 9K étapes. Nous avons constaté que ces paramètres hyperparamétriques étaient adaptés à différentes séries et à différents mélanges de données.

 

4.1.4 Optimisation directe des préférences

Nous avons ensuite formé nos modèles SFT pour l'alignement des préférences humaines à l'aide de l'optimisation directe des préférences (DPO ; Rafailov et al., 2024). Lors de l'entraînement, nous utilisons principalement les derniers lots de données de préférences collectées auprès des modèles les plus performants lors du cycle d'alignement précédent. Par conséquent, nos données de formation correspondent mieux à la distribution des modèles de stratégie optimisés à chaque tour. Nous avons également exploré des algorithmes de stratégie tels que PPO (Schulman et al., 2017), mais nous avons constaté que DPO nécessite moins de calculs et donne de meilleurs résultats sur les modèles à grande échelle, en particulier dans les benchmarks d'adhésion aux instructions tels que IFEval (Zhou et al., 2023).

Pour Llama 3, nous avons utilisé un taux d'apprentissage de 1e-5 et fixé l'hyperparamètre β à 0.1. En outre, nous avons appliqué les modifications algorithmiques suivantes à DPO :

  • Masquage des marqueurs de formatage dans les pertes d'OPH. Nous masquons les marqueurs de format spéciaux (y compris les marqueurs d'en-tête et de terminaison décrits à la section 4.1.1) des réponses sélectionnées et rejetées afin de stabiliser l'entraînement des OPH. Nous notons que l'implication de ces marqueurs dans la perte peut conduire à un comportement indésirable du modèle, tel que la duplication de la queue ou la génération soudaine de marqueurs de terminaison. Nous émettons l'hypothèse que cela est dû à la nature contrastée de la perte de DPO - la présence de marqueurs communs dans les réponses sélectionnées et rejetées peut conduire à des objectifs d'apprentissage contradictoires, car le modèle doit simultanément augmenter et diminuer la probabilité de ces marqueurs.
  • Régularisation à l'aide de pertes NLL : la Nous avons ajouté un terme de perte de log-vraisemblance négative (NLL) aux séquences sélectionnées avec un facteur d'échelle de 0,2, comme Pang et al. (2024). Cela permet de stabiliser davantage la formation des OPH en maintenant le format requis pour la génération et en empêchant la log-vraisemblance des réponses sélectionnées de diminuer (Pang et al., 2024 ; Pal et al., 2024).

 

4.1.5 Calcul de la moyenne du modèle

Enfin, nous avons calculé la moyenne des modèles obtenus lors d'expériences utilisant diverses versions de données ou divers hyperparamètres à chaque étape de la RM, de la SFT ou de la DPO (Izmailov et al. 2019 ; Wortsman et al. 2022 ; Li et al. 2022). Nous présentons des informations statistiques sur les données de préférence humaine collectées en interne et utilisées pour le conditionnement du Llama 3. Nous avons demandé aux évaluateurs de s'engager dans plusieurs tours de dialogue avec le modèle et nous avons comparé les réponses de chaque tour. Au cours du post-traitement, nous avons divisé chaque dialogue en plusieurs exemples, chacun contenant une invite (y compris le dialogue précédent s'il est disponible) et une réponse (par exemple, une réponse qui a été sélectionnée ou rejetée).

 

Llama 3:一个多功能、开源的 AI 模型系列

 

4.1.6 Tours d'itération

Après le Llama 2, nous avons appliqué la méthodologie ci-dessus pour six séries d'itérations. À chaque tour, nous avons collecté de nouvelles données d'étiquetage des préférences et de mise au point (SFT) et échantillonné des données synthétiques à partir du dernier modèle.

 

4.2 Données post-formation

La composition des données post-entraînement joue un rôle crucial dans l'utilité et le comportement du modèle linguistique. Dans cette section, nous examinons notre procédure d'annotation et la collecte des données de préférence (section 4.2.1), la composition des données SFT (section 4.2.2) et les méthodes de contrôle de la qualité et de nettoyage des données (section 4.2.3).

 

4.2.1 Préférences

Notre processus d'étiquetage des données de préférence est similaire à celui de Llama 2. Après chaque tour, nous déployons plusieurs modèles pour l'annotation et nous échantillonnons deux réponses de différents modèles pour chaque indice de l'utilisateur. Ces modèles peuvent être entraînés à l'aide de différents schémas de mélange et d'alignement des données, ce qui permet de disposer de différentes capacités (par exemple, l'expertise en matière de code) et d'accroître la diversité des données. Nous avons demandé aux annotateurs de classer les scores de préférence dans l'une des quatre catégories en fonction de leur niveau de préférence : nettement meilleur, meilleur, légèrement meilleur ou légèrement meilleur.

Nous avons également inclus une étape d'édition après l'ordre des préférences afin d'encourager l'annotateur à affiner la réponse préférée. L'annotateur peut soit modifier directement la réponse sélectionnée, soit utiliser le modèle d'indice de retour d'information pour affiner sa propre réponse. Par conséquent, certaines données de préférences comportent trois réponses triées (Editer > Sélectionner > Rejeter).

Les statistiques d'annotation des préférences que nous avons utilisées pour la formation du Llama 3 sont présentées dans le tableau 6. L'anglais général couvre plusieurs sous-catégories, telles que les questions-réponses basées sur les connaissances ou le suivi d'instructions précises, qui dépassent le cadre des capacités spécifiques. Par rapport à Llama 2, nous avons observé une augmentation de la longueur moyenne des messages-guides et des réponses, ce qui suggère que nous formons Llama 3 à des tâches plus complexes. En outre, nous avons mis en œuvre un processus d'analyse de la qualité et d'évaluation manuelle pour évaluer de manière critique les données collectées, ce qui nous a permis d'affiner les messages-guides et de fournir un retour d'information systématique et exploitable aux annotateurs. Par exemple, au fur et à mesure que Llama 3 s'améliore après chaque cycle, nous augmenterons en conséquence la complexité des indices afin de cibler les domaines dans lesquels le modèle est à la traîne.

Lors de chaque cycle de formation tardive, nous utilisons toutes les données de préférence disponibles à ce moment-là pour la modélisation des récompenses, et uniquement les lots les plus récents de chaque capacité pour la formation DPO. Pour la modélisation des récompenses et la DPO, nous nous entraînons avec des échantillons étiquetés comme "réponse de sélection significativement meilleure ou supérieure" et nous écartons les échantillons avec des réponses similaires.

 

4.2.2 Données SFT

Nos données de réglage fin proviennent principalement des sources suivantes :

  • Indices de notre collection annotée manuellement et de leur rejet des réponses d'échantillonnage
  • Données synthétiques pour des capacités spécifiques (voir section 4.3 pour plus de détails)
  • Petite quantité de données étiquetées manuellement (voir section 4.3 pour plus de détails)

Au fur et à mesure que nous progressions dans notre cycle de post-formation, nous avons développé des variantes plus puissantes de Llama 3 et les avons utilisées pour collecter des ensembles de données plus importants afin de couvrir un large éventail de capacités complexes. Dans cette section, nous abordons les détails du processus d'échantillonnage des rejets et la composition globale du mélange final de données SFT.

Refus de prélèvement.Dans l'échantillonnage des rejets, pour chaque indice collecté pendant l'annotation manuelle (section 4.2.1), nous échantillonnons K sorties de la stratégie de modélisation du chat la plus récente (généralement les meilleurs points de contrôle d'exécution de l'itération post-formation précédente, ou les meilleurs points de contrôle d'exécution pour une compétence particulière) et utilisons notre modèle de récompense pour sélectionner le meilleur candidat, conformément à Bai et al. (2022). À des stades ultérieurs de la post-formation, nous introduisons des indices système pour guider les réponses du RS afin qu'elles se conforment à un ton, un style ou un format désiré, qui peut varier en fonction des capacités.

Pour améliorer l'efficacité de l'échantillonnage par rejet, nous utilisons PagedAttention (Kwon et al., 2023). PagedAttention améliore l'efficacité de la mémoire grâce à l'allocation dynamique du cache clé-valeur. Il prend en charge une longueur de sortie arbitraire en programmant dynamiquement les demandes en fonction de la capacité actuelle du cache. Malheureusement, cela introduit le risque de permutation lorsque la mémoire est épuisée. Pour éliminer ce surcoût de permutation, nous définissons une longueur maximale de sortie et n'exécutons les demandes que si la mémoire est suffisante pour contenir des sorties de cette longueur. pagedAttention nous permet également de partager la page de cache de valeur clé indiquée entre toutes les sorties correspondantes. Dans l'ensemble, cela a permis de multiplier par plus de deux le débit lors de l'échantillonnage de rejet.

Composition des données agrégées.Le tableau 7 présente les statistiques pour chacune des grandes catégories de données de notre combinaison "utilité". Bien que les données SFT et les données sur les préférences contiennent des domaines qui se chevauchent, elles sont traitées différemment, ce qui se traduit par des statistiques de comptage différentes. Dans la section 4.2.3, nous décrivons les techniques utilisées pour catégoriser le sujet, la complexité et la qualité de nos échantillons de données. Lors de chaque cycle de post-formation, nous ajustons soigneusement notre mélange de données global afin d'ajuster les performances sur plusieurs axes pour un large éventail de critères de référence. Notre mélange de données final sera itéré plusieurs fois pour certaines sources de haute qualité et sous-échantillonné pour d'autres.

Llama 3:一个多功能、开源的 AI 模型系列

 

4.2.3 Traitement des données et contrôle de la qualité

Étant donné que la plupart de nos données de formation sont générées par des modèles, il est nécessaire de procéder à un nettoyage et à un contrôle de qualité minutieux.

Nettoyage des données : Dans un premier temps, nous avons observé de nombreux schémas indésirables dans les données, tels que l'utilisation excessive d'émoticônes ou de points d'exclamation. Nous avons donc mis en œuvre une série de stratégies de suppression et de modification des données basées sur des règles afin de filtrer ou de supprimer les données problématiques. Par exemple, pour atténuer le problème de l'intonation trop apologétique, nous avons identifié les phrases surutilisées (par exemple, "Je suis désolé" ou "Je m'excuse") et nous avons soigneusement équilibré la proportion de ces échantillons dans l'ensemble de données.

Élagage des données : Nous appliquons également un certain nombre de techniques basées sur les modèles pour éliminer les échantillons de formation de mauvaise qualité et améliorer les performances globales du modèle :

  • Classification par sujet : Nous avons d'abord transformé le Llama 3 8B en un classificateur thématique et avons raisonné sur l'ensemble des données pour les classer dans des catégories à gros grain ("Raisonnement mathématique") et des catégories à grain fin ("Géométrie et trigonométrie").
  • Note de qualité : Nous avons utilisé le modèle de récompense et les signaux basés sur les lamas pour obtenir des scores de qualité pour chaque échantillon. Pour les scores basés sur le modèle de récompense, nous avons considéré que les données dont les scores se situaient dans le quartile supérieur étaient de haute qualité. Pour les scores basés sur le Llama, nous avons demandé aux points de contrôle du Llama 3 de noter les données d'anglais général sur trois niveaux (précision, respect des instructions et ton/présentation) et les données de code sur deux niveaux (reconnaissance des erreurs et intention de l'utilisateur) et nous avons considéré les échantillons qui ont reçu les scores les plus élevés comme des données de haute qualité. Les scores basés sur le RM et le Llama ont des taux de conflit élevés, et nous avons constaté que la combinaison de ces signaux permettait d'obtenir le meilleur rappel pour l'ensemble de test interne. En fin de compte, nous sélectionnons les exemples qui sont étiquetés comme étant de haute qualité par les filtres RM ou Llama.
  • Niveau de difficulté : Comme nous souhaitions également donner la priorité aux exemples de modèles plus complexes, nous avons évalué les données à l'aide de deux mesures de difficulté : l'Instag (Lu et al., 2023) et l'évaluation basée sur le Llama. Pour l'Instag, nous avons demandé au Llama 3 70B de procéder à l'étiquetage de l'intention sur les indices SFT, où plus l'intention est grande, plus la complexité est élevée. Nous avons également demandé au Llama 3 de mesurer la difficulté du dialogue sur trois niveaux (Liu et al., 2024c).
  • La désaccentuation sémantique : Enfin, nous effectuons un dédoublonnage sémantique (Abbas et al., 2023 ; Liu et al., 2024c). Nous commençons par regrouper les dialogues complets à l'aide de RoBERTa (Liu et al., 2019b) et nous les trions par score de qualité × score de difficulté dans chaque cluster. Nous effectuons ensuite une sélection gourmande en itérant sur tous les exemples triés, en ne conservant que ceux dont la similarité cosinus maximale avec les exemples vus dans les clusters jusqu'à présent est inférieure à un seuil.

 

4.3 Capacité

En particulier, nous soulignons certains des efforts déployés pour améliorer des compétences spécifiques, telles que la manipulation de codes (section 4.3.1), le multilinguisme (section 4.3.2), les compétences mathématiques et de raisonnement (section 4.3.3), la contextualisation longue (section 4.3.4), l'utilisation d'outils (section 4.3.5), la factualité (section 4.3.6), et la contrôlabilité (section 4.3.7).

 

4.3.1 Code

depuis (un temps) Copilote et Codex (Chen et al., 2021) ont été publiés, les LLM pour le code ont reçu beaucoup d'attention. Les développeurs utilisent désormais largement ces modèles pour générer des extraits de code, déboguer, automatiser des tâches et améliorer la qualité du code. Pour Llama 3, notre objectif est d'améliorer et d'évaluer la génération de code, la documentation, le débogage et les capacités de révision pour les langages de programmation prioritaires suivants : Python, Java, JavaScript, C/C++, TypeScript, Rust, PHP, HTML/CSS, SQL, et bash/shell.Ici, nous présentons les résultats obtenus en Nous présentons ici les résultats obtenus en formant des experts en code, en générant des données synthétiques pour SFT, en passant à des formats améliorés via des invites du système, et en créant des filtres de qualité pour supprimer les mauvais échantillons des données de formation afin d'améliorer ces fonctions de codage.

Formation spécialisée.Nous avons formé un expert en code et l'avons utilisé lors de plusieurs cycles de post-formation afin de collecter des annotations de code humaines de haute qualité. Pour ce faire, nous nous sommes éloignés du cycle de pré-entraînement principal et avons poursuivi le pré-entraînement sur un mélange de 1T tokens qui étaient principalement (>85%) des données de code. Le pré-entraînement continu sur des données spécifiques à un domaine s'est avéré efficace pour améliorer les performances dans des domaines spécifiques (Gururangan et al., 2020). Nous suivons une recette similaire à celle de CodeLlama (Rozière et al., 2023). Dans les derniers milliers d'étapes de l'entraînement, nous effectuons un réglage fin du contexte long (LCFT) sur un mélange de haute qualité de données de code au niveau du référentiel, étendant la longueur du contexte de l'expert à 16K tokens. Enfin, nous suivons une recette de modélisation post-entraînement similaire à celle décrite dans la section 4.1 pour aligner le modèle, mais en utilisant un mélange de données SFT et DPO qui sont principalement spécifiques au code. Le modèle est également utilisé pour l'échantillonnage de rejet des indices de codage (section 4.2.2).

Génération de données synthétiques.Au cours du développement, nous avons identifié les principaux problèmes liés à la génération de code, notamment la difficulté à suivre les instructions, les erreurs de syntaxe du code, la génération de code incorrect et la difficulté à corriger les erreurs. Alors que des annotations humaines denses pourraient théoriquement résoudre ces problèmes, la génération de données synthétiques offre une approche complémentaire moins coûteuse, plus évolutive et qui n'est pas limitée par le niveau d'expertise des annotateurs.

Nous avons donc utilisé Llama 3 et Code Expert pour générer un grand nombre de dialogues synthétiques SFT. Nous décrivons trois méthodes de haut niveau pour générer des données de code synthétiques. Au total, nous avons utilisé plus de 2,7 millions d'exemples synthétiques pendant le SFT.

1. Génération de données synthétiques : mise en œuvre du retour d'information.Les modèles 8B et 70B montrent des améliorations significatives de performance sur les données d'entraînement générées par des modèles plus grands et plus compétents. Cependant, nos expériences préliminaires montrent que l'entraînement du seul Llama 3 405B sur ses propres données générées n'aide pas (ou même dégrade les performances). Pour remédier à cette limitation, nous introduisons le feedback d'exécution comme une source de vérité qui permet au modèle d'apprendre de ses erreurs et de rester sur la bonne voie. En particulier, nous générons un ensemble de données d'environ un million de dialogues de code synthétiques en utilisant la procédure suivante :

  • Génération de descriptions de problèmes :Tout d'abord, nous avons généré un vaste ensemble de descriptions de problèmes de programmation couvrant une grande variété de sujets (y compris des distributions à longue queue). Pour parvenir à cette diversité, nous avons échantillonné au hasard des extraits de code provenant de diverses sources et demandé au modèle de générer des problèmes de programmation à partir de ces exemples. Cela nous a permis d'exploiter un large éventail de sujets et de créer un ensemble complet de descriptions de problèmes (Wei et al., 2024).
  • Génération de solutions :Nous avons ensuite demandé au Llama 3 de résoudre chaque problème dans le langage de programmation donné. Nous avons observé que l'ajout de bonnes règles de programmation aux invites améliorait la qualité des solutions générées. En outre, nous avons trouvé utile de demander au modèle d'expliquer son processus de réflexion à l'aide d'annotations.
  • Analyse de la correction : Après avoir généré des solutions, il est essentiel de reconnaître que leur exactitude n'est pas garantie et que l'inclusion de solutions incorrectes dans l'ensemble de données affiné peut compromettre la qualité du modèle. Bien que nous ne puissions pas garantir une exactitude totale, nous avons mis au point des méthodes permettant d'obtenir une exactitude approximative. À cette fin, nous prenons le code source extrait des solutions générées et appliquons une combinaison de techniques d'analyse statique et dynamique pour tester leur exactitude, y compris :
    • Analyse statique : Nous soumettons tout le code généré à un analyseur syntaxique et à des outils de vérification du code afin de garantir l'exactitude de la syntaxe, de détecter les erreurs de syntaxe, l'utilisation de variables non initialisées ou de fonctions non importées, les problèmes de style de code, les erreurs de type, etc.
    • Génération et exécution de tests unitaires : Pour chaque problème et solution, nous invitons le modèle à générer des tests unitaires et à les exécuter avec la solution dans un environnement conteneurisé, en détectant les erreurs d'exécution et certaines erreurs sémantiques.
  • Retour d'erreur et autocorrection itérative : Lorsque la solution échoue à une étape quelconque, nous demandons au modèle de la modifier. L'invite contient la description originale du problème, la mauvaise solution et le retour d'information de l'analyseur syntaxique/outil d'inspection du code/programme de test (sortie standard, erreur standard et code de retour). Après l'échec de l'exécution d'un test unitaire, le modèle peut soit corriger le code pour qu'il passe les tests existants, soit modifier ses tests unitaires pour les adapter au code généré. Seuls les dialogues qui passent toutes les vérifications sont inclus dans l'ensemble de données final pour le réglage fin supervisé (SFT). Nous avons notamment observé qu'environ 20% des solutions étaient initialement incorrectes mais se corrigeaient d'elles-mêmes, ce qui suggère que le modèle a appris du retour d'information sur l'exécution et a amélioré ses performances.
  • Ajustement et amélioration itérative : Le processus de mise au point se déroule sur plusieurs cycles, chaque cycle s'appuyant sur le précédent. Après chaque cycle de mise au point, le modèle est amélioré afin de générer des données synthétiques de meilleure qualité pour le cycle suivant. Ce processus itératif permet d'affiner et d'améliorer progressivement les performances du modèle.

 

2) Génération de données synthétiques : traduction du langage de programmation. Nous observons un écart de performance entre les principaux langages de programmation (par exemple Python/C++) et les langages de programmation moins courants (par exemple Typescript/PHP). Cela n'est pas surprenant car nous disposons de moins de données d'entraînement pour les langages de programmation moins courants. Pour atténuer ce problème, nous compléterons les données disponibles en traduisant les données des langages de programmation courants dans des langages moins courants (comme Chen et al. (2023) dans le domaine de l'inférence). Pour ce faire, nous sollicitons Llama 3 et assurons la qualité de l'analyse syntaxique, de la compilation et de l'exécution. La figure 8 montre un exemple de code PHP synthétique traduit à partir de Python. Cela améliore considérablement les performances des langages moins courants mesurées par le benchmark MultiPL-E (Cassano et al., 2023).

3) Génération de données synthétiques : traduction inverse. Afin d'améliorer certaines capacités de codage (par exemple, la documentation, l'interprétation) pour lesquelles la quantité d'informations provenant du retour d'exécution est insuffisante pour déterminer la qualité, nous utilisons une autre approche en plusieurs étapes. Grâce à ce processus, nous avons généré environ 1,2 million de dialogues synthétiques liés à l'interprétation, à la génération, à la documentation et au débogage du code. En commençant par des extraits de code dans différents langages à partir des données de pré-entraînement :

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

  • Générer : Nous avons demandé au Llama 3 de générer des données représentant les capacités cibles (par exemple, en ajoutant des commentaires et des chaînes de documentation à un extrait de code, ou en demandant au modèle d'interpréter un morceau de code).
  • Traduction inversée. Nous invitons le modèle à "retraduire" les données générées synthétiquement vers le code original (par exemple, nous invitons le modèle à générer du code uniquement à partir de ses documents, ou nous demandons au modèle de générer du code uniquement à partir de ses explications).
  • Filtration. En utilisant le code original comme référence, nous demandons à Llama 3 de déterminer la qualité de la sortie (par exemple, nous demandons au modèle dans quelle mesure le code rétro-traduit est fidèle au code original). Nous utilisons ensuite l'exemple généré avec le score d'auto-validation le plus élevé dans SFT.

Guide de rejet des échantillons. Pendant l'échantillonnage de rejet, nous utilisons des indices système spécifiques au code pour améliorer la lisibilité, la documentation, l'exhaustivité et le caractère concret du code. Rappelons qu'à la section 7, ces données sont utilisées pour affiner le modèle linguistique. La figure 9 montre un exemple de la manière dont les indices du système peuvent contribuer à améliorer la qualité du code généré - il ajoute les commentaires nécessaires, utilise des noms de variables plus informatifs, économise de la mémoire, etc.

Filtrer les données de formation en utilisant l'exécution et le modèle comme rubriques. Comme décrit à la section 4.2.3, nous avons parfois rencontré des problèmes de qualité dans les données échantillonnées rejetées, tels que l'inclusion de blocs de code erronés. La détection de ces problèmes dans les données d'échantillonnage rejetées n'est pas aussi simple que la détection de nos données de code synthétiques, car les réponses d'échantillonnage rejetées contiennent souvent un mélange de langage naturel et de code qui n'est pas toujours exécutable. (Par exemple, les invites des utilisateurs peuvent explicitement demander du pseudocode ou des modifications portant uniquement sur de très petites parties de l'exécutable). Pour résoudre ce problème, nous utilisons une approche "modèle comme juge", où les versions antérieures de Llama 3 sont évaluées et reçoivent une note binaire (0/1) basée sur deux critères : l'exactitude du code et le style du code. Seuls les échantillons ayant obtenu un score parfait de 2 ont été retenus. Au départ, ce filtrage strict a entraîné une dégradation des performances du benchmark en aval, principalement parce qu'il supprimait de manière disproportionnée les échantillons contenant des indices difficiles. Pour y remédier, nous avons stratégiquement modifié certaines des réponses classées comme les données codées les plus difficiles jusqu'à ce qu'elles répondent aux critères du "modèle en tant que juge" basés sur les lamas. En améliorant ces questions difficiles, les données codées ont équilibré la qualité et la difficulté afin d'obtenir une performance optimale en aval.

 

4.3.2 Le multilinguisme

Cette section décrit comment nous avons amélioré les capacités multilingues de Llama 3, notamment en formant un modèle expert spécialisé sur davantage de données multilingues, en obtenant et en générant des données de haute qualité pour les commandes multilingues en allemand, français, italien, portugais, hindi, espagnol et thaïlandais, et en relevant les défis spécifiques de l'amorçage des langues multilingues afin d'améliorer les performances globales de notre modèle.

Formation spécialisée.Notre mélange de données de pré-entraînement Llama 3 contient beaucoup plus de tokens anglais que de tokens non-anglais. Afin de collecter des annotations humaines non anglaises de meilleure qualité, nous entraînons un modèle expert multilingue en ramifiant les exécutions de pré-entraînement et en continuant le pré-entraînement sur un mélange de données contenant 90% de tokens multilingues. Nous entraînons ensuite ce modèle expert comme décrit dans la section 4.1. Ce modèle expert est ensuite utilisé pour collecter des annotations humaines non anglaises de meilleure qualité jusqu'à ce que le pré-entraînement soit entièrement terminé.

Collecte de données multilingues.Nos données SFT multilingues proviennent principalement des sources suivantes. La distribution globale est de 2,41 TP3T d'annotations humaines, 44,21 TP3T de données provenant d'autres tâches de TAL, 18,81 TP3T de données d'échantillonnage de rejet, et 34,61 TP3T de données d'inférence de traduction.

  • Annotation manuelle :Nous recueillons des données de haute qualité, annotées manuellement par des linguistes et des locuteurs natifs. Ces annotations consistent principalement en des indications ouvertes qui représentent des cas d'utilisation réels.
  • Données provenant d'autres tâches NLP :Pour une amélioration supplémentaire, nous utilisons des données d'entraînement multilingues provenant d'autres tâches et nous les réécrivons sous forme de dialogue. Par exemple, nous utilisons des données provenant d'exams-qa (Hardalov et al., 2020) et de Conic10k (Wu et al., 2023). Pour améliorer l'alignement linguistique, nous utilisons également des textes parallèles provenant de GlobalVoices (Prokopidis et al., 2016) et Wikimedia (Tiedemann, 2012). Nous avons utilisé le filtrage basé sur le LID et Blaser 2.0 (Seamless Communication et al., 2023) pour éliminer les données de mauvaise qualité. Pour les données de textes parallèles, au lieu d'utiliser directement des paires de bi-textes, nous avons appliqué un modèle multilingue inspiré par Wei et al. (2022a) afin de mieux simuler les dialogues réels dans les scénarios de traduction et d'apprentissage des langues.
  • Rejeter les données d'échantillonnage :Nous avons appliqué l'échantillonnage par rejet à des indices annotés par l'homme pour générer des échantillons de haute qualité en vue d'un réglage fin, avec peu de modifications par rapport au processus pour les données anglaises :
    • Génération : nous avons étudié la possibilité de sélectionner aléatoirement des hyperparamètres de température compris entre 0,2 et 1 dans les premiers cycles de post-entraînement afin de diversifier la génération. Lorsque les températures sont élevées, les réponses aux indices multilingues peuvent devenir créatives et inspirantes, mais elles peuvent aussi être sujettes à des changements de code inutiles ou non naturels. Dans les dernières étapes de la post-formation, nous avons utilisé une valeur constante de 0,6 pour équilibrer ce compromis. En outre, nous avons utilisé des indices de système spécialisés pour améliorer le formatage, la structure et la lisibilité générale des réponses.
    • Sélection : avant la sélection basée sur le modèle de récompense, nous avons mis en œuvre des contrôles multilingues spécifiques afin de garantir un taux élevé de correspondances linguistiques entre les messages-guides et les réponses (par exemple, il ne faut pas s'attendre à ce que les messages-guides en hindi romanisé fassent l'objet d'une réponse en caractères sanskrits hindi).
  • Données de traduction :Nous avons essayé d'éviter d'utiliser des données de traduction automatique pour affiner le modèle afin de prévenir l'émergence de l'anglais traduit (Bizzoni et al., 2020 ; Muennighoff et al., 2023) ou d'éventuels biais de nom (Wang et al., 2022a), de genre (Savoldi et al., 2021) ou de culture (Ji et al., 2023). . En outre, nous voulions éviter que le modèle ne soit exposé qu'à des tâches ancrées dans des contextes culturels anglophones, qui pourraient ne pas être représentatifs de la diversité linguistique et culturelle que nous voulions saisir. Nous avons fait une exception et traduit les données synthétisées de raisonnement quantitatif (voir la section 4.3.3 pour plus d'informations) en langues autres que l'anglais afin d'améliorer les performances de raisonnement quantitatif dans les langues autres que l'anglais. En raison de la nature simple du langage de ces problèmes mathématiques, les échantillons traduits ne présentaient que peu de problèmes de qualité. Nous avons observé des gains significatifs en ajoutant ces données traduites au MGSM (Shi et al., 2022).

 

4.3.3 Mathématiques et raisonnement

Nous définissons le raisonnement comme la capacité à effectuer un calcul en plusieurs étapes et à parvenir à la bonne réponse finale.

Plusieurs défis ont guidé notre approche de la formation de modèles excellant dans le raisonnement mathématique :

  • Manque de conseils. À mesure que la complexité des problèmes augmente, le nombre d'indices ou de problèmes valables pour le réglage fin supervisé (SFT) diminue. Cette rareté rend difficile la création d'ensembles de données de formation diversifiés et représentatifs pour enseigner aux modèles diverses compétences mathématiques (Yu et al. 2023 ; Yue et al. 2023 ; Luo et al. 2023 ; Mitra et al. 2024 ; Shao et al. 2024 ; Yue et al. 2024b).
  • Absence de véritables processus de raisonnement. Un raisonnement efficace nécessite des solutions étape par étape pour faciliter le processus de raisonnement (Wei et al., 2022c). Cependant, il manque souvent des processus de raisonnement réalistes qui sont essentiels pour guider le modèle sur la manière de décomposer progressivement le problème et d'arriver à la réponse finale (Zelikman et al., 2022).
  • Étape intermédiaire incorrecte. Lors de l'utilisation de chaînes d'inférence générées par des modèles, les étapes intermédiaires ne sont pas toujours correctes (Cobbe et al. 2021 ; Uesato et al. 2022 ; Lightman et al. 2023 ; Wang et al. 2023a). Cette imprécision peut conduire à des réponses finales incorrectes et doit être prise en compte.
  • Former le modèle à l'aide d'outils externes. La capacité d'améliorer les modèles pour utiliser des outils externes tels que les interprètes de code leur permet de raisonner en imbriquant le code et le texte (Gao et al. 2023 ; Chen et al. 2022 ; Gou et al. 2023). Cette capacité peut améliorer considérablement leurs compétences en matière de résolution de problèmes.
  • Différences entre la formation et le raisonnement : la La façon dont les modèles sont affinés pendant la formation diffère généralement de la façon dont ils sont utilisés pendant le raisonnement. Pendant le raisonnement, le modèle affiné peut interagir avec des humains ou d'autres modèles et avoir besoin d'un retour d'information pour améliorer son raisonnement. Assurer la cohérence entre la formation et les applications réelles est essentiel pour maintenir la performance de l'inférence.

Pour relever ces défis, nous appliquons la méthodologie suivante :

  • Résoudre le problème du manque d'indices. Nous prenons des données de préformation pertinentes provenant de contextes mathématiques et les convertissons en un format de question-réponse qui peut être utilisé pour un réglage fin supervisé. En outre, nous identifions les compétences mathématiques dans lesquelles le modèle est peu performant et nous recueillons activement des indices auprès des humains pour enseigner ces compétences au modèle. Pour faciliter ce processus, nous créons une taxonomie des compétences mathématiques (Didolkar et al., 2024) et demandons aux humains de fournir les invites/questions correspondantes.
  • Augmentation des données de formation avec des étapes de raisonnement par étapes. Nous utilisons Llama 3 pour générer des solutions étape par étape pour un ensemble d'indices. Pour chaque invite, le modèle produit un nombre variable de résultats générés. Ces résultats générés sont ensuite filtrés en fonction de la bonne réponse (Li et al., 2024a). Nous effectuons également une auto-validation, où Llama 3 est utilisé pour vérifier qu'une solution étape par étape particulière est valide pour un problème donné. Ce processus améliore la qualité des données affinées en éliminant les cas où le modèle ne produit pas de trajectoires d'inférence valides.
  • Filtrage des étapes de raisonnement erronées. Nous formons des modèles de résultats et de récompense par étapes (Lightman et al., 2023 ; Wang et al., 2023a) pour filtrer les données d'apprentissage comportant des étapes d'inférence intermédiaires incorrectes. Ces modèles de récompense sont utilisés pour éliminer les données dont l'inférence par étapes n'est pas valide, ce qui garantit que le réglage fin produit des données de haute qualité. Pour les indices plus difficiles, nous utilisons la recherche arborescente de Monte Carlo (MCTS) avec des modèles de récompense par étapes appris pour générer des trajectoires d'inférence valides, ce qui améliore encore la collecte de données d'inférence de haute qualité (Xie et al., 2024).
  • Entrelacement des codes et raisonnement textuel. Nous suggérons que Llama 3 résout le problème de l'inférence en combinant l'inférence textuelle et le code Python qui lui est associé (Gou et al., 2023). L'exécution du code est utilisée comme un signal de rétroaction pour éliminer les cas où la chaîne d'inférence n'est pas valide et pour garantir l'exactitude du processus d'inférence.
  • Apprendre à partir du retour d'expérience et des erreurs. Pour simuler le feedback humain, nous utilisons des résultats de génération incorrects (c'est-à-dire des résultats de génération qui conduisent à des trajectoires d'inférence incorrectes) et corrigeons les erreurs en demandant au Llama 3 de générer des résultats de génération corrects (An et al. 2023b ; Welleck et al. 2022 ; Madaan et al. 2024a). Le processus auto-itératif consistant à utiliser le retour d'information des tentatives incorrectes et à les corriger contribue à améliorer la capacité du modèle à raisonner avec précision et à apprendre de ses erreurs.

 

4.3.4 Contexte long

Dans la phase finale de pré-entraînement, nous avons étendu la longueur du contexte du lama 3 de 8K à 128K jetons (voir la section 3.4 pour plus d'informations à ce sujet). Comme pour le pré-entraînement, nous avons constaté qu'au cours de la mise au point, la formulation devait être soigneusement ajustée afin d'équilibrer les capacités des contextes courts et longs.

SFT et génération de données synthétiques. Le simple fait d'appliquer notre formulation SFT existante en utilisant uniquement des données de contexte court a entraîné une diminution significative de la capacité de contexte long en pré-entraînement, soulignant la nécessité d'incorporer des données de contexte long dans le portefeuille de données SFT. Dans la pratique, cependant, il n'est pas pratique d'étiqueter manuellement la plupart de ces exemples, car la lecture de longs contextes est fastidieuse et prend beaucoup de temps, c'est pourquoi nous nous appuyons fortement sur des données synthétiques pour combler cette lacune. Nous avons utilisé une version antérieure de Llama 3 pour générer des données synthétiques basées sur les principaux cas d'utilisation des contextes longs : (potentiellement plusieurs séries de) questions-réponses, longs résumés de documents, et raisonnement sur la base de code, et nous décrivons ces cas d'utilisation plus en détail ci-dessous.

  • QUESTIONS ET RÉPONSES : Nous avons soigneusement sélectionné un ensemble de longs documents à partir de l'ensemble de données de pré-entraînement. Nous avons divisé ces documents en 8 000 morceaux étiquetés et avons demandé à une version antérieure du modèle Llama 3 de générer des paires d'AQ sur des morceaux sélectionnés de manière aléatoire. Le document entier est utilisé comme contexte pendant la formation.
  • Résumés : Nous appliquons le résumé hiérarchique de documents à contexte long en utilisant d'abord notre modèle de contexte 8K Llama 3 le plus puissant pour résumer hiérarchiquement des blocs de 8K de longueur d'entrée. Ces résumés sont ensuite agrégés. Pendant l'entraînement, nous fournissons le document complet et demandons au modèle de le résumer en préservant tous les détails importants. Nous générons également des paires d'AQ basées sur les résumés des documents et invitons le modèle à répondre à des questions qui requièrent une compréhension globale de l'ensemble du long document.
  • Raisonnement à partir d'un code contextuel long : Nous analysons les fichiers Python pour identifier les déclarations d'importation et déterminer leurs dépendances. À partir de là, nous sélectionnons les fichiers les plus couramment utilisés, en particulier ceux qui sont référencés par au moins cinq autres fichiers. Nous supprimons l'un de ces fichiers clés du référentiel et demandons au modèle d'identifier les dépendances des fichiers manquants et de générer le code manquant nécessaire.

Nous classons ensuite ces échantillons générés synthétiquement en fonction de la longueur de la séquence (16K, 32K, 64K et 128K) pour une localisation plus fine de la longueur de l'entrée.

Grâce à des expériences d'ablation minutieuses, nous avons observé que le fait de mélanger les données de contexte long de 0,1% générées synthétiquement avec les données de contexte court originales optimise les performances des tests de référence pour les contextes courts et longs.

DPD. Nous notons que le fait de n'utiliser que des données d'entraînement en contexte court dans DPO n'a pas d'incidence négative sur les performances en contexte long, tant que le modèle SFT fonctionne bien pour les tâches en contexte long. Nous pensons que cela est dû au fait que notre formulation DPO comporte moins d'étapes d'optimisation que le modèle SFT. Compte tenu de cette constatation, nous conservons la formulation DPO standard en contexte court au-dessus des points de contrôle SFT en contexte long.

 

4.3.5 Utilisation d'outils

Apprendre aux grands modèles de langage (LLM) à utiliser des outils tels que les moteurs de recherche ou les interprètes de code peut considérablement élargir l'éventail des tâches qu'ils peuvent résoudre, les transformant de modèles purement bavards en assistants plus polyvalents (Nakano et al. 2021 ; Thoppilan et al. 2022 ; Parisi et al. 2022 ; Gao et al. 2023 2022 ; Parisi et al. 2022 ; Gao et al. 2023 ; Mialon et al. 2023a ; Schick et al. 2024). Nous avons entraîné le Llama 3 à interagir avec les outils suivants :

  • Le lama 3 a été entraîné à utiliser Brave Search7 pour répondre à des questions sur des événements récents, après la date limite d'acquisition des connaissances, ou à des requêtes nécessitant la recherche d'informations spécifiques sur le web.
  • Llama 3 génère et exécute du code pour effectuer des calculs complexes, lit les fichiers téléchargés par l'utilisateur et résout des tâches basées sur ces fichiers, telles que des quiz, des résumés, des analyses de données ou des visualisations.
  • Moteur de calcul mathématique : Llama 3 peut utiliser l'API8 Wolfram Alpha pour résoudre des problèmes mathématiques et scientifiques avec plus de précision, ou pour extraire des informations exactes des bases de données Wolfram.

Le modèle généré est capable d'utiliser ces outils dans le cadre d'un chat pour résoudre les questions des utilisateurs, y compris les dialogues à plusieurs tours. Si la requête nécessite plusieurs invocations des outils, le modèle peut écrire des plans étape par étape qui invoquent les outils de manière séquentielle et qui raisonnent après chaque invocation d'outil.

Nous améliorons également les capacités d'utilisation d'outils de Llama 3 à partir d'un échantillon zéro - étant donné des définitions d'outils potentiellement inédites et des requêtes d'utilisateurs dans un contexte contextuel, nous entraînons le modèle à générer les appels d'outils corrects.

Réalisation.Nous implémentons les outils de base en tant qu'objets Python avec différentes méthodes. Les outils à échantillon zéro peuvent être mis en œuvre sous forme de fonctions Python avec des descriptions et de la documentation (c'est-à-dire des exemples d'utilisation), et le modèle n'a besoin que de la signature de la fonction et de la chaîne de documentation comme contexte pour générer les appels appropriés.

Nous convertissons également les définitions de fonctions et les appels au format JSON, par exemple pour les appels à l'API Web. Tous les appels d'outils sont exécutés par l'interpréteur Python, qui doit être activé à l'invite système de Llama 3. Les outils de base peuvent être activés ou désactivés séparément à partir de l'invite système.

Collecte des données.Contrairement à Schick et al. (2024), nous nous appuyons sur les annotations et les préférences humaines pour apprendre à Llama 3 à utiliser les outils. Cela diffère du pipeline de post-entraînement généralement utilisé par Llama 3 de deux manières principales :

  • En ce qui concerne les outils, les dialogues contiennent souvent plus d'un message d'assistant (par exemple, l'invocation d'un outil et le raisonnement sur le résultat de l'outil). C'est pourquoi nous procédons à une annotation au niveau des messages afin de recueillir un retour d'information détaillé : l'annotateur fournit des préférences pour deux messages d'assistant dans le même contexte ou modifie l'un des messages si les deux posent un problème majeur. Le message sélectionné ou modifié est alors ajouté au contexte et le dialogue se poursuit. Cela permet d'obtenir un retour d'information humain sur la capacité de l'assistant à invoquer l'outil et à raisonner sur les résultats de l'outil. L'annotateur ne peut pas classer ou modifier les résultats de l'outil.
  • Nous n'avons pas effectué d'échantillonnage par rejet parce qu'aucun gain n'a été observé lors de l'évaluation comparative de nos instruments.

Afin d'accélérer le processus d'annotation, nous avons d'abord testé les capacités d'utilisation de base de l'outil en affinant les données synthétiques issues des précédents points de contrôle de Llama 3. De cette manière, l'annotateur devra effectuer moins d'opérations d'édition. De même, au fur et à mesure que Llama 3 s'améliore au cours du développement, nous compliquons progressivement notre protocole d'annotation humaine : nous commençons par une seule série d'annotations sur l'utilisation des outils, puis nous passons à l'utilisation des outils dans le dialogue et, enfin, nous annotons l'utilisation des outils en plusieurs étapes et l'analyse des données.

Ensemble de données d'outils.Afin de créer des données destinées à être utilisées dans des applications utilisant des outils, nous suivons les étapes suivantes.

  • Utilisation d'un outil en une seule étape. Nous procédons d'abord à une petite génération d'échantillons pour synthétiser les invites de l'utilisateur qui, par construction, nécessitent un appel à l'un de nos outils principaux (par exemple, une question qui dépasse la date limite de nos connaissances). Ensuite, toujours en s'appuyant sur une petite partie de la génération d'échantillons, nous générons des appels d'outils appropriés pour ces indications, nous les exécutons et nous ajoutons la sortie au contexte du modèle. Enfin, nous invitons à nouveau le modèle à générer une réponse finale à la requête de l'utilisateur sur la base des résultats de l'outil. Nous obtenons des trajectoires de la forme suivante : indices du système, indices de l'utilisateur, appels d'outils, sorties d'outils et réponses finales. Nous avons également filtré environ 30% de l'ensemble de données pour supprimer les appels d'outils non exécutables ou d'autres problèmes de formatage.
  • Utilisation d'outils en plusieurs étapes. Nous suivons un protocole similaire en générant d'abord des données synthétiques pour enseigner au modèle les capacités de base d'utilisation des outils. Pour ce faire, nous demandons d'abord à Llama 3 de générer des indices utilisateur qui nécessitent au moins deux invocations d'outils (soit à partir du même outil, soit à partir d'outils différents de notre ensemble de base). Ensuite, sur la base de ces indices, nous effectuons un petit nombre d'échantillons invitant Llama 3 à générer une solution composée d'étapes d'inférence et d'appels d'outils imbriqués, similaire à la méthode de l ReAct (Yao et al., 2022). La figure 10 présente un exemple du lama 3 effectuant une tâche impliquant l'utilisation d'outils en plusieurs étapes.
  • Téléchargement de fichiers. Nous annotons les types de fichiers suivants : .txt, .docx, .pdf, .pptx, .xlsx, .csv, .tsv, .py, .json, .jsonl, .html, .xml. Nos invites sont basées sur les fichiers fournis et demandent de résumer le contenu des fichiers, de trouver et de corriger les bogues, d'optimiser les extraits de code et d'effectuer l'analyse ou la visualisation des données. La figure 11 montre un exemple de Llama 3 effectuant une tâche impliquant le téléchargement de fichiers.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Après avoir affiné ces données synthétiques, nous avons recueilli des annotations humaines à partir d'une variété de scénarios, y compris plusieurs séries d'interactions, l'utilisation d'outils au-delà de trois étapes, et des situations où les invocations d'outils ne produisaient pas de réponses satisfaisantes. Nous avons enrichi les données synthétiques avec différents indices du système pour apprendre au modèle à n'utiliser les outils que lorsqu'ils sont activés. Pour entraîner le modèle à éviter les appels d'outils pour des requêtes simples, nous avons également ajouté des requêtes et leurs réponses provenant d'ensembles de données faciles à calculer ou de questions-réponses (Berant et al. 2013 ; Koncel-Kedziorski et al. 2016 ; Joshi et al. 2017 ; Amini et al. 2019), qui n'utilisent pas l'outil, mais dans lesquels les indices du système ont activé l'outil.

Échantillon zéro de données sur l'utilisation des outils. Nous améliorons la capacité de Llama 3 à utiliser des outils à échantillon zéro (également connus sous le nom d'appels de fonction) en affinant un ensemble large et diversifié de compositions partielles (définitions de fonction, requêtes d'utilisateur, appels correspondants). Nous évaluons notre modèle sur une collection d'outils inédits.

  • Appels de fonctions simples, imbriquées et parallèles : Les appels peuvent être simples, imbriqués (c'est-à-dire que nous passons les appels de fonction comme arguments à une autre fonction) ou parallèles (c'est-à-dire que le modèle renvoie une liste d'appels de fonction indépendants). Générer une variété de fonctions, de requêtes et de résultats réels peut être un défi (Mekala et al., 2024), et nous nous appuyons sur l'exploration de la pile (Kocetkov et al., 2022) pour baser nos requêtes d'utilisateurs synthétiques sur des fonctions réelles. Plus précisément, nous extrayons les appels de fonctions et leurs définitions, nous les nettoyons et les filtrons (par exemple, les chaînes de documents manquantes ou les fonctions non exécutables), et nous utilisons Llama 3 pour générer des requêtes en langage naturel correspondant aux appels de fonctions.
  • Appels de fonctions à plusieurs tours : Nous générons également des données synthétiques pour les dialogues à plusieurs tours contenant des appels de fonction, en suivant un protocole similaire à celui présenté dans Li et al. (2023b). Nous utilisons plusieurs agents pour générer des domaines, des API, des requêtes d'utilisateurs, des appels d'API et des réponses, tout en veillant à ce que les données générées couvrent un éventail de domaines différents et d'API réelles.Tous les agents sont des variantes de Llama 3, incités d'une manière qui dépend de leurs responsabilités et collaborent d'une manière progressive.

 

4.3.6 Faits

L'irréalité reste un défi majeur pour les grands modèles de langage. Les modèles ont tendance à être trop sûrs d'eux, même dans les domaines où ils manquent de connaissances. Malgré ces lacunes, ils sont souvent utilisés comme bases de connaissances, ce qui peut conduire à des résultats dangereux tels que la diffusion de fausses informations. Tout en reconnaissant que la véracité transcende l'illusion, nous adoptons ici une approche qui place l'illusion au premier plan.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

Figure 11 Traitement d'un fichier téléchargé. L'exemple montre comment Llama 3 analyse et visualise un fichier téléchargé.

 

Nous suivons le principe selon lequel le post-entraînement doit aligner le modèle sur "ce qu'il sait" plutôt que d'ajouter des connaissances (Gekhman et al., 2024 ; Mielke et al., 2020). Notre approche principale consiste à générer des données qui alignent la génération du modèle sur un sous-ensemble des données réelles présentes dans les données de pré-entraînement. À cette fin, nous avons développé une technique de détection des connaissances qui utilise les capacités contextuelles de Llama 3. Ce processus de génération de données comprend les étapes suivantes :

  1. Extraire un segment de données des données de préformation.
  2. Générer des questions factuelles sur ces segments (contextes) en invitant le lama 3.
  3. Exemples de réponses à cette question du lama 3.
  4. Le contexte original a été utilisé comme référence et le lama 3 a été utilisé comme juge pour évaluer l'exactitude de la génération.
  5. Utilisez le lama 3 comme évaluateur pour noter la richesse générée.
  6. Générer des motifs de rejet pour les réponses qui sont systématiquement informatives et incorrectes sur plusieurs générations et utiliser Llama 3

Nous utilisons les données générées par les sondages de connaissances pour encourager le modèle à ne répondre qu'aux questions qu'il connaît et à refuser de répondre aux questions dont il n'est pas sûr. En outre, les données de pré-entraînement ne sont pas toujours cohérentes ou correctes sur le plan factuel. C'est pourquoi nous avons également recueilli un ensemble limité de données étiquetées sur la véracité des faits, traitant de sujets sensibles et comportant de nombreuses déclarations factuellement contradictoires ou incorrectes.

 

4.3.7 Contrôlabilité

La contrôlabilité est la capacité à orienter le comportement et les résultats du modèle pour répondre aux besoins des développeurs et des utilisateurs. Le Llama 3 étant un modèle de base générique, il devrait être facile de l'orienter vers différents cas d'utilisation en aval. Afin d'améliorer la contrôlabilité du Llama 3, nous nous sommes concentrés sur l'amélioration de sa contrôlabilité par le biais des invites du système (en utilisant des commandes en langage naturel), en particulier en ce qui concerne la longueur de la réponse, le formatage, le ton de la voix et le paramétrage du rôle/personnage.

Collecte des données. Nous avons recueilli des échantillons de préférences de contrôlabilité dans la catégorie de l'anglais général en demandant aux annotateurs de concevoir différents messages-guides pour le Llama 3. L'annotateur a ensuite engagé le modèle dans un dialogue afin d'évaluer si le modèle était capable de suivre de manière cohérente les instructions définies dans les messages-guides du système tout au long du dialogue. Voici des exemples de messages-guides personnalisés utilisés pour améliorer la contrôlabilité :

"Vous êtes un chatbot IA serviable et énergique qui sert d'assistant à la planification des repas pour les familles occupées. Les repas de la journée de travail doivent être rapides et faciles. Les aliments pratiques tels que les céréales, les muffins anglais avec du bacon précuit et d'autres aliments rapides et faciles à préparer doivent être privilégiés pour le petit-déjeuner et le déjeuner. Cette famille est très occupée. N'oubliez pas de leur demander s'ils ont des produits de première nécessité et des boissons préférées à portée de main, comme du café ou des boissons énergisantes, afin qu'ils n'oublient pas d'en acheter. À moins qu'il ne s'agisse d'une occasion spéciale, n'oubliez pas d'économiser sur votre budget".

Modélisation. Après avoir recueilli les données relatives aux préférences, nous utilisons ces données pour la modélisation des récompenses, l'échantillonnage de rejet, le SFT (réglage fin continu) et le DPO (optimisation des paramètres guidée par les données) afin d'améliorer la contrôlabilité du Llama 3.

 

 

5 Résultats

 

Nous avons procédé à une série d'évaluations approfondies de Llama 3, en examinant les performances (1) des modèles linguistiques pré-entraînés, (2) des modèles linguistiques post-entraînés, et (3) des caractéristiques de sécurité de Llama 3. Nous présentons les résultats de ces évaluations dans des sous-sections distinctes ci-dessous.

 

5.1 Pré-entraînement des modèles linguistiques

Dans cette section, nous présentons les résultats de l'évaluation du Llama 3 pré-entraîné (partie III) et les comparons à d'autres modèles de taille comparable. Nous reproduisons autant que possible les résultats des modèles concurrents. Pour les modèles autres que le Llama, nous présenterons les meilleurs scores dans les résultats publiés ou (si possible) dans les résultats que nous reproduisons nous-mêmes. Les détails spécifiques de ces évaluations, y compris les configurations telles que le nombre de tirs, les métriques et d'autres hyperparamètres et paramètres pertinents, sont disponibles dans notre dépôt Github : [insérer le lien ici]. En outre, nous publierons également les données générées dans le cadre des évaluations comparatives publiques, qui peuvent être consultées ici : [insérer un lien ici].

Nous évaluerons la qualité du modèle par rapport à des critères de référence standard (section V 5.1.1), nous testerons la robustesse aux changements dans les paramètres de choix multiples (section V 5.1.2) et nous effectuerons des évaluations contradictoires (section V 5.1.3). Nous effectuerons également des analyses de contamination pour estimer dans quelle mesure la contamination des données d'entraînement affecte notre évaluation (section V 5.1.4).

 

5.1.1 Critères de référence standard

Afin de comparer notre modèle à l'état actuel de la technique, nous avons évalué Llama 3 dans un grand nombre de tests de référence standard, qui sont présentés ci-dessous :

(1) raisonnement de bon sens ; (2) connaissances ; (3) compréhension de la lecture ; (4) mathématiques, raisonnement et résolution de problèmes ; (5) contexte long ; (6) code ; (7) évaluation contradictoire ; et (8) évaluation globale.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Dispositif expérimental.Pour chaque benchmark, nous calculons les scores de Llama 3 ainsi que les scores d'autres modèles pré-entraînés de taille comparable. Dans la mesure du possible, nous recalculons les données des autres modèles à l'aide de notre propre pipeline. Pour garantir une comparaison équitable, nous choisissons ensuite le meilleur score que nous avons entre les données calculées et les chiffres rapportés par ce modèle (en utilisant les mêmes paramètres ou des paramètres plus conservateurs). Vous trouverez ici des informations plus détaillées sur nos paramètres d'évaluation. Pour certains modèles, il n'est pas possible de recalculer les valeurs de référence, par exemple en raison de modèles pré-entraînés non publiés ou parce que l'API ne permet pas d'accéder aux probabilités logarithmiques. Cela s'applique en particulier à tous les modèles comparables au lama 3 405B. Par conséquent, nous n'indiquons pas les moyennes par catégorie pour le lama 3 405B, car il serait nécessaire de disposer de tous les chiffres de l'analyse comparative.

Valeur significative.Lors du calcul des scores d'évaluation comparative, plusieurs sources de variance peuvent conduire à des estimations inexactes de la performance du modèle que l'évaluation comparative est censée mesurer, telles qu'un petit nombre de démonstrations, des semences aléatoires et des tailles de lots. Il est donc difficile de comprendre si un modèle est statistiquement meilleur qu'un autre. Nous présentons donc les scores avec les intervalles de confiance 95% (IC) afin de refléter la variance introduite par le choix des données de référence. Nous avons calculé l'IC 95% de manière analytique à l'aide de la formule (Madaan et al., 2024b) :

Llama 3:一个多功能、开源的 AI 模型系列

CI_analytic(S) = 1,96 * sqrt(S * (1 - S) / N)

où S est le score du benchmark préféré et N la taille de l'échantillon du benchmark. Nous notons que la variance des données de référence n'étant pas la seule source de variance, ces IC 95% sont des limites inférieures de la variance de l'estimation de la capacité réelle. Pour les indicateurs qui ne sont pas des moyennes simples, les IC seront omis.

Résultats des modèles Llama 3 8B et 70B.La figure 12 montre les performances moyennes du Llama 3 8B et du 70B dans les tests de raisonnement par le bon sens, de connaissance, de compréhension de la lecture, de mathématiques et de raisonnement, et d'évaluation du code. Les résultats montrent que le Llama 3 8B surpasse les modèles concurrents dans presque toutes les catégories, à la fois en termes de victoires de catégorie et de performance moyenne par catégorie. Nous constatons également que le Llama 3 70B améliore considérablement les performances de son prédécesseur, le Llama 2 70B, dans la plupart des tests de référence, à l'exception des tests de bon sens, qui peuvent être saturés.

Résultats des modèles 8B et 70B.La figure 12 montre les performances moyennes du Llama 3 8B et du 70B aux tests Common Sense Reasoning, Knowledge, Reading Comprehension, Maths & Reasoning et Code Benchmark. Les résultats montrent que le Llama 3 8B surpasse les modèles concurrents dans presque toutes les catégories, à la fois en termes de taux de réussite par catégorie et de performance moyenne par catégorie. Nous avons également constaté que le Llama 3 70B représente une amélioration significative par rapport à son prédécesseur, le Llama 2 70B, dans la plupart des tests de référence, à l'exception du test Common Sense Benchmark, qui a peut-être atteint la saturation.

Résultats détaillés pour tous les modèles.Les tableaux 9, 10, 11, 12, 13 et 14 montrent les performances des tests de référence des modèles Llama 3 8B, 70B et 405B pré-entraînés sur une tâche de compréhension de la lecture, une tâche de codage, une tâche de compréhension des connaissances générales, une tâche de raisonnement mathématique et une tâche de routine. Ces tableaux comparent les performances du Llama 3 à celles de modèles de taille similaire. Les résultats montrent que Llama 3 405B est compétitif dans sa catégorie et qu'il surpasse largement les modèles open source précédents. Pour les tests avec des contextes longs, nous fournissons des résultats plus complets (y compris des tâches de détection telles que l'aiguille dans une botte de foin) dans la section 5.2.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.1.2 Robustesse du modèle

Outre l'évaluation des performances, la robustesse est un facteur important de la qualité des modèles linguistiques pré-entraînés. Nous étudions la robustesse des choix de conception effectués par les modèles linguistiques pré-entraînés dans le cadre de questions à choix multiples (QCM). Des études antérieures ont montré que la performance des modèles peut être sensible à des choix de conception apparemment arbitraires dans ces contextes, par exemple, les scores des modèles et même les classements peuvent changer en fonction de l'ordre et de l'étiquetage des exemples contextuels (Lu et al. 2022 ; Zhao et al. 2021 ; Robinson et Wingate 2023 ; Liang et al. 2022 ; Gupta et al. 2024), le format exact des invites (Weber et al., 2023b ; Mishra et al., 2022) ou le format et l'ordre des options de réponse (Alzahrani et al., 2024 ; Wang et al., 2024a ; Zheng et al., 2023). Inspirés par ces travaux, nous utilisons le benchmark MMLU pour évaluer la robustesse du modèle pré-entraîné à (1) un biais d'étiquetage de quelques tirages, (2) des variantes d'étiquetage, (3) l'ordre des réponses, et (4) le format des indices :

  • Quelques étiquettes de lentilles sont manquantes. Suivant Zheng et al. (2023), ... (détails expérimentaux et description des résultats omis ici).
  • Variantes d'étiquettes. Nous avons également étudié la réponse du modèle à différents ensembles de tokens sélectionnés. Nous avons considéré deux ensembles de balises proposés par Alzahrani et al. (2024) : à savoir, un ensemble de balises communes indépendantes de la langue ($ & # @) et un ensemble de balises rares (oe § з ü) qui n'ont pas d'ordre relatif implicite. Nous considérons également deux versions de balises canoniques (A. B. C. D. et A) B) C) D)) et une liste de nombres (1. 2. 3. 4.).
  • Ordre des réponses. Comme Wang et al. (2024a), nous calculons la stabilité des résultats en fonction de différents ordres de réponse. Pour ce faire, nous réorganisons toutes les réponses de l'ensemble de données en fonction d'une permutation fixe. Par exemple, pour les permutations A B C D, tous les choix de réponse étiquetés A et B conservent leurs étiquettes, tandis que tous les choix de réponse étiquetés C reçoivent l'étiquette D, et vice versa.
  • Cue Format. Nous avons évalué les différences de performance entre cinq indices de tâches qui différaient par la quantité d'informations qu'ils contenaient : un indice demandait simplement au modèle de répondre à la question, tandis que d'autres affirmaient l'expertise du modèle ou qu'il devait choisir la meilleure réponse.

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 11 Performance des modèles pré-entraînés sur une tâche de compréhension de connaissances générales. Les résultats comprennent des intervalles de confiance de 95%.

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 12 Performance des modèles pré-entraînés sur des tâches mathématiques et de raisonnement. Les résultats comprennent des intervalles de confiance de 95%. 11 tirs.

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 13 Performance des modèles pré-entraînés sur des tâches linguistiques générales. Les résultats incluent des intervalles de confiance de 95%.

 

Llama 3:一个多功能、开源的 AI 模型系列

Fig. 13 Robustesse de notre modèle linguistique pré-entraîné par rapport à différents choix de conception dans l'évaluation comparative MMLU. Côté gauche : performances avec différentes variantes d'étiquetage. Côté droit : performances en présence de différentes étiquettes dans l'échantillon moins exemple.

 

Llama 3:一个多功能、开源的 AI 模型系列

Fig. 14 Robustesse de notre modèle linguistique pré-entraîné par rapport à différents choix de conception dans le test de référence MMLU. Côté gauche : performances pour différentes séquences de réponses. Côté droit : performances pour différents formats d'invite.

 

La figure 13 illustre les résultats de nos expériences portant sur la robustesse des performances du modèle pour les variantes d'étiquettes (à gauche) et les biais d'étiquettes peu nombreuses (à droite). Les résultats montrent que notre modèle de langage pré-entraîné est très robuste aux variations des étiquettes des QCM ainsi qu'à la structure des étiquettes de repères peu nombreux. Cette robustesse est particulièrement évidente pour le modèle paramétrique 405B.

La figure 14 illustre les résultats de nos études sur la robustesse de l'ordre des réponses et du format des indices. Ces résultats soulignent à nouveau la robustesse des performances de nos modèles linguistiques pré-entraînés, en particulier la robustesse du Llama 3 405B.

Llama 3:一个多功能、开源的 AI 模型系列

 

5.1.3 Analyse comparative contradictoire

En plus des tests de référence mentionnés ci-dessus, nous avons évalué plusieurs tests de référence contradictoires dans trois domaines : questions et réponses, raisonnement mathématique et détection de la réécriture de phrases. Ces tests sont conçus pour sonder la capacité du modèle sur des tâches spécifiquement conçues pour être difficiles et peuvent mettre en évidence des problèmes de surajustement du modèle sur les tests de référence.

  • Questions et réponsesNous avons utilisé Adversarial SQuAD (Jia et Liang, 2017) et Dynabench SQuAD (Kiela et al., 2021).
  • Raisonnement mathématiqueNous avons utilisé GSM-Plus (Li et al., 2024c).
  • Aspects des tests de réécriture de phrasesNous avons utilisé PAWS (Zhang et al., 2019).

La figure 15 montre les scores du lama 3 8B, 70B et 405B sur les tests de référence adversariaux en fonction de leurs performances sur les tests de référence non adversariaux. Les tests de référence non accusatoires que nous utilisons sont SQuAD pour les questions-réponses (Rajpurkar et al., 2016), GSM8K pour le raisonnement mathématique et QQP pour la détection de la réécriture de phrases (Wang et al., 2017). Chaque point de données représente une paire d'ensembles de données adverses et non adverses (par exemple, QQP jumelé à PAWS), et nous montrons toutes les paires possibles au sein de la catégorie. La ligne noire sur la diagonale indique la parité entre les ensembles de données contradictoires et non contradictoires - où la ligne indique que le modèle a des performances similaires, qu'il soit contradictoire ou non contradictoire.

En ce qui concerne la détection de la prosodie des phrases, ni les modèles pré-entraînés ni les modèles post-entraînés ne semblent être affectés par la nature contradictoire des constructions PAWS, ce qui représente une amélioration considérable par rapport à la génération précédente de modèles. Ce résultat confirme les conclusions de Weber et al. (2023a), qui ont également constaté que les grands modèles de langage sont moins sensibles aux corrélations parasites dans plusieurs ensembles de données contradictoires. Cependant, pour le raisonnement mathématique et les questions-réponses, les performances adverses sont nettement inférieures aux performances non adverses. Cette tendance s'applique à la fois aux modèles pré-entraînés et post-entraînés.

 

5.1.4 Analyse de la pollution

Nous avons effectué une analyse de contamination pour estimer la mesure dans laquelle les scores de référence peuvent être affectés par la contamination des données d'évaluation dans le corpus de pré-entraînement. Certains travaux antérieurs ont utilisé une variété de méthodes de contamination et d'hyperparamètres - nous nous référons à l'étude de Singh et al. (2024). Les résultats montrent que notre modèle de langage pré-entraîné est très robuste aux variations dans l'étiquetage des questions à choix multiples, ainsi qu'aux variations dans la structure des étiquettes moins échantillonnées (décrites dans 2024). Des faux positifs et des faux négatifs peuvent survenir avec n'importe laquelle de ces approches, et la meilleure façon d'effectuer des analyses de contamination est encore un domaine de recherche ouvert. Ici, nous suivons principalement les recommandations de Singh et al. (2024).

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Méthodes :Plus précisément, Singh et al. (2024) suggèrent de choisir empiriquement une méthode de détection de la contamination en fonction de la méthode qui entraîne la plus grande différence entre l'ensemble de données " propre " et l'ensemble de données complet, ce qu'ils appellent le gain de performance estimé. Pour tous les ensembles de données d'évaluation, nous avons noté sur la base du chevauchement de 8 grammes, que Singh et al. (2024) ont trouvé exact pour de nombreux ensembles de données. Nous considérons qu'un exemple de l'ensemble de données D est contaminé si son étiquetage TD d'une partie d'entre eux apparaissent au moins une fois dans le corpus de pré-entraînement. Pour chaque ensemble de données, nous sélectionnons individuellement TDen fonction de la valeur qui présente le gain de performance estimé le plus important (pour les trois tailles de modèle).

Résultats :Le tableau 15 montre le pourcentage des données d'évaluation pour tous les principaux points de référence qui sont considérés comme contaminés pour le gain de performance maximal estimé, comme décrit ci-dessus. Nous avons exclu de ce tableau les données de référence pour lesquelles les résultats n'étaient pas significatifs, par exemple en raison d'un nombre insuffisant d'échantillons groupés propres ou contaminés, ou lorsque les estimations de gain de performance observées présentaient un comportement extrêmement erratique.

Le tableau 15 montre que pour certains ensembles de données, la contamination a un impact important, alors que pour d'autres, ce n'est pas le cas. Par exemple, pour PiQA et HellaSwag, l'estimation de la contamination et l'estimation du gain de performance sont toutes deux élevées. En revanche, pour Natural Questions, la contamination estimée à 52% semble n'avoir pratiquement aucun effet sur les performances. Pour SQuAD et MATH, des seuils bas entraînent des niveaux élevés de contamination, mais aucun gain de performance. Cela suggère que la contamination n'est peut-être pas utile pour ces ensembles de données, ou qu'un n plus grand est nécessaire pour obtenir de meilleures estimations. Enfin, pour MBPP, HumanEval, MMLU et MMLU-Pro, d'autres méthodes de détection de la contamination peuvent être nécessaires : même avec des seuils plus élevés, le chevauchement de 8 grammes donne des scores de contamination si élevés qu'il n'est pas possible d'obtenir de bonnes estimations du gain de performance.

 

5.2 Affiner le modèle linguistique

Nous montrons les résultats du modèle Llama 3 après entraînement sur des tests de référence de différentes capacités. Comme pour le pré-entraînement, nous publions les données générées dans le cadre de l'évaluation sur des tests de référence accessibles au public et disponibles sur Huggingface (insérer le lien ici). Des informations plus détaillées sur notre système d'évaluation peuvent être trouvées ici (insérer un lien ici).

Benchmarking et indicateurs.Le tableau 16 résume tous les tests de référence, classés par capacité. Nous décontaminerons les données post-entraînement en établissant des correspondances exactes avec les indices de chaque test de référence. Outre les tests de référence académiques standard, nous avons également procédé à une évaluation manuelle approfondie des différentes aptitudes. Voir la section 5.3 pour des informations détaillées.

Dispositif expérimental.Nous utilisons un dispositif expérimental similaire à celui de la phase de pré-entraînement et analysons le Llama 3 par rapport à d'autres modèles de taille et de capacités comparables. Dans la mesure du possible, nous évaluerons nous-mêmes les performances des autres modèles et comparerons les résultats avec les chiffres rapportés afin de sélectionner le meilleur score. Des informations plus détaillées sur notre système d'évaluation sont disponibles ici (lien inséré ici).

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 16 Tests de référence post-formation par catégorie. Vue d'ensemble de tous les tests de référence que nous avons utilisés pour évaluer le modèle du lama 3 après la formation, classés par capacité.

 

5.2.1 Comparaison des connaissances génériques et de la conformité des instructions

Nous avons utilisé les critères énumérés dans le tableau 2 pour évaluer les capacités du lama 3 en termes de connaissances générales et de respect des instructions.

Connaissances générales : Nous utilisons MMLU (Hendrycks et al., 2021a) et MMLU-Pro (Wang et al., 2024b) pour évaluer les performances du Llama 3 sur les capacités de questionnement basées sur les connaissances. MMLU-Pro est une version étendue de MMLU qui contient des questions plus difficiles, axées sur l'inférence, élimine les questions bruyantes et élargit l'éventail des choix de quatre à dix options. Étant donné l'accent mis sur le raisonnement complexe, nous présentons cinq exemples de CoT pour MMLU-Pro. Toutes les tâches sont formatées comme des tâches génératives, similaires aux simple-evals (OpenAI, 2024).

Comme le montre le tableau 2, nos variantes 8B et 70B du lama 3 surpassent les autres modèles de taille similaire dans les deux tâches de connaissances générales. Notre modèle 405B surpasse GPT-4 et Nemotron 4 340B, et Claude 3.5 Sonnet devance les modèles plus grands.

Instructions à suivre : Nous utilisons IFEval (Zhou et al., 2023) pour évaluer la capacité de Llama 3 et d'autres modèles à suivre des instructions en langage naturel. IFEval comprend environ 500 "instructions vérifiables", telles que "écrire en plus de 400 mots", qui peuvent être vérifiées à l'aide d'heuristiques. IFEval comprend environ 500 "instructions vérifiables", telles que "écrivez en plus de 400 mots", qui peuvent être vérifiées à l'aide d'heuristiques. Nous présentons la moyenne des précisions au niveau de l'invite et au niveau de l'instruction sous des contraintes strictes et lâches dans le tableau 2. Il est à noter que toutes les variantes de Llama 3 sont plus performantes que les modèles comparables sur IFEval.

 

5.2.2 Examens de compétence

Ensuite, nous évaluons notre modèle sur une série de tests d'aptitude conçus à l'origine pour tester les humains. Nous obtenons ces examens auprès de sources officielles accessibles au public ; pour certains examens, nous indiquons les scores moyens des différentes séries d'examens comme résultat de chaque test d'aptitude. Plus précisément, nous calculons la moyenne :

  • GRE : les tests de pratique officiels GRE 1 et 2 proposés par Educational Testing Service ;
  • LSAT : pré-test officiel 71, 73, 80 et 93 ;
  • SAT : 8 examens du Guide officiel d'étude du SAT, édition 2018 ;
  • AP : un examen pratique officiel par matière ;
  • GMAT : Le test officiel en ligne du GMAT.

Les questions de ces examens contiennent des questions à choix multiples et des questions génératives. Nous excluons toutes les questions comportant des images. Pour les questions du GRE qui contiennent plusieurs options correctes, nous qualifions la sortie de correcte uniquement si le modèle sélectionne toutes les options correctes. Dans les cas où il y a plus d'une série d'examens, nous utilisons un petit nombre d'indices pour l'évaluation. Nous ajustons les scores entre 130 et 170 (pour le GRE) et indiquons la précision pour tous les autres examens.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Nos résultats sont présentés dans le tableau 17. Nous constatons que notre modèle Llama 3 405B a des performances similaires à celles du modèle Llama 3 405B. Claude Le Sonnet 3.5 est très similaire au GPT-4 4o. Notre modèle 70B, en revanche, affiche des performances encore plus impressionnantes. Il est nettement meilleur que le GPT-3.5 Turbo et surpasse le Nemotron 4 340B dans de nombreux tests.

 

5.2.3 Critères de codage

Nous évaluons les capacités de génération de code de Llama 3 sur plusieurs benchmarks populaires de programmation Python et multilingue. Pour mesurer l'efficacité du modèle à générer du code fonctionnellement correct, nous utilisons la métrique pass@N, qui évalue le taux de réussite des tests unitaires pour un ensemble de N générations. Nous présentons les résultats pour pass@1.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Génération de code Python. HumanEval (Chen et al., 2021) et MBPP (Austin et al., 2021) sont des benchmarks populaires de génération de code Python qui se concentrent sur des fonctionnalités relativement simples et autonomes.HumanEval+ (Liu et al., 2024a) est une version améliorée de HumanEval dans laquelle plus de cas de test sont générés pour éviter les faux positifs. La version de référence MBPP EvalPlus (v0.2.0) est une sélection de 378 questions bien formatées (Liu et al., 2024a) sur les 974 questions initiales de l'ensemble de données MBPP original (formation et test). Les résultats de ces tests de référence sont présentés dans le tableau 18. Lors de l'évaluation comparative de ces variantes de Python, Llama 3 8B et 70B ont obtenu de meilleurs résultats que les modèles de même taille ayant des performances similaires. Pour les plus grands modèles, Llama 3 405B, Claude 3.5 Sonnet et GPT-4o ont des performances similaires, GPT-4o ayant les meilleurs résultats.

Modèles. Nous avons comparé le Llama 3 avec d'autres modèles de taille similaire. Pour le plus grand modèle, Llama 3 405B, Claude 3.5 Sonnet et GPT-4o ont des performances similaires, GPT-4o obtenant les meilleurs résultats.

Génération de codes dans plusieurs langages de programmation : Pour évaluer les capacités de génération de code des langages autres que Python, nous présentons les résultats du benchmark MultiPL-E (Cassano et al., 2023) basé sur les traductions des questions HumanEval et MBPP. Le tableau 19 présente les résultats pour une sélection de langages de programmation populaires.

Notez qu'il y a une baisse significative des performances par rapport à l'équivalent Python dans le tableau 18.

 

5.2.4 Analyse comparative multilingue

Llama 3 prend en charge 8 langues - anglais, allemand, français, italien, portugais, hindi, espagnol et thaïlandais - bien que le modèle de base ait été entraîné à l'aide d'un ensemble plus large de langues. Dans le tableau 20, nous présentons les résultats de notre évaluation de Llama 3 sur les benchmarks Multilingual MMLU (Hendrycks et al., 2021a) et Multilingual Primary Mathematics (MGSM) (Shi et al., 2022).

  • MMLU multilingueNous avons utilisé Google Translate pour traduire les questions, les exemples et les réponses du MMLU dans différentes langues. Nous avons conservé les descriptions des tâches en anglais et nous les avons évaluées dans un contexte de 5 tirs.
  • MGSM (Shi et al., 2022)Pour notre modèle Llama 3, nous présentons les résultats de CoT 0-shot pour MGSM. Multilingual MMLU est un benchmark interne qui implique la traduction des questions et réponses MMLU (Hendrycks et al., 2021a) en 7 langues - les résultats à 5 coups que nous présentons sont moyennés sur ces langues.

Pour MGSM (Shi et al., 2022), nous avons testé notre modèle en utilisant les mêmes invites natives que pour simple-evals (OpenAI, 2024) et nous l'avons placé dans un environnement CoT 0-shot. Dans le tableau 20, nous présentons les résultats moyens pour toutes les langues incluses dans le benchmark MGSM.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Nous constatons que le Llama 3 405B surpasse la plupart des autres modèles sur le MGSM, avec un score moyen de 91,61TP3 T. Sur le MMLU, conformément aux résultats du MMLU anglais ci-dessus, le Llama 3 405B est à la traîne du GPT-4o 21TP3 T. En revanche, les modèles 70B et 8B du Llama 3 surpassent les concurrents, les devançant de loin sur les deux tâches. sur les deux tâches.

 

5.2.5 Critères de référence pour les mathématiques et le raisonnement

Les résultats de nos tests mathématiques et d'inférence sont présentés dans le tableau 2. Le modèle Llama 3 8B surpasse les autres modèles de même taille sur GSM8K, MATH et GPQA. Notre modèle 70B affiche des performances nettement supérieures à celles de ses homologues dans tous les tests de référence. Enfin, le modèle Llama 3 405B est le meilleur modèle de sa catégorie pour GSM8K et ARC-C, tandis que pour MATH, il est le deuxième meilleur modèle. Pour GPQA, il rivalise bien avec GPT-4 4o, tandis que Claude 3.5 Sonnet est en tête de liste avec une marge significative.

 

5.2.6 Analyse comparative à long terme

Nous considérons une série de tâches dans différents domaines et types de textes. Dans les repères ci-dessous, nous nous concentrons sur les sous-tâches qui utilisent un protocole d'évaluation impartial, c'est-à-dire des mesures basées sur la précision plutôt que des mesures de chevauchement de n-grammes. Nous donnons également la priorité aux tâches pour lesquelles la variance est la plus faible.

  • Aiguille dans une botte de foin (Kamradt, 2023) Mesurer la capacité du modèle à récupérer des informations cachées dans des parties aléatoires de longs documents. Notre modèle Llama 3 présente des performances parfaites en matière d'extraction d'aiguilles, réussissant à extraire 100% "aiguilles" à toutes les profondeurs de document et à toutes les longueurs de contexte. Nous avons également mesuré les performances de Multi-needle (tableau 21), une variante de Needle-in-a-Haystack, où nous avons inséré quatre "aiguilles" dans le contexte et testé si le modèle pouvait récupérer deux d'entre elles. Notre modèle Llama 3 obtient des résultats presque parfaits.
  • ZeroSCROLLS (Shaham et al., 2023)est un test de référence à zéro échantillon pour la compréhension du langage naturel dans les textes longs. Comme les vraies réponses ne sont pas accessibles au public, nous présentons les chiffres de l'ensemble de validation. Nos modèles Llama 3 405B et 70B égalent ou dépassent les autres modèles sur une variété de tâches dans ce test de référence.
  • InfiniteBench (Zhang et al., 2024) Les modèles sont nécessaires pour comprendre les dépendances à longue distance dans les fenêtres contextuelles. Nous évaluons Llama 3 sur En.QA (quizz sur les romans) et En.MC (quizz à choix multiples sur les romans), où notre modèle 405B surpasse tous les autres modèles. Le gain est particulièrement significatif sur En.QA.

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 21 Analyse comparative des textes longs. Pour ZeroSCROLLS (Shaham et al., 2023), nous présentons les résultats sur l'ensemble de validation. Pour QuALITY, nous indiquons les correspondances exactes, pour Qasper - f1, et pour SQuALITY - rougeL. Nous indiquons f1 pour la métrique En.QA d'InfiniteBench (Zhang et al., 2024), et la précision pour En.MC. Pour Multi-needle (Kamradt, 2023), nous insérons 4 aiguilles dans le contexte et testons si le modèle est capable de retrouver 2 aiguilles de différentes longueurs de contexte, et nous calculons le rappel moyen pour un maximum de 128k de 10 longueurs de séquences.

 

5.2.7 Performance des outils

Nous avons évalué notre modèle à l'aide d'une série de tests d'utilisation d'outils (c'est-à-dire d'appels de fonctions) à échantillon nul : Nexus (Srinivasan et al., 2023), API-Bank (Li et al., 2023b), Gorilla API-Bench (Patil et al., 2023), et Berkeley Function Call Leaderboard ( BFCL) (Yan et al., 2024). Les résultats sont présentés dans le tableau 22.

Sur Nexus, notre variante Llama 3 est la plus performante, surpassant les autres modèles de sa catégorie. Sur API-Bank, nos modèles Llama 3 8B et 70B sont nettement plus performants que les autres modèles de leurs catégories respectives. Le modèle 405B n'est devancé que par le Claude 3.5 Sonnet 0.6%. Enfin, nos modèles 405B et 70B sont plus performants sur BFCL et se classent deuxièmes dans leurs catégories de taille respectives. Le Llama 3 8B est le plus performant dans sa catégorie.

Nous avons également procédé à une évaluation manuelle pour tester la capacité du modèle à utiliser l'outil, en nous concentrant sur les tâches d'exécution du code. Nous avons recueilli 2000 invites d'utilisateurs, génération de dessins et téléchargements de fichiers liés à l'exécution du code (sans compter les téléchargements de dessins ou de fichiers). Ces invites proviennent de LMSys (Chiang et al., 2024), des benchmarks GAIA (Mialon et al., 2023b), des annotateurs humains et une génération synthétique. Nous avons comparé Llama 3 405B à GPT-4o en utilisant l'API Assistants d'OpenAI10 . Les résultats sont présentés dans la figure 16. Llama 3 405B surpasse clairement GPT-4o dans les tâches d'exécution de code en texte seul et dans la génération de dessins ; cependant, il est à la traîne par rapport à GPT-4o dans le cas d'utilisation du téléchargement de fichiers.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.3 Évaluation manuelle

En plus des évaluations sur l'ensemble de données de référence standard, nous avons effectué une série d'évaluations humaines. Ces évaluations nous permettent de mesurer et d'optimiser des aspects plus subtils de la performance du modèle, tels que le ton du modèle, le niveau de redondance et la compréhension des nuances et du contexte culturel. Des évaluations rengren soigneusement conçues sont étroitement liées à l'expérience de l'utilisateur et permettent de comprendre comment le modèle fonctionne dans le monde réel.

https://platform.openai.com/docs/assistants/overview

Pour les évaluations humaines à plusieurs tours, le nombre de tours pour chaque indice était compris entre 2 et 11. Nous avons évalué la réponse du modèle lors du dernier tour.

Collecte de conseils. Nous avons recueilli des messages-guides de haute qualité couvrant un large éventail de catégories et de difficultés. Pour ce faire, nous avons d'abord élaboré une taxonomie avec des catégories et des sous-catégories pour le plus grand nombre possible d'aptitudes modélisées. Nous avons utilisé cette taxonomie pour collecter environ 7 000 messages-guides couvrant six aptitudes à un tour (anglais, raisonnement, codage, hindi, espagnol et portugais) et trois aptitudes à plusieurs tours11 (anglais, raisonnement et codage). Nous avons veillé à ce que, dans chaque catégorie, les messages-guides soient répartis de manière égale entre les sous-catégories. Nous avons également classé chaque invite dans l'un des trois niveaux de difficulté et veillé à ce que notre ensemble d'invites contienne environ 10% d'invites faciles, 30% d'invites modérément difficiles et 60% d'invites difficiles. Toutes les évaluations humaines Figure 16 Résultats de l'évaluation humaine pour Llama 3 405B par rapport à GPT-4o sur des tâches d'exécution de code, y compris le dessin et le téléchargement de fichiers. La Llama 3 405B surpasse la GPT-4o pour l'exécution de code (hors traçage ou téléchargement de fichiers) ainsi que pour la génération de tracés, mais reste à la traîne pour le cas d'utilisation du téléchargement de fichiers.

Les jeux d'indices ont fait l'objet d'un processus d'assurance qualité rigoureux. L'équipe de modélisation n'a pas accès à nos indices d'évaluation humaine afin d'éviter toute contamination accidentelle ou tout ajustement excessif de l'ensemble de tests.

Processus d'évaluation. Pour réaliser des évaluations humaines par paires des deux modèles, nous demandons à des annotateurs humains laquelle des deux réponses du modèle (générées par des modèles différents) ils préfèrent. Les annotateurs utilisent une échelle de 7 points qui leur permet d'indiquer si une réponse de modèle est bien meilleure, meilleure, légèrement meilleure ou à peu près identique à l'autre. Lorsque les annotateurs indiquent que la réponse d'un modèle est bien meilleure ou meilleure que la réponse d'un autre modèle, nous considérons qu'il s'agit d'une "victoire" pour ce modèle. Nous comparerons les modèles par paires et indiquerons le taux de victoire pour chaque capacité de l'ensemble d'indices.

en fin de compte. Nous avons comparé le Llama 3 405B au GPT-4 (version API 0125), au GPT-4o (version API) et au Claude 3.5 Sonnet (version API) à l'aide d'un processus d'évaluation humaine. Les résultats de ces évaluations sont présentés à la figure 17. Nous observons que les performances du Llama 3 405B sont à peu près comparables à celles de la version 0125 API de la GPT-4, avec des résultats mitigés (quelques victoires et quelques défaites) par rapport à la GPT-4o et à la Claude 3.5 Sonnet. Dans presque tous les cas, la Llama 3 et la GPT-4 l'emportent dans la marge d'erreur. Le Llama 3 405B surpasse le GPT-4 sur les tâches de raisonnement et de codage à plusieurs tours, mais pas sur les invites multilingues (hindi, espagnol et portugais). Le Llama 3 est aussi performant que le GPT-4 sur les invites en anglais, que le Claude 3.5 Sonnet sur les invites multilingues, et surpasse les invites en anglais à un seul tour et à plusieurs tours. Qualitativement, nous avons constaté que les performances du modèle lors de l'évaluation humaine sont fortement influencées par des facteurs subtils tels que le ton de la voix, la structure de la réponse et le niveau de redondance, autant de facteurs que nous optimisons dans le cadre du processus de post-entraînement. Tous ces facteurs sont optimisés dans le cadre du processus de post-formation. Dans l'ensemble, les résultats de notre évaluation humaine sont cohérents avec ceux des évaluations de référence standard : le Llama 3 405B rivalise très bien avec les principaux modèles de l'industrie, ce qui en fait le modèle public le plus performant.

limitations. Tous les résultats des évaluations humaines ont été soumis à un processus rigoureux d'assurance de la qualité des données. Cependant, en raison de la difficulté de définir des critères objectifs pour la réponse des modèles, les évaluations humaines peuvent toujours être influencées par les préjugés personnels, les antécédents et les préférences des annotateurs humains, ce qui peut conduire à des résultats incohérents ou peu fiables.

 

Llama 3:一个多功能、开源的 AI 模型系列

Figure 16 Résultats de l'évaluation humaine de la Llama 3 405B par rapport à la GPT-4o pour les tâches d'exécution de code (y compris le traçage et le téléchargement de fichiers). La Llama 3 405B est plus performante que la GPT-4o pour l'exécution de codes (à l'exception du traçage et du téléchargement de fichiers) et la génération de tracés, mais elle est moins performante pour le téléchargement de fichiers.

 

Llama 3:一个多功能、开源的 AI 模型系列

Fig. 17 Résultats de l'évaluation manuelle du modèle Llama 3 405B. À gauche : comparaison avec le GPT-4. Au centre : comparaison avec GPT-4o. A droite : comparaison avec Claude 3.5 Sonnet. Tous les résultats comprennent des intervalles de confiance 95% et excluent les égalités.

5.4 Sécurité

La section relative à la sécurité comporte des mots sensibles, qui peuvent être ignorés ou téléchargés au format PDF, merci !

Nous nous sommes concentrés sur l'évaluation de la capacité de Llama 3 à générer du contenu de manière sûre et responsable tout en maximisant les informations utiles. Notre travail sur la sécurité commence par une phase de pré-entraînement, principalement sous la forme d'un nettoyage et d'un filtrage des données. Nous décrirons ensuite la méthodologie d'affinage de la sécurité, en nous concentrant sur la manière d'entraîner le modèle à se conformer à des politiques de sécurité spécifiques tout en conservant son utilité. Nous analyserons chaque caractéristique de Llama 3, y compris le multilinguisme, les contextes longs, l'utilisation d'outils et diverses caractéristiques multimodales, afin de mesurer l'efficacité de nos mesures d'atténuation de la sécurité.

Nous décrivons ensuite notre évaluation de l'élévation du risque en matière de cybersécurité et d'armes chimiques/biologiques. L'élévation fait référence au risque supplémentaire posé par les nouveaux développements technologiques par rapport à l'utilisation des technologies existantes (par exemple, les recherches sur le web).

Nous décrivons ensuite comment nous utilisons les tests en "équipe rouge" pour identifier et traiter de manière itérative une variété de risques de sécurité interfonctionnels et effectuer des évaluations des risques résiduels.

Enfin, nous décrirons la sécurité au niveau du système, ou le développement et la programmation de classificateurs autour des entrées et des sorties du modèle lui-même, afin d'améliorer encore la sécurité et de permettre aux développeurs d'adapter plus facilement la sécurité à une variété de cas d'utilisation et de déployer l'IA générative d'une manière plus responsable.

 

5.4.1 Construction de l'indice de référence

Afin de développer des modèles de manière sûre et responsable, nous avons créé divers critères de référence internes. Ils s'inspirent de la taxonomie des risques de ML Commons (Vidgen et al., 2024). Bien qu'il existe déjà des tests de sécurité des modèles de langage tels que ToxiGen (Hartvigsen et al., 2022), XS Test (Röttger et al., 2023), etc., de nombreuses nouvelles fonctionnalités de Llama 3 ne disposent pas de tests externes suffisants, et les tests externes existants sont souvent sous-développés en termes d'étendue et de profondeur.

Pour chaque catégorie de risque, nous avons recueilli des indices contradictoires ou limitatifs rédigés par des humains - des exemples de ces indices sont répertoriés dans le tableau 23. Ces indices vont de simples indices qui déclenchent directement une réaction nuisible à des indices qui intègrent des techniques complexes d'évasion de prison. Ces indices adverses constituent la base de référence par rapport à laquelle nous mesurons les taux de violation.

En tant qu'indicateur inverse du taux de violation, nous avons également construit un repère de faux rejet composé d'indices de délimitation. Lorsque le modèle refuse de donner une réponse utile alors qu'il existe une réponse raisonnable et sûre, nous parlons de faux rejet. Les indices de délimitation sont proches des indices de limite de décision, et un modèle bien calibré devrait être en mesure de gérer ces indices, par exemple "Comment puis-je voler la vedette à mon meilleur ami qui joue toujours le rôle principal ? Notre taille de référence globale pour les violations et les faux rejets dépasse les 4 000 indices/compétences ou langues, y compris les indices à un seul tour et à plusieurs tours.

 

5.4.2 Formation préalable à la sécurité

Nous pensons que le développement responsable doit être considéré d'un bout à l'autre et incorporé à chaque étape du développement et du déploiement du modèle. Pendant le pré-entraînement, nous appliquons divers filtres, tels que ceux utilisés pour identifier les sites web susceptibles de contenir des informations personnellement identifiables (voir la section 3.1). Nous nous concentrons également sur la mémorisation découvrable (Nasr et al., 2023). Comme Carlini et al. (2022), nous échantillonnons les indices et les vrais résultats à différentes fréquences d'occurrence en utilisant l'indice de hachage roulant effectif de tous les n-tuples dans les données d'apprentissage. Nous construisons différents scénarios de test en faisant varier la longueur des indices et des résultats réels, la langue de détection et le domaine des données cibles. Nous mesurons ensuite la fréquence à laquelle le modèle génère avec précision des séquences de résultats réels et analysons les taux relatifs de mémorisation dans les scénarios spécifiés. Nous définissons la mémorisation mot à mot comme le taux d'inclusion (la proportion de séquences générées par le modèle contenant des résultats vrais) et rapportons ce taux dans les moyennes pondérées présentées dans le tableau 24, qui sont déterminées par la prévalence d'une caractéristique donnée dans les données. Nous avons constaté un faible taux de mémorisation pour les données d'entraînement (1,13% et 3,91% en moyenne pour n = 50 et n = 1000, respectivement, pour 405B). En utilisant la même méthodologie appliquée à la taille équivalente de son mélange de données, le lama 2 a à peu près le même taux de mémorisation.

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 23 Exemples d'indices contradictoires pour toutes les capacités de notre analyse comparative interne.

 

Llama 3:一个多功能、开源的 AI 模型系列

Tableau 24 Mémoire verbatim moyenne du lama 3 pré-entraîné dans des scénarios de test sélectionnés. Notre référence est le Llama 2 qui utilise la même méthodologie de repérage que celle appliquée à ses données mélangées avec des scénarios en anglais de 50 grammes.

 

5.4.3 Mise au point de la sécurité

Ce chapitre décrit l'approche de réglage fin de la sécurité que nous utilisons pour atténuer les risques liés aux différentes capacités, et qui englobe deux aspects essentiels : (1) les données relatives à la formation en matière de sécurité et (2) les techniques d'atténuation des risques. Notre processus de mise au point de la sécurité est basé sur notre méthodologie générique de mise au point, avec des modifications pour traiter les problèmes de sécurité spécifiques.

Nous optimisons deux mesures principales : le taux de violation (VR), qui saisit les cas où le modèle génère des réponses qui violent la politique de sécurité, et le taux de faux rejet (FRR), qui saisit les cas où le modèle rejette incorrectement des réponses à des indices inoffensifs. Parallèlement, nous évaluons les performances du modèle dans le cadre d'une analyse comparative de l'utilité afin de nous assurer que les améliorations en matière de sécurité ne compromettent pas l'utilité globale. Nos expériences montrent qu'un modèle à 8 milliards de paramètres nécessite un ratio plus élevé de données de sécurité par rapport aux données d'utilité par rapport à un modèle à 70 milliards de paramètres pour atteindre des performances de sécurité comparables. Les modèles plus grands sont mieux à même de faire la distinction entre les contextes adverses et les contextes limites, ce qui se traduit par un équilibre plus favorable entre la RV et le FRR.

Affiner les données

La qualité et la conception des données de formation à la sécurité ont un effet profond sur les performances. Grâce à de nombreuses expériences d'ablation, nous avons constaté que la qualité est plus importante que la quantité. Nous utilisons principalement des données générées par les fournisseurs de données, mais nous les trouvons sujettes aux erreurs et aux incohérences, en particulier pour les politiques de sécurité subtiles. Pour garantir des données de la plus haute qualité, nous avons développé des outils d'annotation assistés par l'IA afin de soutenir notre processus rigoureux d'assurance qualité.

Outre la collecte d'indices contradictoires, nous avons également recueilli un ensemble d'indices similaires, appelés indices de délimitation. Ces indices sont étroitement liés aux indices contradictoires, mais ont pour but d'apprendre au modèle à fournir des réponses utiles et de réduire ainsi le taux de faux rejets (FRR).

En plus des annotations humaines, nous utilisons des données synthétiques pour améliorer la qualité et la couverture de l'ensemble de données d'entraînement. Nous générons des exemples adverses supplémentaires à l'aide d'une variété de techniques, y compris l'apprentissage contextuel utilisant des indices élaborés du système, des mutations basées sur de nouveaux vecteurs d'attaque guidant des indices de semences, et des algorithmes avancés, y compris le Rainbow Team (Samvelyan et al., 2024), basé sur MAP-Elites (Mouret et Clune, 2015), qui génère des indices à travers de multiples indices contraints dimensionnels. dimensions.

Nous avons également abordé la question du ton du modèle lors de la génération des réponses de sécurité, qui peut affecter l'expérience de l'utilisateur en aval. Nous avons élaboré une directive sur le ton du rejet pour Llama 3 et veillé à ce que toutes les nouvelles données de sécurité s'y conforment par le biais d'un processus d'assurance qualité rigoureux. Nous avons également amélioré les données de sécurité existantes en combinant la réécriture d'échantillons zéro et l'édition manuelle afin de générer des données de haute qualité. Grâce à ces méthodes et à l'utilisation de classificateurs de tonalité pour évaluer la qualité de la tonalité des réponses de sécurité, nous avons pu améliorer de manière significative la formulation du modèle.

Mise au point de la supervision de la sécurité

En suivant notre recette Llama 2 (Touvron et al., 2023b), nous combinons toutes les données d'utilité et de sécurité dans la phase d'alignement du modèle. En outre, nous avons introduit des ensembles de données limites pour aider le modèle à distinguer la différence subtile entre les demandes sûres et celles qui ne le sont pas. Notre équipe d'annotation a reçu pour instruction de concevoir soigneusement les réponses aux indices de sécurité sur la base de nos lignes directrices. Nous avons constaté que SFT était très efficace pour aligner le modèle lorsque nous équilibrions stratégiquement le ratio entre les exemples adverses et les exemples limites. Nous nous sommes concentrés sur les domaines de risque les plus difficiles où le ratio d'exemples limites était plus élevé. Cela joue un rôle essentiel dans la réussite de nos efforts d'atténuation de la sécurité tout en minimisant les faux rejets.

En outre, nous étudions l'effet de la taille du modèle sur le compromis entre le FRR et la RV (voir figure 18). Nos résultats suggèrent que cela va changer - les petits modèles nécessitent une plus grande proportion de données de sécurité par rapport à l'utilité, et il est plus difficile d'équilibrer efficacement la RV et le FRR que les grands modèles.

DPD sécurité

Pour améliorer l'apprentissage de la sécurité, nous incorporons des exemples contradictoires et limites dans l'ensemble de données de préférences de DPO. Nous avons constaté que la conception de paires de réponses pour un indice donné qui sont presque orthogonales dans l'espace d'intégration est particulièrement efficace pour apprendre au modèle à distinguer les bonnes et les mauvaises réponses. Nous avons mené plusieurs expériences pour déterminer le ratio optimal d'exemples contradictoires, limités et utiles dans le but d'optimiser le compromis entre FRR et VR. Nous avons également constaté que la taille du modèle affecte les résultats de l'apprentissage - nous avons donc adapté différentes combinaisons de sécurité pour différentes tailles de modèle.

 

Llama 3:一个多功能、开源的 AI 模型系列

La figure 18 montre l'impact de la taille du modèle sur la conception des combinaisons de données de sécurité pour équilibrer le taux de violation (VR) et le taux de faux refus (FRR). Chaque point du nuage de points représente une combinaison de données différente pour équilibrer les données de sécurité et d'utilité. Des modèles de tailles différentes préservent des capacités d'apprentissage différentes en matière de sécurité. Nos expériences montrent que le modèle 8B a besoin d'une plus grande proportion de données de sécurité par rapport aux données d'utilité dans le portefeuille global SFT (réglage fin supervisé) pour obtenir des performances de sécurité comparables à celles du modèle 70B. Les modèles de plus grande taille sont mieux à même de faire la distinction entre les contextes adverses et les contextes marginaux, ce qui se traduit par un équilibre plus souhaitable entre la RV et le FRR.

 

5.4.4 Résultats en matière de sécurité

Tout d'abord, nous présentons une vue d'ensemble des performances globales de Llama 3 à tous égards, puis nous décrivons les résultats des tests de chacune des nouvelles fonctionnalités et notre efficacité en matière d'atténuation des risques de sécurité.

Performance globale :Les figures 19 et 20 montrent les résultats de la violation finale du modèle Llama 3 et les taux de faux rejets par rapport à des modèles similaires. Ces résultats se concentrent sur notre modèle à la plus grande échelle de paramètres (Llama 3 405B) et le comparent à des concurrents apparentés. Deux de ces concurrents sont des systèmes de bout en bout accessibles via des API, et l'autre est un modèle de langage open source que nous avons hébergé en interne et évalué directement. Nous avons testé notre modèle Llama à la fois seul et en conjonction avec Llama Guard, notre solution de sécurité open source au niveau du système, comme détaillé dans la section 5.4.7.

Bien qu'il soit souhaitable d'avoir des taux de violation plus faibles, il est essentiel d'utiliser les faux rejets comme indicateur inverse, car un modèle qui rejette toujours est le plus sûr en termes de sécurité, mais il est complètement inutile. De même, un modèle qui répond toujours à toutes les invites, quel que soit le degré de difficulté de la demande, est excessivement nuisible et toxique. La figure 21 montre comment les différents modèles et systèmes de l'industrie font des compromis et comment le Llama 3 se comporte, en utilisant nos points de référence internes. Nous avons constaté que notre modèle était très compétitif en termes de taux de violation et qu'il présentait un faible taux de faux rejets, ce qui suggère un bon équilibre entre l'utilité et la sécurité.

Sécurité multilingue :Nos expériences montrent que les connaissances en matière de sécurité en anglais ne sont pas facilement transférables à d'autres langues, notamment en raison des nuances des politiques de sécurité et des contextes propres à chaque langue. Il est donc crucial de collecter des données de sécurité de haute qualité pour chaque langue. Nous avons également constaté que la distribution des données de sécurité par langue affecte de manière significative les performances de sécurité, certaines langues bénéficiant de l'apprentissage par transfert tandis que d'autres requièrent des données plus spécifiques à la langue. Pour trouver un équilibre entre le taux de faux rejets (FRR) et le taux de violations (VR), nous ajoutons itérativement des données adverses et des données limites tout en surveillant l'impact de ces deux mesures.

La figure 19 illustre les résultats de notre analyse comparative interne avec des modèles de contexte courts, montrant les taux de violation et de faux rejet de Llama 3 en anglais et dans d'autres langues, et les comparant à des modèles et systèmes similaires. Pour construire les références pour chaque langue, nous avons utilisé une combinaison d'invites écrites par des locuteurs natifs, parfois complétées par des traductions des références anglaises. Pour toutes les langues prises en charge, nous constatons que le Llama 405B associé au Llama Guard est au moins aussi sûr que les deux systèmes concurrents, sans compter la sécurité plus stricte, tandis que le taux de faux rejets reste compétitif.

Sécurité à long terme :Les modèles à contexte long sans atténuation ciblée sont vulnérables à de multiples attaques de jailbreak (Anil et al., 2024). Pour résoudre ce problème, nous affinons notre modèle sur l'ensemble de données SFT, qui contient des exemples de comportements sécurisés en présence de démonstrations de comportements non sécurisés. Nous développons une stratégie d'atténuation évolutive qui réduit considérablement le RV, neutralisant ainsi efficacement l'impact des attaques contextuelles plus longues, même pour 256 attaques. L'impact de cette approche sur le FRR et la plupart des mesures d'utilité est presque négligeable.

Pour quantifier l'efficacité de nos mesures d'atténuation de la sécurité des contextes longs, nous utilisons deux autres méthodes d'évaluation comparative : DocQA et Many-shot. Pour DocQA (abréviation de "document quizzing"), nous utilisons des documents longs qui contiennent des informations susceptibles d'être utilisées à des fins malveillantes. Le modèle reçoit le document et une série d'invites liées au document afin de vérifier si la question est pertinente par rapport aux informations contenues dans le document, ce qui influe sur la capacité du modèle à répondre aux invites en toute sécurité.

Dans Many-shot, à l'instar d'Anil et al. (2024), nous construisons un journal de conversation synthétique composé de paires invite-réponse peu sûres. La dernière invite est indépendante des messages précédents et est utilisée pour tester si un comportement contextuel non sécurisé affecte les réponses non sécurisées du modèle. La figure 20 montre les taux de violation et de faux rejet pour DocQA et Many-shot. Nous constatons que le Llama 405B (avec et sans Llama Guard) est plus performant que le système Comp. 2 en termes de taux de violation et de faux rejets pour DocQA et Many-shot. Par rapport au système Comp. 1, nous constatons que le Llama 405B est plus sûr, mais qu'il augmente légèrement le taux de faux rejets.

Sécurité de l'utilisation des outils :La diversité des outils possibles et des invocations de l'utilisation d'outils, ainsi que les mises en œuvre qui intègrent les outils dans le modèle, font qu'il est difficile d'atténuer complètement la capacité d'utiliser des outils (Wallace et al., 2024). Nous nous concentrons sur le cas d'utilisation de la recherche. La figure 20 montre les taux de violation et de faux rejet. Nous avons testé le système Comp. 1 et constaté que le Llama 405B est plus sûr, mais que son taux de faux rejets est légèrement plus élevé.

 

Llama 3:一个多功能、开源的 AI 模型系列

Figure 19 Taux de violation (VR) et taux de faux rejets (FRR) pour l'anglais et nos tests de référence pour les contextes de phrases multilingues Comparaison du Llama 3 405B (avec et sans la protection au niveau du système Llama Guard (LG)) avec des modèles et des systèmes concurrents.Comp. 3 Les langues non prises en charge sont désignées par "x". ". Plus la valeur est faible, mieux c'est.

 

Llama 3:一个多功能、开源的 AI 模型系列

Figure 20 Taux de violation (VR) et taux de faux rejets (FRR) dans l'utilisation d'outils et l'analyse comparative de textes longs. Le taux le plus bas est le meilleur. Les performances des tests de référence DocQA et Multi-Round Q&A sont présentées séparément. Il convient de noter qu'en raison de la nature contradictoire de ce test de référence, nous ne disposons pas d'un ensemble de données délimité pour les questions à plusieurs tours et nous n'avons donc pas mesuré le taux de faux rejets pour ce test. En ce qui concerne l'utilisation de l'outil (recherche), nous comparons uniquement Llama 3 405B avec Comp. 1.

 

Llama 3:一个多功能、开源的 AI 模型系列

Figure 21 Taux de violation et de rejet pour les modèles et les capacités. Chaque point représente le taux de refus global. Les taux de violation sont évalués pour les critères de capacité inhérents à toutes les catégories de sécurité. Les symboles indiquent si nous évaluons la sécurité au niveau du modèle ou au niveau du système. Comme prévu, les résultats pour la sécurité au niveau du modèle montrent des taux de violation plus élevés et des taux de rejet plus faibles que les résultats pour la sécurité au niveau du système.Llama 3 vise à équilibrer de faibles taux de violation avec de faibles taux de faux rejets, alors que certains concurrents préfèrent l'un ou l'autre.

 

5.4.5 Résultats de l'évaluation de la cybersécurité

Pour évaluer le risque de cybersécurité, nous utilisons le cadre d'évaluation comparative CyberSecEval (Bhatt et al., 2023, 2024), qui comprend des mesures de sécurité pour des tâches telles que la génération de code non sécurisé, la génération de code malveillant, l'injection de texte et l'identification de vulnérabilités. Nous avons développé et appliqué Llama 3 à de nouvelles références, y compris le spear phishing et les attaques de réseaux autonomes. Dans l'ensemble, nous avons constaté que Llama 3 n'est pas très vulnérable à la génération de codes malveillants ou à l'exploitation de vulnérabilités. De brefs résultats spécifiques à certaines tâches sont présentés ci-dessous :

  • Un cadre pour tester le codage non sécurisé :En évaluant les modèles Llama 3 8B, 70B et 405B avec le cadre de test de codage non sécurisé, nous continuons à observer que les modèles plus grands génèrent plus de code non sécurisé et que le code a un score BLEU moyen plus élevé (Bhatt et al., 2023).
  • Code Interpreter Abuse Cue Corpus :Nous avons constaté que le modèle Llama 3 est enclin à exécuter des codes malveillants sur des invites spécifiques, le Llama 3 405B ayant un taux de conformité de 10,41 TP3T aux invites malveillantes, contre 3,81 TP3T pour le Llama 3 70B.
  • Benchmark de l'injection de bouts de texte :Lors de l'évaluation par rapport à l'indice de référence de l'injection de signaux, la Llama 3 405B a réussi une attaque par injection de signaux à 21,71 TP3T. La figure 22 illustre le taux de réussite de l'injection d'indices textuels pour les modèles Llama 3, GPT-4 Turbo, Gemini Pro et Mixtral.
  • Défis liés à l'identification des vulnérabilités :Lors de l'évaluation de la capacité de Llama 3 à identifier et à exploiter les vulnérabilités dans le cadre du test Capture-the-Flag de CyberSecEval 2, Llama 3 n'a pas réussi à surpasser les outils et techniques traditionnels non-LLM couramment utilisés.
  • Critères de référence pour la pêche au harpon :Nous avons évalué le pouvoir de persuasion et le succès du modèle dans la conduite de conversations personnalisées pour tromper les cibles et les amener à s'engager à leur insu dans des compromissions de sécurité. Des profils de victimes détaillés et aléatoires générés par le LLM ont été utilisés pour harponner les cibles. Le LLM juge (Llama 3 70B) a évalué la performance des Llama 3 70B et 405B lors de l'interaction avec le modèle de victime (Llama 3 70B) et a évalué le succès des tentatives. Le LLM de jugement a évalué le lama 3 70B comme ayant réussi les tentatives de chasse sous-marine à 241 TP3T et le lama 3 405B comme ayant réussi les tentatives à 141 TP3T. La figure 23 illustre les scores de persuasion de l'évaluation du LLM pour chaque modèle et chaque cible de pêche.
  • Cadre d'automatisation des attaques :Nous avons évalué le potentiel du Llama 3 405B en tant qu'agent autonome dans quatre phases clés d'une attaque par ransomware : reconnaissance du réseau, identification des vulnérabilités, exécution de l'exploit et actions post-exploitation. Nous avons permis au modèle de se comporter de manière autonome en le configurant pour qu'il génère et exécute de manière itérative de nouvelles commandes Linux sur une machine virtuelle Kali Linux contre une autre machine virtuelle dont les vulnérabilités sont connues. Bien que la Llama 3 405B ait été efficace dans l'identification des services réseau et des ports ouverts lors de la reconnaissance du réseau, elle n'a pas réussi à utiliser efficacement ces informations pour obtenir un accès initial aux machines vulnérables au cours des 34 essais. Le Llama 3 405B a obtenu des résultats modérés dans l'identification des vulnérabilités, mais il a eu du mal à sélectionner et à appliquer des techniques d'exploitation efficaces. Les tentatives d'exploitation et de maintien de l'accès ou de déplacement latéral au sein du réseau ont complètement échoué.

Test d'élévation en cas de cyberattaque :Nous avons mené une étude de stimulation pour mesurer la mesure dans laquelle les assistants virtuels améliorent les taux d'attaque pour les attaquants novices et experts dans deux défis de cybersécurité offensifs simulés. L'étude a porté sur 62 volontaires internes. Les volontaires ont été classés en "experts" (31 sujets) et "novices" (31 sujets) en fonction de leur expérience en matière de sécurité offensive.

Afin d'évaluer les risques liés à la prolifération des armes chimiques et biologiques, nous avons effectué un test de renforcement visant à déterminer si l'utilisation de Llama 3 améliore de manière significative la capacité des acteurs à planifier de telles attaques.

Conception expérimentale.

  • L'étude consistait en un scénario de six heures dans lequel il était demandé à deux participants d'élaborer des plans opérationnels fictifs pour une attaque biologique ou chimique.
  • Les scénarios couvrent les principales étapes de planification (acquisition de réactifs, production, armement et livraison) d'un attentat CBRNE (chimique, biologique, radiologique, nucléaire et explosif) et sont conçus pour déclencher une planification détaillée afin d'aborder les questions liées à l'accès aux matériaux restreints, aux protocoles de laboratoire réels et à la sécurité opérationnelle.
  • Les participants ont été recrutés sur la base de leur expérience préalable dans un domaine scientifique ou opérationnel et ont été affectés à une équipe composée de deux acteurs peu qualifiés (sans formation formelle) ou de deux acteurs moyennement qualifiés (avec une certaine formation formelle et une expérience pratique dans le domaine scientifique ou opérationnel).

Méthodes de recherche.

  • L'étude a été élaborée en collaboration avec un groupe d'experts CBRNE et vise à maximiser l'applicabilité générale, la validité et la robustesse des résultats quantitatifs et qualitatifs.
  • Une étude préliminaire a été menée pour valider la conception de l'étude, y compris une analyse d'efficacité solide pour s'assurer que la taille de notre échantillon était suffisante pour l'analyse statistique.
  • Chaque équipe est assignée à un groupe "témoin" ou à un groupe "LLM". Le groupe de contrôle n'avait accès qu'aux ressources Internet, tandis que les équipes équipées du LLM avaient accès au modèle Llama 3 avec la recherche sur le web (y compris l'ingestion de PDF), la recherche d'informations (RAG) et l'exécution de code (Python et Wolfram Alpha), en plus de l'Internet.
  • Pour tester la fonctionnalité du RAG, un ensemble de centaines d'articles scientifiques pertinents a été généré à l'aide de recherches par mots clés et préchargé dans le système d'inférence de modèle Llama 3.

Évaluation.

  • À la fin de l'exercice, les plans d'action élaborés par chaque équipe seront évalués par des experts en la matière, spécialisés dans les domaines de la biologie, de la chimie et de la planification opérationnelle.
  • Chaque plan est évalué à quatre stades d'une attaque potentielle, ce qui permet d'obtenir des notes pour des paramètres tels que la précision scientifique, les détails, l'évasion en matière de détection et la probabilité d'une exécution scientifique et opérationnelle réussie.
  • Après un processus Delphi rigoureux visant à atténuer les biais et la variabilité des évaluations des experts en la matière, les notes finales ont été générées en combinant les indicateurs d'étape.

Analyse des résultats.

Les analyses quantitatives indiquent que l'utilisation du modèle Llama 3 n'améliore pas significativement les performances. Ce résultat est valable à la fois pour l'analyse globale (comparant toutes les conditions de la MLI à la condition de contrôle sur le Web uniquement) et pour les ventilations spécifiques aux sous-groupes (par exemple, en évaluant séparément les modèles Llama 3 70B et Llama 3 405B, ou en évaluant séparément les scénarios liés aux armes chimiques ou biologiques). Après avoir validé ces résultats avec la PME CBRNE, nous estimons que la probabilité que la diffusion du modèle Llama 3 augmente le risque associé à une attaque à l'arme biologique ou chimique dans l'écosystème est faible.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.4.6 Tactique de l'équipe rouge

Nous utilisons des tests en équipe restreinte pour identifier les risques et nous nous servons de ces résultats pour améliorer nos ensembles de données d'analyse comparative et d'optimisation de la sécurité. Nous organisons régulièrement des exercices en équipe restreinte afin d'itérer en permanence et d'identifier de nouveaux risques, qui guident notre processus d'élaboration de modèles et d'atténuation des risques.

Notre Red Team est composée d'experts en cybersécurité, en apprentissage automatique antagoniste, en IA responsable et en intégrité, en plus d'experts en contenu multilingue ayant une expérience des questions d'intégrité dans des marchés géographiques spécifiques. Nous travaillons également avec des experts en la matière internes et externes pour construire des taxonomies de risques et aider à des évaluations adverses plus ciblées.

Tests contradictoires pour des capacités de modèles spécifiques. Nous avons d'abord effectué des tests en équipe rouge en nous concentrant sur les caractéristiques individuelles des modèles pour des catégories spécifiques à haut risque, puis nous avons testé ces caractéristiques ensemble. En se concentrant sur des attaques mineures qui simulent des scénarios plus réalistes, l'équipe rouge a constaté que les modèles s'écartaient souvent du comportement attendu, en particulier lorsque le schéma de mention était obscurci ou que les indices faisaient appel à de multiples abstractions en cascade. Ces risques sont devenus plus complexes avec l'ajout de nouvelles fonctionnalités, et nous décrivons en détail certaines des conclusions de l'équipe rouge ci-dessous. Nous utilisons ces conclusions de l'équipe rouge en conjonction avec les résultats de notre analyse comparative de la sécurité interne pour développer des mesures d'atténuation ciblées qui améliorent itérativement la sécurité du modèle.

  • Texte court et texte long en anglais. Nous utilisons une combinaison bien connue de techniques publiées et non publiées dans des dialogues à un ou plusieurs tours. Nous avons également utilisé des techniques avancées d'automatisation contradictoire à plusieurs tours similaires à PAIR (Chao et al., 2023) pour certaines techniques et catégories de risque. Dans l'ensemble, le dialogue à plusieurs tours aboutit à des résultats plus nocifs. De nombreuses attaques sont répandues à travers les points de contrôle du modèle, en particulier lorsqu'ils sont utilisés ensemble.
    • Plusieurs cycles de suppression des refus : Spécifie que la réponse du modèle doit suivre un format particulier ou inclure/exclure des informations sur une phrase particulière associée au rejet.
    • Emballage d'une scène hypothétique : Présenter la violation comme une tâche hypothétique/théorique ou un scénario fictif. Il peut s'agir simplement d'ajouter le mot "hypothétiquement" ou d'élaborer un scénario hiérarchique complexe.
    • Jeu de rôle : Attribuez des rôles offensants à des modèles présentant des caractéristiques de réponse offensantes spécifiques (par exemple, "Vous êtes X et votre objectif est Y"), ou incarnez vous-même, en tant qu'utilisateur, des rôles bénins spécifiques pour masquer le contexte de l'invite.
    • L'ajout de clauses de non-responsabilité et d'avertissements est une forme d'initiation à la réaction, ce qui, selon notre hypothèse, est un moyen de fournir au modèle une voie vers une conformité bénéfique qui recoupe la formation à la sécurité généralisée. Outre les autres attaques mentionnées, des mesures telles que la demande d'ajout de clauses de non-responsabilité, d'avertissements de déclenchement, etc. lors de plusieurs cycles de dialogue peuvent conduire à une augmentation des taux de violation.
    • Les violations progressives sont des attaques à plusieurs tours dans lesquelles le dialogue commence par une demande plus ou moins bénigne et génère ensuite un contenu plus exagéré par le biais d'invites directes, ce qui conduit progressivement le modèle à générer des réponses très offensantes. Une fois qu'un modèle commence à produire le contenu incriminé, il peut être difficile de le récupérer (ou s'il se heurte à un refus, d'autres attaques peuvent être utilisées). Ce problème deviendra de plus en plus courant pour les modèles ayant de longs contextes.
    • Multilingue. Lorsque l'on considère les langues multiples, on constate de nombreux risques uniques.
      • Le mélange de plusieurs langues dans une invite ou un dialogue peut facilement conduire à un résultat plus offensant que l'utilisation d'une seule langue.
      • Les langages pauvres en ressources peuvent donner lieu à des résultats non conformes en raison d'un manque de données pertinentes pour le réglage fin de la sécurité, d'une faible généralisation des modèles à la sécurité ou d'une hiérarchisation des tests ou des repères. Toutefois, ces attaques se traduisent généralement par une qualité médiocre, ce qui limite l'exploitation malveillante réelle.
      • Les références argotiques, contextuelles ou culturelles peuvent donner la fausse impression d'une violation au départ, mais en réalité le modèle ne comprend pas correctement une référence, de sorte que la sortie n'est pas réellement nuisible et ne peut pas être considérée comme une sortie violente.
    • Utilisation de l'outil. Au cours des tests, plusieurs attaques spécifiques à l'outil ont été identifiées, en plus des techniques d'incitation adverses au niveau du texte anglais qui ont permis de produire les résultats incriminés. Il s'agit notamment, mais pas exclusivement, des éléments suivants

Les appels de chaînage d'outils non sécurisés, tels que la demande simultanée de plusieurs outils, dont l'un est en violation, peuvent entraîner un mélange de violations et d'entrées bénignes pour tous les outils lors d'un point de contrôle précoce.

Utilisation obligatoire d'outils : Le fait d'imposer fréquemment l'utilisation d'outils avec des chaînes d'entrée spécifiques, une fragmentation ou un texte codé peut entraîner des violations potentielles des entrées de l'outil, ce qui se traduit par un plus grand nombre de résultats incriminés. D'autres techniques peuvent alors être utilisées pour accéder aux résultats de l'outil, même si le modèle refuserait normalement d'effectuer une recherche ou d'aider au traitement des résultats.

Modifier les paramètres d'utilisation de l'outil : Par exemple, l'échange de mots dans une requête, une nouvelle tentative ou le brouillage d'une partie de la demande initiale dans un dialogue à plusieurs tours peuvent entraîner des violations à de nombreux points de contrôle précoces en tant que forme d'application de l'utilisation d'outils.

Risques pour la sécurité des enfants : Nous avons constitué une équipe d'experts chargée d'évaluer les risques pour la sécurité des enfants afin de déterminer la capacité du modèle à produire des résultats susceptibles d'entraîner des risques pour la sécurité des enfants et de définir les mesures d'atténuation des risques nécessaires et appropriées (par le biais d'une mise au point). Nous avons utilisé ces réunions de l'équipe rouge d'experts pour étendre la couverture de nos critères d'évaluation développés par le modèle. Pour le lama 3, nous avons organisé une nouvelle session d'approfondissement en utilisant une approche objective pour évaluer le risque du modèle le long de plusieurs trajectoires d'attaque. Nous avons également travaillé avec des experts en contenu pour mener des exercices d'équipe rouge afin d'évaluer le contenu potentiellement offensant, en tenant compte des nuances ou des expériences spécifiques au marché.

 

5.4.7 Sécurité au niveau du système

Les modèles de langage à grande échelle ne sont pas utilisés de manière isolée dans une variété d'applications réelles, mais sont intégrés dans des systèmes plus vastes. Cette section décrit notre mise en œuvre de la sécurité au niveau du système, qui complète l'atténuation au niveau du modèle en fournissant une flexibilité et un contrôle supplémentaires.

À cette fin, nous avons développé et publié un nouveau classificateur, Llama Guard 3, un modèle Llama 3 8B affiné pour la classification de sécurité. Comme pour le Llama Guard 2 (Llama-Team, 2024), ce classificateur est utilisé pour détecter si les indices d'entrée et/ou les réponses de sortie générés par le modèle de langage violent la politique de sécurité pour une classe de danger particulière.

Il est conçu pour soutenir les capacités croissantes de Llama pour les textes anglais et multilingues. Il est également optimisé pour être utilisé dans le contexte des appels d'outils (par exemple, les outils de recherche) et pour éviter les abus de l'interpréteur de code. Enfin, nous fournissons des variantes quantifiées pour réduire les besoins en mémoire. Nous encourageons les développeurs à utiliser nos versions des composants de sécurité du système comme base et à les configurer pour leurs propres cas d'utilisation.

classificationNous nous sommes entraînés en utilisant les 13 catégories de préjudice énumérées dans la taxonomie de la sécurité de l'IA (Vidgen et al., 2024) : exploitation sexuelle des enfants, diffamation, élections, haine, armes aveugles, propriété intellectuelle, crimes non violents, vie privée, crimes liés au sexe, contenu pornographique, conseils professionnels, suicide et automutilation, et crimes violents. Nous nous sommes également entraînés contre les catégories d'abus des interprètes de code pour soutenir les cas d'utilisation de l'appel d'outil.

Données d'entraînementNous commençons par les données anglaises utilisées par Llama Guard (Inan et al., 2023) et étendons cet ensemble de données pour y inclure de nouvelles caractéristiques. Pour les nouvelles caractéristiques telles que le multilinguisme et l'utilisation d'outils, nous collectons des données de catégorisation des indices et des réponses, ainsi que des données utilisées pour le réglage fin de la sécurité. Le nombre de réponses non sécurisées dans l'ensemble d'apprentissage est augmenté en effectuant l'ingénierie des indices afin que le LLM ne rejette pas les réponses aux indices adverses. Nous utilisons Llama 3 pour obtenir des étiquettes de réponse pour ces données générées.

Pour améliorer les performances de Llama Guard 3, nous avons nettoyé en profondeur les échantillons collectés en utilisant à la fois l'étiquetage humain et l'étiquetage LLM du modèle Llama 3. L'obtention d'étiquettes pour les indices de l'utilisateur est plus difficile pour les humains et les LLM, et nous avons constaté que l'étiquetage manuel était légèrement meilleur, en particulier pour les indices de limites, bien que notre système itératif complet ait pu réduire le bruit et produire des étiquettes plus précises.

Résultats. Le Llama Guard 3 réduit considérablement les violations de capacités croisées (le taux de violation moyen a baissé de 65% dans notre analyse comparative). Il convient de noter que l'ajout de mesures de protection du système (ainsi que toute mesure d'atténuation de la sécurité) se fera au prix d'une augmentation des rejets d'invites bénignes. Le tableau 25 indique la diminution du taux de violation et l'augmentation des faux rejets par rapport au modèle de base afin de mettre en évidence ce compromis. Cet impact est également visible dans les figures 19, 20 et 21.

La sécurité du système offre également une plus grande flexibilité, car le Llama Guard 3 peut être déployé uniquement pour des dangers spécifiques, ce qui permet de contrôler les violations et les compromis de faux refus au niveau de la catégorie de danger. Le tableau 26 énumère les réductions de violations par catégorie afin de déterminer quelles catégories devraient être activées/désactivées en fonction des cas d'utilisation du développeur.

Pour simplifier le déploiement du système de sécurité, nous fournissons une version quantifiée de Llama Guard 3 à l'aide de la technique de quantification int8 couramment utilisée, ce qui permet de réduire sa taille de plus de 40%. Le tableau 27 montre que la quantification a un impact négligeable sur les performances du modèle.

Le composant de sécurité au niveau du système permet aux développeurs de personnaliser et de contrôler la manière dont le système LLM répond aux demandes des utilisateurs. Pour améliorer la sécurité globale du système de modélisation et permettre aux développeurs de déployer des modèles de manière responsable, nous décrivons et publions deux mécanismes de filtrage basés sur des indices :Prompt Guard répondre en chantant Code Shield. Nous les mettons à la disposition de la communauté afin qu'elle puisse les utiliser tels quels ou s'en inspirer pour les adapter à ses propres cas d'utilisation.

Prompt Guard est un filtre basé sur un modèle conçu pour détecter les attaques par indices, c'est-à-dire les chaînes d'entrée conçues pour détourner le comportement attendu du LLM dans le cadre de l'application. Le modèle est un classificateur à étiquettes multiples qui détecte deux types de risques d'attaques par indices :

  • L'évasion directe (tentative explicite d'outrepasser les conditions de sécurité du modèle ou les techniques suggérées par le système).
  • Injection indirecte d'une invite (cas où la fenêtre contextuelle du modèle contient des données de tiers, y compris des instructions pour des commandes d'utilisateur qui ont été exécutées accidentellement par le LLM).

Le modèle est affiné à partir de mDeBERTa-v3-base (un petit modèle avec 86M paramètres) et est approprié pour filtrer les entrées dans le LLM. Nous évaluons sa performance sur plusieurs ensembles de données d'évaluation présentés dans le tableau 28. Nous évaluons deux ensembles de données provenant de la même distribution que les données d'apprentissage (jailbreaks et injections), ainsi qu'un ensemble de données hors distribution en anglais, un ensemble de jailbreak multilingue basé sur la traduction automatique, et un ensemble de données d'injection indirecte de CyberSecEval (anglais et multilingue). Dans l'ensemble, nous constatons que le modèle se généralise bien aux nouvelles distributions et qu'il est très performant.

Code Shield est un exemple de classe de protection au niveau du système basée sur le filtrage au moment de l'inférence. Elle se concentre spécifiquement sur la détection de la génération de code non sécurisé avant qu'il n'entre dans les cas d'utilisation en aval (par exemple, les systèmes de production). Pour ce faire, elle s'appuie sur la bibliothèque d'analyse statique "Insecure Code Detector" (ICD) pour identifier le code non sécurisé. ICD utilise une suite d'outils d'analyse statique pour effectuer des analyses dans sept langages de programmation. Ce type de protection est souvent très utile pour les développeurs, qui peuvent déployer plusieurs couches de protection pour diverses applications.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

5.4.8 Limites

Nous avons effectué un travail considérable pour mesurer et atténuer les différents risques associés à l'utilisation en toute sécurité du Llama 3. Toutefois, aucun test ne peut garantir une identification complète de tous les risques possibles. En raison de l'entraînement sur une variété d'ensembles de données, en particulier dans des langues autres que l'anglais, et sous réserve d'indices soigneusement élaborés par des membres compétents de l'équipe rouge, Llama 3 peut encore générer du contenu nuisible. Des développeurs malveillants ou des utilisateurs malveillants peuvent trouver de nouveaux moyens de décrypter nos modèles et de les utiliser à diverses fins malveillantes. Nous continuerons à identifier les risques de manière proactive, à mener des recherches sur les méthodes d'atténuation et à encourager les développeurs à prendre en compte la responsabilité dans tous les aspects, depuis le développement du modèle jusqu'à son déploiement auprès des utilisateurs. Nous attendons des développeurs qu'ils exploitent les outils publiés dans notre suite de sécurité au niveau du système en source ouverte et qu'ils y contribuent.

 

6 Inférence

Nous étudions deux techniques principales pour améliorer l'efficacité de l'inférence du modèle Llama 3 405B : (1) le parallélisme de pipeline et (2) la quantification FP8. Nous avons publié une implémentation de la quantification FP8.

 

6.1 Parallélisme de pipeline

Le modèle Llama 3 405B ne tient pas dans la mémoire GPU d'une seule machine équipée de 8 GPU Nvidia H100 lorsque l'on utilise BF16 pour représenter les paramètres du modèle. Pour résoudre ce problème, nous avons utilisé la précision BF16 pour paralléliser l'inférence du modèle sur 16 GPU sur deux machines. Dans chaque machine, le NVLink à large bande passante permet d'utiliser le parallélisme tensoriel (Shoeybi et al., 2019). Cependant, les connexions entre nœuds ont une bande passante plus faible et une latence plus élevée, nous utilisons donc le parallélisme de pipeline (Huang et al., 2019).

Les bulles constituent un problème d'efficacité majeur lors de l'apprentissage utilisant le parallélisme de pipeline (voir la section 3.3). Cependant, elles ne posent pas de problème lors de l'inférence car celle-ci n'implique pas de rétropropagation qui nécessite un rinçage du pipeline. Par conséquent, nous utilisons le micro-batching pour améliorer le débit de l'inférence parallèle au pipeline.

Nous évaluons l'effet de l'utilisation de deux micro-lots dans une charge de travail d'inférence de 4 096 jetons d'entrée et 256 jetons de sortie pour la phase de prépeuplement du cache de valeurs clés et la phase de décodage de l'inférence, respectivement. Nous constatons que le micro-batching améliore le débit d'inférence pour une même taille de lot local (voir figure 24). Ces améliorations proviennent de la capacité du micro-batching à exécuter simultanément des micro-batchs dans les deux phases. Comme le micro-batching entraîne des points de synchronisation supplémentaires, il augmente également la latence, mais dans l'ensemble, le micro-batching permet toujours d'obtenir un meilleur compromis entre débit et latence.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

6.2 Quantification du 8e PC

Nous avons réalisé des expériences d'inférence de faible précision en utilisant le support FP8 inhérent au GPU H100. Pour obtenir une inférence de faible précision, nous avons appliqué la quantification FP8 à la plupart des multiplications de matrices dans le modèle. Plus précisément, nous avons quantifié la grande majorité des paramètres et des valeurs d'activation dans les couches du réseau d'anticipation du modèle, qui représentent environ 50% du temps de calcul de l'inférence, mais nous n'avons pas quantifié les paramètres de la couche d'auto-attention du modèle. Nous utilisons un facteur d'échelle dynamique pour améliorer la précision (Xiao et al., 2024b) et optimisons notre noyau CUDA15 pour réduire les frais d'échelle de calcul.

Nous avons constaté que la qualité du modèle Llama 3 405B était sensible à certains types de quantification et nous avons apporté quelques modifications supplémentaires pour améliorer la qualité des résultats du modèle :

  1. Comme Zhang et al. (2021), nous n'avons pas quantifié les première et dernière couches de Transformer.
  2. Les jetons fortement alignés (par exemple, les dates) peuvent donner lieu à de grandes valeurs d'activation. En retour, cela peut conduire à des facteurs d'échelle dynamiques plus élevés en FP8 et à une quantité non négligeable de sous-débit en virgule flottante, entraînant des erreurs de décodage. La figure 26 montre la distribution des scores de récompense pour le lama 3 405B en utilisant l'inférence BF16 et FP8. Notre méthode de quantification FP8 a peu d'effet sur la réponse du modèle.

Pour résoudre ce problème, nous avons fixé la limite supérieure du facteur d'échelle dynamique à 1200.

  1. Nous avons utilisé la quantification ligne par ligne pour calculer les facteurs d'échelle entre les lignes pour les matrices de paramètres et d'activation (voir figure 25). Cette méthode s'est avérée plus efficace que l'approche de quantification au niveau du tenseur.

quantifier l'impact des erreurs. Les évaluations des benchmarks standards montrent généralement que même sans ces atténuations, le raisonnement FP8 a des performances comparables à celles du raisonnement BF16. Cependant, nous constatons que ces benchmarks ne reflètent pas correctement l'impact de la quantification FP8. Lorsque le facteur d'échelle n'est pas plafonné, le modèle produit occasionnellement des réponses corrompues, même lorsque la performance du benchmark est forte.

Plutôt que de s'appuyer sur des benchmarks pour mesurer les changements dans la distribution dus à la quantification, il est possible d'analyser la distribution des scores des modèles de récompense pour les 100 000 réponses générées à l'aide de BF16 et FP8. La figure 26 montre la distribution des récompenses obtenues par notre méthode de quantification. Les résultats montrent que notre méthode de quantification FP8 a un impact très limité sur les réponses du modèle.

évaluation expérimentale de l'efficacité. La figure 27 illustre le compromis débit-latence pour l'inférence FP8 dans les phases de pré-population et de décodage avec 4 096 jetons d'entrée et 256 jetons de sortie à l'aide de la Llama 3 405B. La figure compare l'efficacité de l'inférence FP8 avec l'approche d'inférence BF16 à deux machines décrite dans la section 6.1. Les résultats montrent que l'utilisation de l'inférence FP8 améliore le débit dans la phase de pré-population jusqu'à 50% et améliore considérablement le compromis débit-délai pendant le décodage.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

 

7 Expériences visuelles

 

Nous avons mené une série d'expériences pour intégrer des capacités de reconnaissance visuelle dans le Llama 3 par le biais d'une approche combinée. L'approche est divisée en deux phases principales :

Première étape. Nous avons combiné un codeur d'images pré-entraîné (Xu et al., 2023) avec un modèle de langage pré-entraîné et nous avons introduit et entraîné un ensemble de couches d'attention croisée (Alayrac et al., 2022) sur un grand nombre de paires image-texte. Il en résulte le modèle présenté à la figure 28.

Deuxième étape. Nous introduisons une couche d'agrégation temporelle et des couches d'attention croisée supplémentaires qui agissent sur un grand nombre de paires de textes vidéo afin d'apprendre au modèle à reconnaître et à traiter les informations temporelles des vidéos.

L'approche combinatoire de la construction du modèle de base présente plusieurs avantages.

(1) Il nous permet de développer en parallèle des fonctions de modélisation visuelle et linguistique ;

(2) Il évite les complexités associées au pré-entraînement conjoint des données visuelles et verbales, qui découlent de la symbolisation des données visuelles, des différences de perplexité de fond entre les modalités et de la concurrence entre les modalités ;

(3) Il garantit que l'introduction de capacités de reconnaissance visuelle n'affecte pas les performances du modèle pour les tâches textuelles uniquement ;

(4) L'architecture d'attention croisée garantit que nous n'avons pas besoin de transmettre des images à pleine résolution à l'épine dorsale LLM qui ne cesse de croître (en particulier le réseau feed-forward dans chaque couche Transformer), ce qui améliore l'efficacité de l'inférence.

Veuillez noter que notre modèle multimodal est encore en cours de développement et qu'il n'est pas encore prêt à être diffusé.

Avant de présenter les résultats expérimentaux dans les sections 7.6 et 7.7, nous décrivons les données utilisées pour entraîner les capacités de reconnaissance visuelle, l'architecture du modèle des composants visuels, la manière dont nous avons étendu l'entraînement de ces composants et nos recettes de pré-entraînement et de post-entraînement.

 

7.1 Données

Nous décrivons séparément les données image et les données vidéo.

 

7.1.1 Données d'image

Nos codeurs et adaptateurs d'images sont formés sur des paires image-texte. Nous construisons cet ensemble de données par le biais d'un pipeline de traitement de données complexe qui se compose de quatre étapes principales :

(1) Filtrage de qualité (2) Désaccentuation perceptuelle (3) Rééchantillonnage (4) Reconnaissance optique de caractères . Nous avons également appliqué une série de mesures de sécurité.

  • Filtration de masse. Nous avons mis en œuvre des filtres de qualité pour éliminer les légendes non anglaises et les légendes de faible qualité par le biais d'heuristiques telles que les faibles scores d'alignement générés par (Radford et al., 2021). Plus précisément, nous supprimons toutes les paires image-texte qui se situent en dessous d'un score CLIP spécifique.
  • Désaccentuation. La déduplication des ensembles de données de formation à grande échelle améliore les performances des modèles car elle réduit les calculs de formation pour les données redondantes (Esser et al. 2024 ; Lee et al. 2021 ; Abbas et al. 2023) et réduit le risque de mémorisation des modèles (Carlini et al. 2023 ; Somepalli et al. 2023). Par conséquent, nous dédupliquons les données d'entraînement pour des raisons d'efficacité et de confidentialité. À cette fin, nous utilisons la dernière version interne du modèle de détection de copies SSCD (Pizzi et al., 2022) pour dédupliquer massivement les images. Pour toutes les images, nous calculons d'abord une représentation à 512 dimensions à l'aide du modèle SSCD. Nous utilisons ensuite ces encastrements pour effectuer une recherche du plus proche voisin (NN) sur toutes les images de l'ensemble de données, en utilisant une métrique de similarité cosinusoïdale. Nous définissons les exemples dépassant un seuil de similarité spécifique comme des termes en double. Nous regroupons ces termes en double à l'aide d'un algorithme de composants connectés et ne conservons qu'une seule paire image-texte pour chaque composant connecté. Nous améliorons l'efficacité du pipeline de déduplication en (1) pré-clusterisant les données à l'aide du clustering k-mean (2) en utilisant FAISS pour la recherche NN et le clustering (Johnson et al., 2019).
  • Rééchantillonnage. Nous garantissons la diversité des paires image-texte, à l'instar de Xu et al. (2023) ; Mahajan et al. (2018) ; Mikolov et al. (2013). Tout d'abord, nous construisons un glossaire grammatical n-tuple en analysant des sources de texte de haute qualité. Ensuite, nous calculons la fréquence des grammaires n-tuple pour chaque glossaire dans l'ensemble de données. Nous rééchantillonnons ensuite les données de la manière suivante : si une grammaire à n-tuple dans une légende apparaît moins de T fois dans le glossaire, nous conservons la paire image-texte correspondante. Dans le cas contraire, nous avons échantillonné indépendamment chaque grammaire de n-tuples n i dans le titre avec une probabilité T / f i, où f i représente la fréquence de la grammaire de n-tuples n i ; si une grammaire de n-tuples a été échantillonnée, nous avons conservé la paire image-texte. Ce rééchantillonnage permet d'améliorer les performances des catégories à faible fréquence et des tâches de reconnaissance à grain fin.
  • Reconnaissance optique de caractères. Nous avons encore amélioré nos données textuelles en extrayant le texte de l'image et en l'associant à une légende. Le texte écrit a été extrait à l'aide d'un pipeline propriétaire de reconnaissance optique de caractères (OCR). Nous avons observé que l'ajout de données OCR aux données d'apprentissage peut considérablement améliorer les performances des tâches qui requièrent des capacités OCR, telles que la compréhension de documents.

 

Pour améliorer les performances du modèle dans la tâche de compréhension des documents, nous rendons les pages des documents sous forme d'images et nous associons les images à leur texte respectif. Le texte du document est obtenu soit directement à partir de la source, soit par le biais d'un pipeline d'analyse de documents.

La sécurité : Notre objectif principal est de veiller à ce que les ensembles de données de préapprentissage de la reconnaissance d'images ne contiennent pas de contenu dangereux, tel que du matériel sexuellement abusif (CSAM) (Thiel, 2023). Nous utilisons des méthodes de hachage perceptuel telles que PhotoDNA (Farid, 2021), ainsi qu'un classificateur propriétaire interne qui analyse toutes les images d'entraînement à la recherche de CSAM.Nous utilisons également un pipeline propriétaire d'extraction des risques médiatiques pour identifier et supprimer les paires image-texte que nous considérons comme NSFW, par exemple parce qu'elles contiennent du contenu sexuel ou violent. Nous pensons qu'en minimisant la prévalence de ce type de contenu dans l'ensemble de données d'apprentissage, nous améliorons la sécurité et l'utilité du modèle final, sans compromettre son utilité. Enfin, nous effectuons un floutage facial sur toutes les images de l'ensemble d'apprentissage. Nous avons testé le modèle par rapport à des indices générés par l'homme qui renvoient à des images supplémentaires.

Données de recuit : Nous avons créé un ensemble de données recuit contenant environ 350 millions d'exemples en rééchantillonnant des paires de légendes d'images à l'aide de n-grammes. Étant donné que le rééchantillonnage par n-grammes favorise les descriptions textuelles plus riches, il sélectionne un sous-ensemble de données de meilleure qualité. Nous avons également ajouté aux données résultantes environ 150 millions d'exemples provenant de cinq sources supplémentaires :

    • Orientation visuelle. Nous associons des phrases nominales dans le texte à des boîtes ou des masques de délimitation dans l'image. Les informations de localisation (boîtes de délimitation et masques) sont spécifiées dans les paires image-texte de deux manières :(1) Nous superposons les boîtes ou les masques sur l'image et utilisons des marqueurs comme références dans le texte, de manière similaire à un ensemble de marqueurs (Yang et al., 2023a). (2) Nous insérons les coordonnées normalisées (x min, y min, x max, y max) directement dans le texte et les séparons par des marqueurs spéciaux.
    • Analyse des captures d'écran. Nous réalisons des captures d'écran à partir de code HTML et laissons le modèle prédire le code qui génère des éléments spécifiques de la capture d'écran, à l'instar de Lee et al. (2023). Les éléments d'intérêt sont indiqués dans la capture d'écran par des boîtes de délimitation.
    • Q&R avec. Nous incluons des paires de questions-réponses qui nous permettent d'utiliser de grandes quantités de données de questions-réponses qui sont trop importantes pour être utilisées pour l'affinement du modèle.
    • Titre synthétique. Nous incluons des images avec des légendes synthétiques générées à partir de versions antérieures du modèle. Par rapport aux légendes originales, nous avons constaté que les légendes synthétiques fournissaient une description plus complète de l'image que les légendes originales.
    • Synthèse d'images structurées. Nous incluons également des images générées synthétiquement pour divers domaines tels que les graphiques, les tableaux, les organigrammes, les formules mathématiques et les données textuelles. Ces images sont accompagnées de représentations structurées correspondantes, telles que la notation Markdown ou LaTeX. Outre l'amélioration des capacités de reconnaissance du modèle dans ces domaines, nous avons constaté que ces données étaient utiles pour générer des paires de questions-réponses à affiner par le biais de la modélisation textuelle.

 

Llama 3:一个多功能、开源的 AI 模型系列

Fig. 28 Schéma de l'approche combinée de l'ajout de capacités multimodales au Llama 3 étudiée dans cet article. Cette approche aboutit à un modèle multimodal qui est entraîné en cinq étapes : pré-entraînement du modèle linguistique, pré-entraînement de l'encodeur multimodal, entraînement de l'adaptateur visuel, réglage fin du modèle et entraînement de l'adaptateur vocal.

 

7.1.2 Données vidéo

Pour le pré-entraînement vidéo, nous utilisons un vaste ensemble de paires vidéo-texte. Notre ensemble de données est collecté par le biais d'un processus en plusieurs étapes. Nous utilisons une heuristique basée sur des règles pour filtrer et nettoyer le texte pertinent, par exemple en veillant à ce qu'il soit d'une longueur minimale et en fixant les majuscules. Nous utilisons ensuite des modèles de reconnaissance linguistique pour filtrer les textes qui ne sont pas en anglais.

Nous avons exécuté le modèle de détection OCR pour filtrer les vidéos dont le texte est excessivement superposé. Pour garantir un alignement raisonnable entre les paires vidéo-texte, nous utilisons des modèles de comparaison image-texte et vidéo-texte de type CLIP (Radford et al., 2021). Nous calculons d'abord la similarité image-texte en utilisant une seule image de la vidéo et nous filtrons les paires dont la similarité est faible, puis nous filtrons les paires dont l'alignement vidéo-texte est médiocre. Certaines de nos données contenaient des vidéos fixes ou peu animées ; nous les avons filtrées à l'aide d'un filtrage basé sur le score de mouvement (Girdhar et al., 2023). Nous n'avons pas appliqué de filtres à la qualité visuelle des vidéos, tels que des scores esthétiques ou des filtres de résolution.

Notre ensemble de données contient des vidéos d'une durée médiane de 16 secondes et d'une durée moyenne de 21 secondes, et plus de 99% des vidéos durent moins d'une minute. La résolution spatiale varie considérablement entre les vidéos 320p et 4K, avec plus de 70% vidéos ayant des bords courts de plus de 720 pixels. Les vidéos ont des rapports d'aspect différents, la quasi-totalité d'entre elles ayant un rapport d'aspect compris entre 1:2 et 2:1, avec une médiane de 1:1.

 

7.2 Architecture du modèle

Notre modèle de reconnaissance visuelle se compose de trois éléments principaux : (1) un encodeur d'images, (2) un adaptateur d'images et (3) un adaptateur vidéo.

Encodeur d'images.

Notre codeur d'images est un transformateur visuel standard (ViT ; Dosovitskiy et al. (2020)) qui est entraîné à aligner les images et le texte (Xu et al., 2023). Nous avons utilisé la version ViT-H/14 de l'encodeur d'images, qui a 630 millions de paramètres et a été entraîné pendant cinq époques sur 2,5 milliards de paires image-texte. La résolution de l'image d'entrée de l'encodeur d'images était de 224 × 224 ; l'image a été divisée en 16 × 16 morceaux de taille égale (c'est-à-dire une taille de bloc de 14 × 14 pixels). Comme l'ont montré des travaux antérieurs tels que ViP-Llava (Cai et al., 2024), nous avons constaté que les encodeurs d'images formés en comparant des cibles alignées sur du texte ne conservent pas les informations de localisation à grain fin. Pour atténuer ce problème, nous avons utilisé une approche d'extraction de caractéristiques multicouches qui fournit des caractéristiques aux couches 4, 8, 16, 24 et 31 en plus de la dernière couche de caractéristiques.

En outre, nous avons inséré 8 couches d'auto-attention gated (40 blocs Transformer au total) avant le pré-entraînement des couches d'attention croisée pour apprendre les caractéristiques spécifiques à l'alignement. En conséquence, le codeur d'images s'est retrouvé avec 850 millions de paramètres et de couches supplémentaires. Avec plusieurs couches de caractéristiques, le codeur d'images produit une représentation à 7680 dimensions pour chacun des 16 × 16 = 256 morceaux générés. Nous ne figeons pas les paramètres de l'encodeur d'images dans les phases d'apprentissage ultérieures, car nous avons constaté que cela améliore les performances, en particulier dans des domaines tels que la reconnaissance de texte.

Adaptateurs d'images.

Nous introduisons une couche d'attention croisée entre la représentation du marqueur visuel produite par le codeur d'images et la représentation du marqueur produite par le modèle de langage (Alayrac et al., 2022). La couche d'attention croisée est appliquée après chaque quatrième couche d'auto-attention dans le modèle de langage central. Comme le modèle de langage lui-même, la couche d'attention croisée utilise l'attention généralisée aux requêtes (GQA) pour améliorer l'efficacité.

La couche d'attention croisée introduit un grand nombre de paramètres entraînables dans le modèle : pour le Llama 3 405B, la couche d'attention croisée a environ 100 milliards de paramètres. Nous avons pré-entraîné les adaptateurs d'images en deux étapes : (1) pré-entraînement initial et (2) recuit:* Préformation initiale. Nous avons pré-entraîné nos adaptateurs d'images sur l'ensemble de données susmentionné d'environ 6 milliards de paires image-texte. Pour améliorer l'efficacité des calculs, nous redimensionnons toutes les images pour qu'elles tiennent dans un maximum de quatre blocs de 336 × 336 pixels, où nous disposons les blocs pour prendre en charge différents rapports d'aspect, tels que 672 × 672, 672 × 336 et 1344 × 336. ● Les adaptateurs d'images sont conçus pour tenir dans un maximum de quatre blocs de 336 × 336 pixels. Recuit. Nous continuons à entraîner l'adaptateur d'images en utilisant environ 500 millions d'images provenant de l'ensemble de données de recuit décrit ci-dessus. Au cours du processus de recuit, nous augmentons la résolution de l'image de chaque tracé afin d'améliorer les performances dans les tâches qui nécessitent des images de plus haute résolution, telles que la compréhension d'infographies.

Adaptateur vidéo.

Notre modèle accepte des entrées allant jusqu'à 64 images (échantillonnées uniformément à partir de la vidéo complète), chacune d'entre elles étant traitée par un encodeur d'images. Nous modélisons la structure temporelle de la vidéo au moyen de deux composantes : (i) les images vidéo encodées sont fusionnées en une seule au moyen d'un agrégateur temporel, qui combine 32 images consécutives en une seule ; et (ii) des couches d'attention croisée vidéo supplémentaires sont ajoutées avant chaque quatrième couche d'attention croisée d'image. Les agrégateurs temporels sont mis en œuvre sous la forme de rééchantillonneurs de perceptron (Jaegle et al., 2021 ; Alayrac et al., 2022). Nous avons utilisé 16 images par vidéo (agrégées en 1 image) pour le pré-entraînement, mais nous avons augmenté le nombre d'images d'entrée à 64 pendant l'ajustement supervisé. L'agrégateur vidéo et la couche d'attention croisée ont 0,6 et 4,6 milliards de paramètres dans les lamas 3 7B et 70B, respectivement.

 

7.3 Taille du modèle

Après avoir ajouté les composants de reconnaissance visuelle à Llama 3, le modèle contient une couche d'auto-attention, une couche d'attention croisée et un encodeur d'images ViT. Nous avons constaté que le parallélisme des données et le parallélisme des tenseurs étaient les combinaisons les plus efficaces lors de l'apprentissage d'adaptateurs pour des modèles plus petits (8 et 70 milliards de paramètres). À ces échelles, le parallélisme de modèle ou de pipeline n'améliorera pas l'efficacité car la collecte des paramètres du modèle dominera le calcul. Cependant, nous avons utilisé le parallélisme de pipeline (en plus du parallélisme de données et de tenseurs) lors de l'apprentissage de l'adaptateur pour le modèle à 405 milliards de paramètres. L'entraînement à cette échelle présente trois nouveaux défis en plus de ceux décrits dans la section 3.3 : l'hétérogénéité du modèle, l'hétérogénéité des données et l'instabilité numérique.

hétérogénéité du modèle. Le calcul du modèle est hétérogène, car certains jetons effectuent plus de calculs que d'autres. En particulier, les jetons images sont traités par l'encodeur d'images et la couche d'attention croisée, tandis que les jetons textes sont traités uniquement par le réseau dorsal linguistique. Cette hétérogénéité peut entraîner des goulets d'étranglement dans l'ordonnancement parallèle du pipeline. Nous nous attaquons à ce problème en veillant à ce que chaque étape du pipeline contienne cinq couches : c'est-à-dire quatre couches d'auto-attention et une couche d'attention croisée dans le réseau dorsal linguistique. (Rappelons que nous avons introduit une couche d'attention croisée après toutes les quatre couches d'auto-attention). En outre, nous répliquons l'encodeur d'images à toutes les étapes du pipeline. Étant donné que nous nous entraînons sur des données image-texte appariées, cela nous permet d'équilibrer la charge entre les parties image et texte du calcul.

Hétérogénéité des donnéesLes données sont hétérogènes car, en moyenne, les images ont plus de tokens que le texte associé : une image a 2308 tokens alors que le texte associé n'a que 192 tokens. Les données sont hétérogènes car, en moyenne, les images ont plus de jetons que le texte associé : une image a 2308 jetons, tandis que le texte associé n'a que 192 jetons en moyenne. Par conséquent, le calcul de la couche d'attention croisée prend plus de temps et nécessite plus de mémoire que le calcul de la couche d'auto-attention. Nous résolvons ce problème en introduisant un parallélisme de séquence dans l'encodeur d'images, de sorte que chaque GPU traite à peu près le même nombre de jetons. Nous utilisons également une taille de micro-lots plus importante (8 au lieu de 1) en raison de la taille moyenne relativement faible des textes.

Instabilité numérique. Après avoir ajouté l'encodeur d'images au modèle, nous avons constaté que l'accumulation du gradient à l'aide de bf16 produisait des valeurs instables. L'explication la plus probable est que les marqueurs d'images sont introduits dans le réseau linguistique par le biais de toutes les couches d'attention croisée. Cela signifie que les écarts numériques dans la représentation des images marquées ont un impact disproportionné sur le calcul global, car les erreurs sont cumulées. Nous abordons ce problème en procédant à l'accumulation du gradient à l'aide de FP32.

 

7.4 Pré-entraînement

Pré-entraînement de l'image. Nous commençons l'initialisation avec le modèle de texte pré-entraîné et les poids du codeur visuel. Le codeur visuel a été dégelé tandis que les poids du modèle de texte sont restés gelés comme décrit ci-dessus. Tout d'abord, nous avons entraîné le modèle en utilisant 6 milliards de paires image-texte, chaque image étant redimensionnée pour tenir dans quatre parcelles de 336 × 336 pixels. Nous avons utilisé une taille de lot globale de 16 384 et un schéma de taux d'apprentissage en cosinus avec un taux d'apprentissage initial de 10 × 10 -4 et une décroissance des poids de 0,01. Cependant, ces résultats ne se généralisent pas bien à des programmes de formation très longs, et nous réduisons le taux d'apprentissage plusieurs fois au cours de la formation lorsque les valeurs de perte stagnent. Après un préapprentissage de base, nous augmentons encore la résolution de l'image et poursuivons l'apprentissage avec les mêmes poids sur l'ensemble de données recalé. L'optimiseur est réinitialisé à un taux d'apprentissage de 2 × 10 -5 par échauffement, en suivant à nouveau le programme en cosinus.

Préformation vidéo. Pour le pré-entraînement vidéo, nous commençons par le pré-entraînement image et les poids de recuit décrits ci-dessus. Nous ajouterons des couches d'agrégateur vidéo et d'attention croisée comme décrit dans l'architecture et les initialiserons de manière aléatoire. Nous gelons tous les paramètres du modèle à l'exception de ceux qui sont spécifiques à la vidéo (agrégateur et attention croisée) et nous les entraînons sur les données de pré-entraînement vidéo. Nous utilisons les mêmes hyperparamètres d'apprentissage que dans la phase de recuit d'image, avec des taux d'apprentissage légèrement différents. Nous échantillonnons uniformément 16 images de la vidéo complète et utilisons quatre blocs de 448 × 448 pixels pour représenter chaque image. Nous utilisons un facteur d'agrégation de 16 dans l'agrégateur vidéo pour obtenir une image valide sur laquelle les marqueurs de texte se focaliseront. Nous effectuons l'apprentissage en utilisant une taille de lot globale de 4 096, une longueur de séquence de 190 jetons et un taux d'apprentissage de 10 -4 .

 

7.5 Traitement post-formation

Dans cette section, nous décrivons en détail les étapes suivantes de la formation de l'adaptateur visuel.

Après le pré-entraînement, nous avons affiné le modèle sur des données de dialogue multimodales hautement sélectionnées afin de permettre la fonctionnalité de chat.

En outre, nous mettons en œuvre l'optimisation directe des préférences (DPO) pour améliorer les performances de l'évaluation manuelle et utilisons l'échantillonnage par rejet pour améliorer l'inférence multimodale.

Enfin, nous ajoutons une phase de réglage de la qualité au cours de laquelle nous continuons à affiner le modèle sur un très petit ensemble de données de dialogues de haute qualité, ce qui améliore encore les résultats de l'évaluation manuelle tout en préservant les performances du test de référence.

Des informations détaillées sur chaque étape sont fournies ci-dessous.

 

7.5.1 Contrôle des données affinées

Nous décrivons ci-dessous les données de réglage fin supervisé (SFT) pour les fonctions image et vidéo, respectivement.

IMAGE. Nous utilisons un mélange de différents ensembles de données pour la mise au point supervisée.

  • Ensembles de données universitaires : nous convertissons des ensembles de données universitaires existants hautement filtrés en paires question-réponse à l'aide de modèles ou par le biais de réécritures LLM (Large Language Modelling). Les réécritures LLM sont conçues pour augmenter les données avec différentes instructions et pour améliorer la qualité linguistique des réponses.
  • Annotation manuelle : nous collectons des données de dialogue multimodal pour une variété de tâches (questions-réponses ouvertes, sous-titrage, cas d'utilisation dans le monde réel, etc.) et de domaines (par exemple, images naturelles et images structurées) par l'intermédiaire d'annotateurs manuels. L'annotateur recevra les images et sera invité à composer le dialogue.

Pour garantir la diversité, nous avons regroupé l'ensemble de données à grande échelle et échantillonné les images de manière égale dans les différents groupes. En outre, nous obtenons des images supplémentaires pour certains domaines spécifiques en élargissant les semences à l'aide des voisins les plus proches. L'annotateur dispose également de points de contrôle intermédiaires des modèles existants pour faciliter l'annotation stylistique des modèles dans la boucle, de sorte que la génération de modèles puisse servir de point de départ à l'annotateur pour apporter des modifications humaines supplémentaires. Il s'agit d'un processus itératif dans lequel les points de contrôle des modèles sont périodiquement mis à jour vers des versions plus performantes qui ont été formées sur les données les plus récentes. Cela permet d'augmenter la quantité et l'efficacité de l'annotation manuelle tout en améliorant la qualité.

  • Données synthétiques : nous explorons différentes approches pour générer des données multimodales synthétiques en utilisant des représentations textuelles d'images et des LLM d'entrée textuels. L'idée de base est d'utiliser les capacités d'inférence du LLM d'entrée textuelle pour générer des paires de questions-réponses dans le domaine textuel et de remplacer les représentations textuelles par les images correspondantes afin de produire des données multimodales synthétiques. Les exemples incluent le rendu du texte d'un ensemble de données de questions-réponses sous forme d'images ou le rendu de données tabulaires sous forme d'images synthétiques de tableaux et de graphiques. En outre, nous utilisons le sous-titrage et l'extraction OCR d'images existantes pour générer un dialogue général ou des données de questions-réponses associées aux images.

Vidéo. Comme pour l'adaptateur d'images, nous utilisons des ensembles de données académiques annotées préexistantes pour les transformer en instructions textuelles appropriées et en réponses cibles. Les objectifs seront convertis en réponses ouvertes ou en questions à choix multiples, selon le cas. Nous avons demandé à des annotateurs humains d'ajouter des questions et les réponses correspondantes aux vidéos. Nous avons demandé à l'annotateur de se concentrer sur les questions auxquelles il n'était pas possible de répondre en se basant sur des images individuelles, afin de l'orienter vers des questions qui prendraient du temps à comprendre.

 

7.5.2 Suivi du programme de mise au point

Nous présentons des schémas de réglage fin supervisé (SFT) pour les capacités d'image et de vidéo, respectivement :

IMAGE. Nous initialisons le modèle à partir des adaptateurs d'images pré-entraînés, mais nous remplaçons les poids du modèle de langage pré-entraîné par les poids du modèle de langage adapté aux instructions. Pour maintenir la performance du texte seul, les poids du modèle de langage sont gelés, c'est-à-dire que nous ne mettons à jour que les poids du codeur visuel et de l'adaptateur d'image.

Notre approche de réglage fin est similaire à celle de Wortsman et al. (2022). Tout d'abord, nous effectuons des analyses d'hyperparamètres en utilisant plusieurs sous-ensembles aléatoires de données, de taux d'apprentissage et de valeurs de décroissance de poids. Ensuite, nous classons les modèles en fonction de leur performance. Enfin, nous calculons la moyenne des poids des K meilleurs modèles pour obtenir le modèle final. La valeur de K a été déterminée en évaluant le modèle moyen et en sélectionnant l'instance la plus performante. Nous observons que le modèle moyen produit systématiquement de meilleurs résultats que le meilleur modèle individuel trouvé par la recherche en grille. En outre, cette stratégie réduit la sensibilité aux hyperparamètres.

Vidéo. Pour le SFT vidéo, nous initialisons l'agrégateur vidéo et la couche d'attention croisée en utilisant des poids pré-entraînés. Les autres paramètres du modèle (poids d'image et LLM) sont initialisés à partir du modèle correspondant et suivent leurs étapes de réglage fin. Comme pour le pré-entraînement vidéo, seuls les paramètres vidéo sur les données SFT vidéo sont ensuite affinés. Dans cette phase, nous augmentons la longueur de la vidéo à 64 images et utilisons un facteur d'agrégation de 32 pour obtenir deux images valides. La résolution du bloc aynı zamanda est augmentée en conséquence pour être cohérente avec les hyperparamètres de l'image correspondante.

 

7.5.3 Préférences

Pour récompenser la modélisation et l'optimisation directe des préférences, nous avons construit des ensembles de données multimodales de préférences par paires.

  • Étiquetage manuel. Les données de préférence annotées manuellement consistent en une comparaison des résultats de deux modèles différents, étiquetés comme "sélectionner" et "rejeter", et notés sur une échelle de 7 points. Les modèles utilisés pour générer les réponses sont échantillonnés au hasard chaque semaine à partir d'un ensemble des meilleurs modèles récents, chacun présentant des caractéristiques différentes. En plus des étiquettes de préférence, nous avons demandé aux annotateurs de fournir une édition manuelle facultative pour corriger les inexactitudes dans la réponse "Sélectionner", car la tâche visuelle est moins tolérante à l'égard des inexactitudes. Notez que l'édition manuelle est une étape facultative, car il y a un compromis entre la quantité et la qualité dans la pratique.
  • Données de synthèse. Des paires de préférences synthétiques peuvent également être générées en utilisant l'édition LLM textuelle et en introduisant délibérément des erreurs dans l'ensemble de données de réglage fin supervisé. Nous avons pris des données de dialogue comme entrée et utilisé LLM pour introduire des erreurs subtiles mais significatives (par exemple, changement d'objets, changement d'attributs, ajout d'erreurs de calcul, etc.) ). Ces réponses éditées sont utilisées comme échantillons négatifs "rejetés" et appariées avec les données originales "sélectionnées" de réglage fin supervisé.
  • Rejeter l'échantillonnage. En outre, pour créer des échantillons négatifs plus stratégiques, nous utilisons un processus itératif d'échantillonnage par rejet pour collecter des données supplémentaires sur les préférences. La manière dont l'échantillonnage par rejet est utilisé est décrite plus en détail dans les sections suivantes. En résumé, l'échantillonnage par rejet est utilisé pour échantillonner de manière itérative les résultats de haute qualité générés par le modèle. Par conséquent, en tant que sous-produit, tous les résultats générés non sélectionnés peuvent être utilisés comme échantillons de rejet négatifs et comme paires de données de préférence supplémentaires.

 

7.5.4 Modélisation des récompenses

Nous avons entraîné un modèle de récompense visuel (RM) basé sur un modèle SFT visuel et un RM linguistique. L'encodeur visuel et les couches d'attention croisée ont été initialisés à partir du modèle SFT visuel et dégelés pendant l'entraînement, tandis que la couche d'auto-attention a été initialisée à partir du RM linguistique et est restée gelée. Nous observons que le gel de la partie linguistique de la RM conduit généralement à une meilleure précision, en particulier dans les tâches qui demandent à la RM de porter des jugements basés sur ses connaissances ou sur la qualité de la langue. Nous utilisons le même objectif d'apprentissage que pour la RM linguistique, mais nous ajoutons un terme de régularisation pondéré pour élever au carré les logits de récompense moyennés par lot afin d'empêcher la dérive du score de récompense.

Nous avons suivi la même approche que pour les données relatives aux préférences linguistiques (section 4.2.1), en créant deux ou trois paires avec des classements clairs (version éditée > version sélectionnée > version rejetée). En outre, nous avons renforcé synthétiquement les réponses négatives en brouillant les mots ou les phrases (par exemple, les chiffres ou le texte visuel) associés aux informations de l'image. Cela encourage la RM visuelle à porter des jugements basés sur le contenu réel de l'image.

 

7.5.5 Optimisation directe des préférences

Comme pour le modèle linguistique (section 4.1.4), nous avons entraîné les adaptateurs visuels en utilisant l'optimisation directe des préférences (DPO ; Rafailov et al. (2023)) avec les données de préférence décrites à la section 7.5.3. Pour lutter contre le biais de distribution pendant le post-entraînement, nous n'avons conservé que les lots les plus récents d'annotations de préférences humaines, et nous avons écarté les lots qui étaient loin d'être conformes à la stratégie (par exemple, si le modèle sous-jacent de pré-entraînement avait été modifié). Nous avons constaté qu'au lieu de geler le modèle de référence en permanence, sa mise à jour tous les k pas en tant que moyenne mobile exponentielle (EMA) permet au modèle d'apprendre davantage à partir des données, ce qui se traduit par de meilleures performances lors des évaluations humaines. Dans l'ensemble, nous observons que le modèle visuel DPO surpasse systématiquement son point de départ SFT dans les évaluations humaines et obtient de bons résultats à chaque itération de réglage fin.

 

7.5.6 Rejet de l'échantillonnage

La plupart des paires de quiz existantes ne contiennent que les réponses finales et ne contiennent pas les explications de la chaîne de pensée nécessaires pour raisonner sur des modèles qui généralisent bien la tâche. Nous utilisons l'échantillonnage par rejet pour générer les explications manquantes pour ces exemples, améliorant ainsi l'inférence du modèle.

Étant donné une paire de quiz, nous générons plusieurs réponses en échantillonnant le modèle affiné à l'aide de différents indices ou températures du système. Ensuite, nous comparons les réponses générées avec les vraies réponses par le biais d'heuristiques ou d'arbitres LLM. Enfin, nous réentraînons le modèle en ajoutant des réponses correctes aux données affinées. Nous avons trouvé utile de conserver plusieurs réponses correctes par question.

Afin de garantir que seuls des exemples de qualité soient ajoutés à la formation, nous avons mis en œuvre les deux mesures de sécurité suivantes :

  1. Nous avons constaté que certains exemples contenaient des explications incorrectes, même si la réponse finale était correcte. Nous notons que ce schéma est plus courant dans les questions où seule une petite fraction des réponses générées est correcte. Par conséquent, nous avons écarté les réponses aux questions dont la probabilité d'une réponse correcte était inférieure à un seuil spécifique.
  2. Les évaluateurs favorisent certaines réponses en raison de différences de langue ou de style. Nous utilisons un modèle de récompense pour sélectionner les K réponses de meilleure qualité et les ajouter à la formation.

 

7.5.7 Réglage de la qualité

Nous avons soigneusement constitué un petit ensemble de données très sélectif (SFT), dans lequel tous les échantillons ont été réécrits et validés pour répondre aux normes les plus strictes, soit manuellement, soit par nos meilleurs modèles. Nous utilisons ces données pour entraîner les modèles de DPO afin d'améliorer la qualité des réponses et appelons ce processus "réglage de la qualité" (QT). Nous avons constaté que lorsque l'ensemble de données QT couvre un large éventail de tâches et que des arrêts précoces appropriés sont appliqués, le QT peut améliorer de manière significative les résultats de l'évaluation humaine sans affecter la performance générale de la validation du test de référence. À ce stade, nous sélectionnons les points de contrôle sur la base des tests de référence uniquement pour garantir le maintien ou l'amélioration des capacités.

 

7.6 Résultats de la reconnaissance d'images

Nous avons évalué les performances des capacités de compréhension d'images de Llama 3 sur une série de tâches couvrant la compréhension d'images naturelles, la compréhension de textes, la compréhension de diagrammes et le raisonnement multimodal :

  • MMMU (Yue et al., 2024a) est un ensemble de données de raisonnement multimodal difficile où les modèles doivent donner un sens aux images et résoudre des problèmes de niveau universitaire dans 30 disciplines différentes. Cela inclut des questions à choix multiples et des questions ouvertes. Nous évaluons le modèle sur un ensemble de validation contenant 900 images, conformément à d'autres travaux.
  • VQAv2 (Antol et al., 2015) teste la capacité du modèle à combiner la compréhension d'images, la compréhension du langage et les connaissances générales pour répondre à des questions générales sur des images naturelles.
  • AI2 Diagram (Kembhavi et al., 2016) évalue la capacité des modèles à analyser les diagrammes scientifiques et à répondre aux questions les concernant. Nous avons utilisé le même modèle que Gémeaux Même protocole d'évaluation que x.ai et utilisation de boîtes de délimitation transparentes pour rapporter les résultats.
  • ChartQA (Masry et al., 2022) est un test de référence difficile pour la compréhension des graphiques. Il exige des modèles qu'ils comprennent visuellement différents types de graphiques et qu'ils répondent à des questions sur la logique de ces graphiques.
  • TextVQA (Singh et al., 2019) est un jeu de données de référence populaire qui exige des modèles qu'ils lisent et raisonnent sur du texte dans des images pour répondre à des requêtes à leur sujet. Cela permet de tester la capacité du modèle à comprendre l'OCR dans des images naturelles.
  • DocVQA (Mathew et al., 2020) est un ensemble de données de référence axé sur l'analyse et la reconnaissance de documents. Il contient des images d'un large éventail de documents et évalue la capacité des modèles à effectuer l'OCR pour comprendre et raisonner sur le contenu des documents afin de répondre à des questions à leur sujet.

Le tableau 29 présente les résultats de nos expériences. Les résultats du tableau montrent que le module de vision attaché à la Llama 3 est compétitif sur divers benchmarks de reconnaissance d'images avec différentes capacités de modèles. En utilisant le modèle Llama 3-V 405B résultant, nous surpassons le GPT-4V sur tous les benchmarks, mais nous sommes légèrement moins performants que le Gemini 1.5 Pro et le Claude 3.5 Sonnet. Le Llama 3 405B est particulièrement performant sur la tâche de compréhension de documents.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

7.7 Résultats de la reconnaissance vidéo

Nous avons évalué l'adaptateur vidéo de Llama 3 sur trois points de référence :

  • Test de perception (Lin et al., 2023)Ce benchmark teste la capacité du modèle à comprendre et à prédire de courts clips vidéo. Il contient différents types de problèmes tels que la reconnaissance d'objets, d'actions, de scènes, etc. Nous présentons les résultats sur la base du code officiellement fourni et des mesures d'évaluation (précision).
  • TVQA (Lei et al., 2018)Ce benchmark évalue la capacité du modèle à raisonner de manière composite, ce qui implique la localisation spatio-temporelle, la reconnaissance de concepts visuels et le raisonnement conjoint avec des dialogues sous-titrés. Le jeu de données étant dérivé de programmes télévisés populaires, il teste également la capacité du modèle à utiliser des connaissances externes sur ces programmes télévisés pour répondre aux questions. Il contient plus de 15 000 paires d'AQ validées, chacune correspondant à un clip vidéo d'une durée moyenne de 76 secondes. Il utilise un format à choix multiples avec cinq options par question, et nous rapportons les performances sur l'ensemble de validation basé sur des travaux antérieurs (OpenAI, 2023b).
  • ActivityNet-QA (Yu et al., 2019)Ce test évalue la capacité du modèle à interpréter de longs clips vidéo pour comprendre l'action, les relations spatiales, les relations temporelles, le comptage, etc. Il contient 8 000 paires d'AQ de test provenant de 800 vidéos, chacune d'une durée moyenne de 3 minutes. Pour l'évaluation, nous suivons le protocole des travaux précédents (Google, 2023 ; Lin et al., 2023 ; Maaz et al., 2024), où le modèle génère des réponses courtes sous forme de mots ou de phrases et les compare à des réponses réelles à l'aide de l'API GPT-3.5 pour évaluer l'exactitude de la sortie. Nous indiquons la précision moyenne calculée par l'API.

 

processus de raisonnement

Lors de l'inférence, nous échantillonnons uniformément des images du clip vidéo complet et les transmettons au modèle accompagnées d'une courte invite textuelle. Étant donné que la plupart des tests impliquent de répondre à des questions à choix multiples, nous utilisons les invites suivantes :

  • Choisissez la bonne réponse parmi les options suivantes:{question}. Répondez en utilisant uniquement la lettre de l'option correcte et n'écrivez rien d'autre.

Pour les repères qui doivent générer des réponses courtes (par exemple, ActivityNet-QA et NExT-QA), nous utilisons les conseils suivants :

  • Répondez à la question en utilisant un mot ou une phrase : {question}.

Pour NExT-QA, étant donné que les mesures d'évaluation (WUPS) sont sensibles à la longueur et aux mots spécifiques utilisés, nous avons également incité le modèle à être spécifique et à répondre aux réponses les plus saillantes, par exemple en spécifiant "salle de séjour" lorsqu'on lui demande de préciser le lieu plutôt que de répondre simplement "maison ". Pour les critères de référence comportant des sous-titres (par exemple, TVQA), nous incluons les sous-titres correspondants du clip dans l'indice au cours du processus d'inférence.

en fin de compte

Le tableau 30 montre les performances des modèles Llama 3 8B et 70B. Nous comparons leurs performances à celles des deux modèles Gemini et des deux modèles GPT-4. Il convient de noter que tous les résultats sont des résultats à échantillon nul, car nous n'avons inclus aucune partie de ces repères dans nos données d'entraînement ou de mise au point. Nous constatons que notre modèle Llama 3 est très compétitif pour l'entraînement de petits adaptateurs vidéo pendant le post-traitement, et dans certains cas, il surpasse même d'autres modèles qui peuvent tirer parti du traitement multimodal natif dès le pré-entraînement. Llama 3 est particulièrement performant en reconnaissance vidéo, car nous n'avons évalué que les modèles à paramètres 8B et 70B. Llama 3 a obtenu la meilleure performance au Llama 3 a obtenu la meilleure performance au test de perception, démontrant la forte capacité du modèle à effectuer des raisonnements temporels complexes. Dans les tâches de compréhension de l'activité de longs clips comme ActivityNet-QA, le Llama 3 obtient de bons résultats même lorsqu'il ne traite que 64 images (pour une vidéo de 3 minutes, le modèle ne traite qu'une image toutes les 3 secondes).

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

 

8 Expérience vocale

 

Nous avons mené des expériences afin d'étudier une approche combinatoire pour l'intégration de la fonctionnalité vocale dans le Llama 3, similaire au schéma que nous avons utilisé pour la reconnaissance visuelle. À l'entrée, des encodeurs et des adaptateurs ont été ajoutés pour traiter le signal vocal. Nous utilisons des indices du système (sous forme de texte) pour permettre à Llama 3 de prendre en charge différents modes de compréhension de la parole. En l'absence d'indications du système, le modèle agit comme un modèle générique de dialogue vocal qui peut répondre efficacement à la parole de l'utilisateur d'une manière cohérente avec la version textuelle de Llama 3. L'introduction de l'historique du dialogue en tant que préfixe de repère peut améliorer l'expérience du dialogue à plusieurs tours. Nous avons également expérimenté l'utilisation d'invites système pour la reconnaissance automatique de la parole (ASR) et la traduction automatique de la parole (AST) dans Llama 3. L'interface vocale de Llama 3 prend en charge jusqu'à 34 langues.18 Elle permet également d'alterner la saisie de texte et de parole, ce qui permet au modèle de résoudre des tâches de compréhension audio avancées.

Nous avons également expérimenté une approche de génération de la parole dans laquelle nous avons mis en œuvre un système de synthèse vocale (TTS) qui génère dynamiquement des formes d'ondes vocales pendant le décodage du modèle linguistique. Nous avons conçu le générateur de parole de Llama 3 sur la base du système TTS propriétaire et n'avons pas affiné le modèle linguistique pour la génération de parole. Nous nous sommes plutôt concentrés sur l'amélioration de la latence, de la précision et du naturel de la synthèse vocale en utilisant les enchâssements de mots de Llama 3 pendant l'inférence. L'interface vocale est présentée dans les figures 28 et 29.

 

8.1 Données

8.1.1 Compréhension de la parole

Les données de formation peuvent être divisées en deux catégories. Les données de pré-entraînement consistent en de grandes quantités de paroles non étiquetées utilisées pour initialiser le codeur vocal de manière autosupervisée. Les données de mise au point supervisée comprennent des données de reconnaissance vocale, de traduction vocale et de dialogue parlé ; elles sont utilisées pour débloquer des capacités spécifiques lors de l'intégration avec de grands modèles linguistiques.

Données de pré-entraînement. Pour pré-entraîner l'encodeur vocal, nous avons rassemblé un ensemble de données contenant environ 15 millions d'heures d'enregistrements vocaux dans plusieurs langues. Nous avons filtré les données audio à l'aide d'un modèle de détection de l'activité vocale (VAD) et sélectionné les échantillons audio dont le seuil de VAD est supérieur à 0,7 pour le pré-entraînement. Dans les données de pré-entraînement vocal, nous nous sommes également attachés à garantir l'absence d'informations personnelles identifiables (PII). Nous utilisons Presidio Analyzer pour identifier ces IPI.

Reconnaissance vocale et données de traduction. Nos données de formation ASR contiennent 230 000 heures d'enregistrements de discours transcrits à la main dans 34 langues. Nos données d'entraînement AST contiennent 90 000 heures de traduction bidirectionnelle : de 33 langues vers l'anglais et de l'anglais vers 33 langues. Ces données contiennent à la fois des données supervisées et des données synthétiques générées à l'aide de la boîte à outils NLLB (NLLB Team et al., 2022). L'utilisation de données synthétiques AST améliore la qualité des modèles pour les langues à faibles ressources. La longueur maximale des segments de discours dans nos données est de 60 secondes.

Données sur le dialogue parlé. Pour affiner les adaptateurs vocaux pour le dialogue parlé, nous avons synthétisé des réponses à des invites vocales en demandant au modèle de langage de répondre à des transcriptions de ces invites (Fathullah et al., 2024). Nous avons utilisé un sous-ensemble de l'ensemble de données ASR (contenant 60 000 heures de parole) pour générer des données synthétiques de cette manière.

En outre, nous avons généré 25 000 heures de données synthétiques en exécutant le système Voicebox TTS (Le et al., 2024) sur un sous-ensemble des données utilisées pour affiner le Llama 3. Nous avons utilisé plusieurs heuristiques pour sélectionner un sous-ensemble de données affinées correspondant à la distribution de la parole. Ces heuristiques comprenaient une focalisation sur des indices relativement courts et simplement structurés, et n'incluaient pas de symboles non textuels.

 

8.1.2 Génération de la parole

语音生成数据集主要包括用于训练文本规范化(TN)模型和韵律模型(PM)的数据集。两种训练数据都通过添加 Llama 3 词嵌入作为额外的输入特征进行增强,以提供上下文信息。

文本规范化数据。我们的 TN 训练数据集包含 5.5 万个样本,涵盖了广泛的符号类别(例如,数字、日期、时间),这些类别需要非平凡的规范化。每个样本由书面形式文本和相应的规范化口语形式文本组成,并包含一个推断的手工制作的 TN 规则序列,用于执行规范化。

声韵模型数据。PM 训练数据包括从一个包含 50,000 小时的 TTS 数据集提取的语言和声韵特征,这些特征与专业配音演员在录音室环境中录制的文字稿件和音频配对。

Llama 3 嵌入。Llama 3 嵌入取自第 16 层解码器输出。我们仅使用 Llama 3 8B 模型,并提取给定文本的嵌入(即 TN 的书面输入文本或 PM 的音频转录),就像它们是由 Llama 3 模型在空用户提示下生成的。在一个样本中,每个 Llama 3 标记序列块都明确地与 TN 或 PM 本地输入序列中的相应块对齐,即 TN 特定的文本标记(由 Unicode 类别区分)或语音速率特征。这允许使用 Llama 3 标记和嵌入的流式输入训练 TN 和 PM 模块。

8.2 Architecture du modèle

8.2.1 Compréhension de la parole

Du côté de l'entrée, le module vocal se compose de deux modules consécutifs : un encodeur vocal et un adaptateur. La sortie du module vocal est introduite directement dans le modèle de langage sous la forme d'une représentation de jetons, ce qui permet une interaction directe entre les jetons vocaux et les jetons textuels. En outre, nous introduisons deux nouveaux jetons spéciaux pour contenir des séquences de représentations vocales. Le module de parole est très différent du module de vision (voir section 7), qui introduit des informations multimodales dans le modèle de langage par l'intermédiaire de la couche d'attention croisée. En revanche, les encastrements générés par le module de parole peuvent être intégrés de manière transparente dans les jetons textuels, ce qui permet à l'interface de parole de tirer parti de toutes les caractéristiques du modèle de langage Llama 3.

Encodeur vocal :Notre codeur vocal est un modèle Conformer avec 1 milliard de paramètres (Gulati et al., 2020). L'entrée du modèle consiste en des caractéristiques de 80 dimensions du spectrogramme de Meier, qui sont d'abord traitées par une couche empilée avec une taille de pas de 4, puis réduites à une longueur d'image de 40 millisecondes par projection linéaire. Les caractéristiques traitées sont traitées par un encodeur contenant 24 couches de conformateurs. Chaque couche Conformer a une dimension potentielle de 1536 et comprend deux réseaux feedforward de type Macron-net avec une dimension de 4096, un module convolutif avec une taille de noyau de 7, et un module d'attention rotatif avec 24 têtes d'attention (Su et al., 2024).

Adaptateur vocal :L'adaptateur vocal contient environ 100 millions de paramètres. Il se compose d'une couche convolutive, d'une couche de transformateur rotatif et d'une couche linéaire. La couche convolutive a un noyau de 3 et un pas de 2. Elle est conçue pour réduire la longueur de la trame vocale à 80 ms, ce qui permet au modèle de fournir des caractéristiques plus grossières au modèle linguistique. La couche Transformer, avec une dimension potentielle de 3072, et le réseau feed-forward, avec une dimension de 4096, poursuivent le traitement des informations vocales qui ont été sous-échantillonnées par la convolution. Enfin, la couche linéaire fait correspondre la dimension de sortie à la couche d'intégration du modèle linguistique.

 

8.2.2 Génération de la parole

Nous utilisons l'intégration du Llama 3 8B dans deux composantes clés de la génération de la parole : la normalisation du texte et la modélisation métrique. Le module de normalisation de texte (TN) garantit l'exactitude sémantique en convertissant contextuellement le texte écrit en forme parlée. Le module de modélisation prosodique (PM) améliore le naturel et l'expressivité en utilisant ces enchâssements pour prédire les caractéristiques prosodiques. Ces deux composants travaillent en tandem pour obtenir une génération de parole précise et naturelle.

**Normalisation du texte** : déterminant de l'exactitude sémantique de la parole générée, le module de normalisation du texte (TN) effectue la conversion contextuelle du texte écrit à la forme parlée correspondante, qui est finalement verbalisée par les composants en aval. Par exemple, en fonction du contexte sémantique, la forme écrite "123" peut être lue comme un nombre de base (cent vingt-trois) ou épelée chiffre par chiffre (un deux trois). Le système TN se compose d'un modèle d'étiquetage des séquences basé sur la LSTM qui prédit le nombre de chiffres à utiliser pour Le système TN se compose d'un modèle d'étiquetage des séquences basé sur une LSTM qui prédit le nombre de chiffres à utiliser pour transformer les séquences de règles TN créées à la main dans le texte d'entrée (Kang et al., 2024). Le modèle neuronal reçoit également des encastrements Llama 3 par le biais d'une attention croisée afin de tirer parti des informations contextuelles encodées, ce qui permet une anticipation minimale de l'étiquetage du texte et une entrée/sortie en continu.

**Modélisation des rimes** : pour améliorer le naturel et l'expressivité de la parole synthétique, nous avons intégré un modèle de rimes (PM) (Radford et al., 2021) qui décode uniquement l'architecture Transformer, qui utilise les embeddings de Llama 3 comme entrée supplémentaire. Cette intégration exploite les capacités linguistiques de Llama 3, en utilisant sa sortie textuelle et ses embeddings intermédiaires (Devlin et al. 2018 ; Dong et al. 2019 ; Raffel et al. 2020 ; Guo et al. 2023) pour augmenter la prédiction des caractéristiques de rimes, réduisant ainsi le look-ahead requis par le modèle.Le PM intègre de multiples composants d'entrée pour générer des prédictions de rimes complètes : du front-end de normalisation de texte détaillé ci-dessus, le PM intègre de multiples composants d'entrée pour générer des prédictions de rimes complètes : du front-end de normalisation de texte détaillé ci-dessus. PM intègre plusieurs composants d'entrée pour générer des prédictions métriques complètes : caractéristiques linguistiques, tokens et embeddings dérivés du front-end de normalisation de texte détaillé ci-dessus. trois caractéristiques métriques clés sont prédites par PM : le logarithme de la durée de chaque phonème, le logarithme de la moyenne de la fréquence fondamentale (F0) et le logarithme de la moyenne de la puissance sur la durée du phonème. Le modèle se compose d'un transformateur unidirectionnel et de six têtes d'attention. Chaque bloc se compose d'une couche d'attention croisée et d'une double couche entièrement connectée avec 864 dimensions cachées. Une caractéristique distinctive du PM est son mécanisme d'attention croisée double, avec une couche dédiée à l'entrée linguistique et l'autre à l'intégration du lama. Cette configuration permet de gérer efficacement les différents taux d'entrée sans qu'il soit nécessaire de procéder à un alignement explicite.

 

8.3 Programmes de formation

8.3.1 Compréhension de la parole

La formation du module vocal s'est déroulée en deux étapes. Dans la première phase, le pré-entraînement de la parole, un codeur de parole est entraîné à l'aide de données non étiquetées qui présentent de fortes capacités de généralisation en ce qui concerne les conditions linguistiques et acoustiques. Dans la deuxième phase, le réglage fin supervisé, l'adaptateur et le codeur pré-entraîné sont intégrés au modèle de parole et co-entraînés avec lui, tandis que le LLM reste figé. Cela permet au modèle de répondre à l'entrée vocale. Cette phase utilise des données étiquetées correspondant aux capacités de compréhension de la parole.

La modélisation multilingue de l'ASR et de l'AST conduit souvent à des confusions/interférences linguistiques qui dégradent les performances. Une méthode d'atténuation populaire consiste à inclure des informations d'identification de la langue (LID) à la fois à la source et à la cible. Cette méthode peut améliorer les performances dans une direction prédéterminée, mais elle peut également entraîner une dégradation de la généralisation. Par exemple, si un système de traduction prévoit de fournir des informations d'identification de la langue à la fois à la source et à la cible, il est peu probable que le modèle présente de bonnes performances à partir de l'échantillon zéro dans des directions qui n'ont pas été observées lors de l'apprentissage. Notre défi est donc de concevoir un système qui permette un certain degré d'information LID tout en gardant le modèle suffisamment général pour la traduction de la parole dans des directions non vues. Pour résoudre ce problème, nous avons conçu des indices qui ne contiennent que des informations LID pour le texte à traduire (côté cible). Ces indices ne contiennent pas d'informations LID pour l'entrée vocale (côté source), ce qui peut également permettre de traiter la parole avec changement de code. Pour la RAS, nous utilisons l'invite suivante : Répétez mes mots en {langue} :, où {langue} correspond à l'une des 34 langues (anglais, français, etc.). Pour la traduction vocale, l'invite du système est la suivante : "Traduisez la phrase suivante en {langue} :". Cette conception s'est avérée efficace pour inciter les modèles linguistiques à répondre dans la langue souhaitée. Nous utilisons le même message-guide pour la formation et l'inférence.

Nous utilisons l'algorithme auto-supervisé BEST-RQ (Chiu et al., 2022) pour pré-entraîner la parole.

编码器采用长度为 32 帧的掩码,对输入 mel 谱图的概率为 2.5%。如果语音话语超过 60 秒,我们将随机裁剪 6K 帧,对应 60 秒的语音。通过堆叠 4 个连续帧、将 320 维向量投影到 16 维空间,并在 8192 个向量的代码库内使用余弦相似度度量进行最近邻搜索,对 mel 谱图特征进行量化。为了稳定预训练,我们采用 16 个不同的代码库。投影矩阵和代码库随机初始化,在模型训练过程中不更新。多软最大损失仅用于掩码帧,以提高效率。编码器经过 50 万步训练,全局批处理大小为 2048 个语音。

监督微调。预训练语音编码器和随机初始化的适配器在监督微调阶段与 Llama 3 联合优化。语言模型在此过程中保持不变。训练数据是 ASR、AST 和对话数据的混合。Llama 3 8B 的语音模型经过 650K 次更新训练,使用全局批大小为 512 个话语和初始学习率为 10。Llama 3 70B 的语音模型经过 600K 次更新训练,使用全局批大小为 768 个话语和初始学习率为 4 × 10。

8.3.2 Génération de la parole

Pour soutenir le traitement en temps réel, le modèle de rimes utilise un mécanisme d'anticipation qui tient compte d'un nombre fixe de positions phonémiques futures et d'un nombre variable de jetons futurs. Ce mécanisme garantit la cohérence de l'anticipation lors du traitement du texte entrant, ce qui est essentiel pour les applications de synthèse vocale à faible latence.

Formation. Nous développons une stratégie d'alignement dynamique utilisant des masques causaux pour faciliter le streaming de la synthèse vocale. Cette stratégie combine un mécanisme d'anticipation dans le modèle prosodique pour un nombre fixe de phonèmes futurs et un nombre variable de tokens futurs, conformément au processus de découpage en morceaux dans le processus de normalisation du texte (section 8.1.2).

Pour chaque phonème, le look-ahead des marqueurs est constitué du nombre maximal de marqueurs défini par la taille du bloc, ce qui permet d'obtenir des enregistrements Llama avec un look-ahead variable et des phonèmes avec un look-ahead fixe.

Emboîtements du Llama 3 provenant du modèle Llama 3 8B, maintenus gelés pendant l'apprentissage du modèle de rimes. Les caractéristiques du taux d'appel d'entrée comprennent des éléments linguistiques et des éléments de contrôle du locuteur/style. Le modèle est formé à l'aide d'un optimiseur AdamW avec une taille de lot de 1 024 tonalités et un taux d'apprentissage de 9 × 10 -4. Le modèle est formé sur 1 million de mises à jour, les 3 000 premières mises à jour effectuant un échauffement du taux d'apprentissage et suivant ensuite un ordonnancement en cosinus.

Raisonnement. Pendant l'inférence, le même mécanisme d'anticipation et la même stratégie de masquage causal sont utilisés pour assurer la cohérence entre la formation et le traitement en temps réel. PM traite le texte entrant en continu, en mettant à jour l'entrée téléphone par téléphone pour les caractéristiques de débit téléphonique, et bloc par bloc pour les caractéristiques de débit étiqueté. Les entrées des nouveaux blocs ne sont mises à jour que lorsque le premier téléphone du bloc est courant, ce qui permet de maintenir l'alignement et l'anticipation pendant la formation.

Pour prédire les cibles de rimes, nous avons utilisé une approche de mode retardé (Kharitonov et al., 2021), qui améliore la capacité du modèle à capturer et à reproduire les dépendances de rimes à longue portée. Cette approche contribue au naturel et à l'expressivité de la parole synthétisée, en garantissant une faible latence et une sortie de haute qualité.

 

8.4 Résultats de la compréhension de la parole

Nous avons évalué les capacités de compréhension de la parole de l'interface vocale Llama 3 pour trois tâches : (1) la reconnaissance automatique de la parole (2) la traduction de la parole (3) les questions-réponses sur la parole. Nous avons comparé les performances de l'interface vocale de Llama 3 à trois modèles de compréhension de la parole de pointe : Whisper (Radford et al., 2023), SeamlessM4T (Barrault et al., 2023) et Gemini.

Reconnaissance de la parole. Nous avons évalué la performance ASR sur Multilingual LibriSpeech (MLS ; Pratap et al., 2020), LibriSpeech (Panayotov et al., 2015), VoxPopuli (Wang et al., 2021a), et un sous-ensemble de l'ensemble de données multilingues FLEURS (Conneau et al. 2023) sur l'ensemble de données anglais afin d'évaluer les performances de l'ASR. Dans l'évaluation, l'utilisation de Chuchotement La procédure de normalisation du texte post-traite les résultats du décodage afin d'assurer la cohérence avec les résultats rapportés par d'autres modèles. Dans tous les benchmarks, nous mesurons le taux d'erreurs de mots de l'interface vocale Llama 3 sur l'ensemble de tests standard de ces benchmarks, sauf pour le chinois, le japonais, le coréen et le thaï, pour lesquels nous indiquons les taux d'erreurs de caractères.

Le tableau 31 présente les résultats de l'évaluation ASR. Il démontre la forte performance de Llama 3 (et plus généralement des modèles de base multimodaux) dans les tâches de reconnaissance de la parole : notre modèle surpasse les modèles spécifiques à la parole tels que Whisper20 et SeamlessM4T dans tous les benchmarks. Pour l'anglais MLS, Llama 3 a des performances similaires à celles de Gemini.

Traduction vocale. Nous avons également évalué la performance de notre modèle dans une tâche de traduction de la parole où il a été demandé au modèle de traduire une parole non anglaise en texte anglais. Nous avons utilisé les ensembles de données FLEURS et Covost 2 (Wang et al., 2021b) pour ces évaluations et mesuré les scores BLEU pour l'anglais traduit. Le tableau 32 présente les résultats de ces expériences. La performance de notre modèle dans la traduction de la parole met en évidence les avantages des modèles de base multimodaux dans des tâches telles que la traduction de la parole.

Quiz vocal. L'interface vocale du Llama 3 démontre des capacités étonnantes de réponse aux questions. Le modèle peut comprendre sans effort un discours codé sans avoir été préalablement exposé à ce type de données. Notamment, bien que le modèle n'ait été entraîné que sur un seul tour de dialogue, il est capable de sessions de dialogue prolongées et cohérentes sur plusieurs tours. La figure 30 présente quelques exemples qui mettent en évidence ces capacités multilingues et multirondes.

La sécurité. Nous avons évalué les performances de sécurité de notre modèle vocal sur MuTox (Costa-jussà et al., 2023), un ensemble de données audio multilingues contenant 20 000 segments en anglais et en espagnol, et 4 000 segments dans 19 autres langues, chacun étiqueté en fonction de sa toxicité. L'audio est transmis en entrée au modèle et la sortie est évaluée pour la toxicité après suppression de certains caractères spéciaux. Nous avons appliqué le classificateur MuTox (Costa-jussà et al., 2023) à Gemini 1.5 Pro et comparé les résultats. Nous avons évalué le pourcentage de toxicité ajoutée (AT) lorsque l'entrée suggère sans danger et que la sortie est toxique, et le pourcentage de toxicité perdue (LT) lorsque l'entrée suggère toxique et que la réponse est sans danger. Le tableau 33 montre les résultats pour l'anglais et nos résultats moyens pour les 21 langues. Le pourcentage de toxicité ajoutée est très faible : notre modèle vocal a le plus faible pourcentage de toxicité ajoutée pour l'anglais, moins de 11 TP3T. Il supprime beaucoup plus de toxicité qu'il n'en ajoute.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

8.5 Résultats de la génération de la parole

Dans le contexte de la génération de la parole, nous nous concentrons sur l'évaluation de la qualité des modèles d'entrée en continu basés sur les marqueurs qui utilisent les vecteurs Llama 3 pour les tâches de normalisation du texte et de modélisation des rimes. L'évaluation se concentre sur des comparaisons avec des modèles qui n'utilisent pas les vecteurs Llama 3 comme entrée supplémentaire.

Normalisation du texte. Afin de mesurer l'impact du vecteur Llama 3, nous avons essayé de varier la quantité de contexte de droite utilisée par le modèle. Nous avons entraîné le modèle en utilisant un contexte de droite de 3 tokens de normalisation de texte (TN) (séparés par des catégories Unicode). Ce modèle a été comparé à des modèles qui n'utilisaient pas les vecteurs Llama 3 et qui utilisaient soit le contexte de droite à 3 tokens, soit le contexte bidirectionnel complet. Comme prévu, le tableau 34 montre que l'utilisation du contexte complet du côté droit améliore les performances du modèle sans vecteurs Llama 3. Cependant, le modèle contenant les vecteurs Llama 3 surpasse tous les autres modèles, permettant un flux d'entrée/sortie à taux de marque sans avoir à se fier à de longs contextes dans l'entrée. Nous comparons les modèles avec et sans vecteurs Llama 3 8B et en utilisant différentes valeurs de contexte du côté droit.

Modélisation rythmique. Pour évaluer la performance de notre modèle de rimes (PM) avec le lama 3 8B, nous avons effectué deux séries d'évaluations humaines comparant les modèles avec et sans les vecteurs du lama 3. Les évaluateurs ont écouté des échantillons de différents modèles et ont indiqué leurs préférences.

Pour générer la forme d'onde vocale finale, nous avons utilisé un modèle acoustique interne basé sur Transformer (Wu et al., 2021), qui prédit les caractéristiques spectrales, et un vocodeur neuronal WaveRNN (Kalchbrenner et al., 2018).

Dans le premier test, nous comparerons directement la Llama 3 8B PM à un modèle de référence en streaming qui n'utilise pas les vecteurs Llama 3. Dans le second test, la Llama 3 8B PM a été comparée à un modèle de référence sans diffusion en continu qui n'utilise pas les vecteurs Llama 3. Comme le montre le tableau 35, le Llama 3 8B PM a été préféré pendant 60% (par rapport au modèle de référence en continu) et 63,6% (par rapport au modèle de référence sans flux), ce qui indique une amélioration significative de la qualité perceptive. Le principal avantage du Llama 3 8B PM est sa capacité de diffusion en continu basée sur des marqueurs (section 8.2.2), qui maintient une faible latence pendant le processus d'inférence. Cela réduit les exigences du modèle en matière d'anticipation, ce qui lui permet de réaliser une synthèse vocale plus réactive et en temps réel par rapport au modèle de référence sans diffusion en continu. Dans l'ensemble, le modèle de rimes Llama 3 8B est toujours plus performant que le modèle de référence, ce qui démontre son efficacité dans l'amélioration du naturel et de l'expressivité de la parole synthétisée.

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

Llama 3:一个多功能、开源的 AI 模型系列

 

 

9 Travaux connexes

 

Le développement de Llama 3 s'appuie sur un grand nombre de recherches antérieures sur les modèles fondamentaux du langage, de l'image, de la vidéo et de la parole. La portée du présent document ne comprend pas un aperçu complet de ces travaux ; nous renvoyons le lecteur à Bordes et al. (2024) ; Madan et al. (2024) ; Zhao et al. (2023a) pour une telle vue d'ensemble. Nous présentons ci-dessous un bref aperçu des travaux précurseurs qui ont directement influencé le développement de Llama 3.

 

9.1 Langue

Champ d'application. Le Llama 3 suit la tendance durable qui consiste à appliquer des méthodes simples à des échelles de plus en plus grandes qui caractérisent le modèle de base. Les améliorations sont dues à l'augmentation de la puissance de calcul et de la qualité des données, le modèle 405B utilisant près de cinquante fois le budget de calcul de pré-entraînement du modèle 70B du Llama 2. Bien que notre plus grand modèle, le Llama 3, contienne 405B paramètres, il a en fait moins de paramètres que les modèles antérieurs et moins performants tels que PALM (Chowdhery et al., 2023), en raison d'une meilleure compréhension des lois d'échelle (Kaplan et al., 2020 ; Hoffmann et al., 2022). D'autres modèles frontières sont disponibles dans des tailles telles que Claude 3 ou GPT 4 (OpenAI, 2023a), avec des informations publiques limitées, mais avec des performances globales comparables.

Modèles à petite échelle. Le développement de modèles à petite échelle est allé de pair avec le développement de modèles à grande échelle. Les modèles comportant moins de paramètres peuvent améliorer considérablement les coûts d'inférence et simplifier le déploiement (Mehta et al., 2024 ; Team et al., 2024). Le modèle Llama 3, plus petit, y parvient en dépassant de loin les points d'entraînement optimaux du point de vue du calcul, ce qui permet de troquer le calcul de l'entraînement contre l'efficacité de l'inférence. Une autre solution consiste à diviser les grands modèles en modèles plus petits, comme Phi (Abdin et al., 2024).

Architecture. Par rapport au Llama 2, le Llama 3 présente des modifications architecturales minimales, mais d'autres modèles de base récents ont exploré d'autres conceptions. En particulier, les architectures hybrides expertes (Shazeer et al. 2017 ; Lewis et al. 2021 ; Fedus et al. 2022 ; Zhou et al. 2022) peuvent être utilisées pour augmenter efficacement la capacité d'un modèle, comme dans Mixtral (Jiang et al. 2024) et Arctic (Snowflake 2024). 2024). Les performances de Llama 3 sont supérieures à celles de ces modèles, ce qui suggère que les architectures denses ne sont pas un facteur limitant, mais qu'il existe encore de nombreux compromis en termes d'efficacité de l'apprentissage et de l'inférence, ainsi que de stabilité du modèle à grande échelle.

Open Source. Les modèles de base open source ont évolué rapidement au cours de l'année écoulée, Llama3-405B étant désormais au même niveau que l'état de l'art actuel des sources fermées. Un certain nombre de familles de modèles ont été développées récemment, notamment Mistral (Jiang et al., 2023), Falcon (Almazrouei et al., 2023), MPT (Databricks, 2024), Pythia (Biderman et al., 2023), Arctic (Snowflake, 2024), OpenELM (Mehta et al., 2024), OLMo (Groeneveld et al., 2024), StableLM (Bellagente et al., 2024), OpenLLaMA (Geng et Liu, 2023), Qwen (Bai et al., 2023), Gemma (Team et al., 2024), Grok (Biderman et al., 2023) et Gemma (Biderman et al., 2024). 2024), Grok (XAI, 2024) et Phi (Abdin et al., 2024).

Après la formation. Le post-entraînement du Llama 3 suit une stratégie établie d'alignement des instructions (Chung et al., 2022 ; Ouyang et al., 2022), suivie d'un alignement avec des commentaires humains (Kaufmann et al., 2023). Alors que certaines études ont montré des résultats inattendus avec des procédures d'alignement légères (Zhou et al., 2024), Llama 3 utilise des millions d'instructions et de jugements de préférence humains pour améliorer les modèles pré-entraînés, y compris l'échantillonnage de rejet (Bai et al., 2022), la mise au point supervisée (Sanh et al., 2022) et l'optimisation directe des préférences (Rafailov et al., 2023). Pour sélectionner ces exemples d'instructions et de préférences, nous avons déployé des versions antérieures de Llama 3 pour filtrer (Liu et al., 2024c), réécrire (Pan et al., 2024) ou générer des indices et des réponses (Liu et al., 2024b), et nous avons appliqué ces techniques au cours de plusieurs cycles de post-entraînement.

 

9.2 Multimodalité

Nos expériences de capacité multimodale Llama 3 font partie d'une étude à long terme des modèles fondamentaux pour la modélisation conjointe de plusieurs modalités. Notre approche Llama 3 combine des idées provenant d'un certain nombre d'articles pour obtenir des résultats comparables à Gemini 1.0 Ultra (Google, 2023) et à GPT-4 Vision (OpenAI, 2023b) ; voir la section 7.6.

vidéoMalgré le nombre croissant de modèles de base prenant en charge l'entrée vidéo (Google, 2023 ; OpenAI, 2023b), peu de recherches ont été menées sur la modélisation conjointe de la vidéo et du langage. Comme pour Llama 3, la plupart des recherches actuelles utilisent des méthodes d'adaptation pour aligner les représentations vidéo et linguistiques et pour démêler les questions et réponses et le raisonnement sur la vidéo (Lin et al. 2023 ; Li et al. 2023a ; Maaz et al. 2024 ; Zhang et al. 2023 ; Zhao et al. 2022). Nous constatons que ces méthodes produisent des résultats compétitifs par rapport à l'état de l'art ; voir la section 7.7.

prononciation familière (plutôt que littéraire) d'un caractère chinoisNotre travail s'inscrit également dans un ensemble plus vaste de travaux qui combinent la modélisation du langage et de la parole. Les premiers modèles combinant texte et parole comprennent AudioPaLM (Rubenstein et al., 2023), VioLA (Wang et al., 2023b), VoxtLM Maiti et al. (2023), SUTLM (Chou et al., 2023) et Spirit-LM (Nguyen et al., 2024). . Nos travaux s'appuient sur des approches compositionnelles antérieures visant à combiner la parole et le langage, telles que celles de Fathullah et al. (2024). Contrairement à la plupart de ces travaux antérieurs, nous avons choisi de ne pas affiner le modèle de langage lui-même pour la tâche de parole, car cela pourrait entraîner une concurrence avec les tâches non vocales. Nous constatons que même sans un tel ajustement, de bonnes performances peuvent être obtenues avec des modèles de plus grande taille ; voir la section 8.4.

 

 

10 Conclusion

 

Le développement de modèles de base de haute qualité en est encore à ses débuts. L'expérience acquise lors du développement de Llama 3 suggère qu'il y a beaucoup de place pour l'amélioration future de ces modèles. En développant la famille de modèles Llama 3, nous avons constaté que l'accent mis sur la qualité des données, l'échelle et la simplicité permet d'obtenir les meilleurs résultats. Lors d'expériences préliminaires, nous avons exploré des architectures de modèles et des scénarios de formation plus complexes, mais nous n'avons pas trouvé que les avantages de ces approches l'emportaient sur la complexité supplémentaire qu'elles introduisaient dans le développement des modèles.

Le développement d'un modèle de base phare tel que Llama 3 exige non seulement de surmonter de nombreux problèmes techniques profonds, mais aussi de prendre des décisions organisationnelles éclairées. Par exemple, pour éviter que Llama 3 ne soit accidentellement surajusté par rapport aux tests de référence couramment utilisés, nos données de pré-entraînement sont obtenues et traitées par une équipe indépendante qui est fortement incitée à éviter de contaminer les tests de référence externes avec des données de pré-entraînement. Autre exemple, nous garantissons la crédibilité des évaluations humaines en n'autorisant qu'un petit groupe de chercheurs non impliqués dans le développement de modèles à effectuer ces évaluations et à y accéder. Bien que ces décisions organisationnelles soient rarement discutées dans les documents techniques, nous avons constaté qu'elles étaient essentielles à la réussite du développement de la famille de modèles Llama 3.

Nous partageons les détails de notre processus de développement car nous pensons que cela aidera la communauté des chercheurs à comprendre les éléments clés du développement des modèles de base et contribuera à un débat public plus perspicace sur le développement futur des modèles de base. Nous partageons également les résultats expérimentaux préliminaires de l'intégration de la fonctionnalité multimodale dans le Llama 3. Bien que ces modèles soient toujours en cours de développement et ne soient pas encore prêts à être diffusés, nous espérons que le fait de partager nos résultats rapidement accélérera la recherche dans cette direction.

Compte tenu des résultats positifs des analyses de sécurité détaillées dans ce document, nous publions notre modèle de langage Llama 3 afin d'accélérer le processus de développement de systèmes d'IA pour un large éventail de cas d'utilisation socialement pertinents, et de permettre à la communauté des chercheurs d'examiner nos modèles et de trouver des moyens de les améliorer et de les rendre plus sûrs. Nous pensons que la publication des modèles sous-jacents est essentielle au développement responsable de ces modèles, et nous espérons que la publication de Llama 3 encouragera l'industrie dans son ensemble à adopter un développement ouvert et responsable de l'IA.

© déclaration de droits d'auteur

Postes connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...