LLaMA2 des LLM : une introduction détaillée à LLaMA2 (détails techniques), installation, utilisation (open source gratuit pour la recherche et l'utilisation commerciale)

LLaMA2 des LLM : une introduction détaillée à LLaMA2 (détails techniques), installation, utilisation (open source gratuit pour la recherche et l'utilisation commerciale)

Guide : Le 18 juillet 2023, Meta sortira Llama 2 ! Il s'agit d'un ensemble de grands modèles de langage (LLM) pré-formés et affinés dont la taille varie de 7 milliards à 70 milliards de paramètres. Le LLM méta-affiné s'appelle Llama 2-Chat, qui est optimisé pour les scénarios d'utilisation conversationnelle. Le modèle Llama 2 surpasse le modèle de chat open source sur la plupart des benchmarks que nous avons testés, et peut être un remplacement approprié du modèle source fermé pour la fiabilité et la sécurité, basé sur les évaluations humaines de Meta. Meta fournit des instructions détaillées sur la façon d'affiner et d'améliorer la sécurité de Llama 2-Chat afin que la communauté puisse s'appuyer sur le travail de Meta et contribuer au développement responsable de LBM.
Llama 2 = Llama 1 [RoPE+RMSNorm+SwiGLU+AdamW] + 40 % de nouveau volume de données + 2T tokens + 4096 + SFT de haute qualité + alignement RLHF [PPO + Rejection sampling fine-tuning] : Le modèle Llama 2 est entraîné sur 2 billions de tokens , et le modèle Llama-2-chat a également entraîné plus d'un million de nouvelles annotations humaines. Llama 2 contient 40 % de données en plus que Llama 1 et double la longueur du contexte . Et, Llama-2-chat utilise l'apprentissage par renforcement à partir de la rétroaction humaineêtre sûr et utile. Llama 2 adopte la plupart de la configuration de pré-formation et de l'architecture de modèle de Llama 1, y compris l'architecture Transformer standard, la prénormalisation à l'aide de RMSNorm, la fonction d'activation SwiGLU et l'intégration de la position pivotée. L'optimiseur AdamW est utilisé pour la formation, où β_1 = 0,9, β_2 = 0,95, eps = 10^−5. Dans le même temps, un programme de taux d'apprentissage en cosinus (2000 étapes d'échauffement) a été utilisé, et le taux d'apprentissage final a été réduit à 10 % du taux d'apprentissage maximal. Meta a préformé le modèle sur son Research Super Cluster (RSC) ainsi que sur son cluster de production interne. ​​​​​​​​Trois
critères de référence couramment utilisés ont évalué la sécurité de Llama 2 : le critère TruthfulQA pour l'authenticité + le critère ToxiGen pour la toxicité + le critère BOLD pour le biais. Meta utilise un réglage fin sécurisé supervisé, un RLHF sécurisé, une distillation de contexte sécurisée dans un réglage fin sécurisé. RLHF commence par collecter des données sur les préférences humaines en matière de sécurité, où les annotateurs écrivent des invites qui, selon eux, suscitent un comportement dangereux, puis comparent plusieurs réponses de modèles aux invites et sélectionnent la réponse la plus sûre en fonction d'un ensemble de directives. Les données de préférence humaine sont ensuite utilisées pour former un modèle de récompense sécurisé, et une invite contradictoire est réutilisée dans l'étape RLHF pour échantillonner à partir du modèle. Meta affine le pipeline RLHF avec une distillation de contexte.
La performance du modèle est open source et le spectacle + coût élevé [ A100 ] + suit toujours la route Open: Les deux clusters Meta utilisent NVIDIA A100. Le scientifique en apprentissage automatique de HuggingFace, Nathan Lambert, estime que Llama 2 pourrait coûter plus de 25 millions de dollars à former. Meta a publié un grand nombre de détails sur les données de formation du modèle Llama 2, les méthodes de formation, l'étiquetage des données, le réglage fin, etc.
La naissance de Llama 2, ainsi que son tempérament open-source, insiste directement sur ceux qui disent vouloir être Open mais ne sont pas Open du tout, GPT-4, qui construit une "barrière technique", et le PaLM 2 de Google. Llama 2 sera une étape importante pour les LLM dans le domaine de l'open source. À l'avenir, il y aura une forte probabilité d'accélérer les changements dans le modèle et l'écologie du grand marché des modèles linguistiques.
Alors, aujourd'hui, avez-vous changé la base de vos LLM ?

Table des matières

Introduction à LLaMA2

Introduction à LLaMA2

1. Test de référence

2. Llama-2-chat utilise l'apprentissage par renforcement à partir des commentaires humains pour être sûr et utile

Installation de LLaMA2

1. Télécharger Télécharger les modèles de poids et de tokenizers

T1. Télécharger depuis le site officiel

T2, téléchargement basé sur Hugging Face

2. Mise en place

Comment utiliser LLaMA2

1. Utilisation de base

(1), modèle de raisonnement

(2), modèle de pré-formation

(3), affiner le modèle de chat


Articles Liés

LLaMA of LLMs : Traduction et interprétation de "LLaMA : modèles de langage de base ouverts et efficaces"

LLaMA of LLMs : Traduction et interprétation de "LLaMA : modèles de langage de base ouverts et efficaces"_ai Traitement du langage naturel_Blog d'un programmeur Virgo-Blog CSDN


 

Introduction à LLaMA2

adresse

GitHub地址 : GitHub - facebookresearch/llama : code d'inférence pour les modèles LLaMA

Adresse papier :
https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/

Adresse du blog : https://ai.meta.com/resources/models-and-libraries/llama/

temps

18 juillet 2023

auteur

Méta

Introduction à LLaMA2

         Le 18 juillet 2023, Meta a publié massivement Llama 2. Comme indiqué sur le site officiel, Meta libère la puissance de ces grands modèles de langage. Llama 2 est désormais disponible pour les particuliers, les créateurs, les chercheurs et les entreprises afin qu'ils puissent expérimenter, innover et faire évoluer leurs idées de manière responsable. Cette version inclut des pondérations de modèle et un code de démarrage pour la pré-formation et le réglage fin du modèle de langage Llama, allant des paramètres 7B à 70B.
         Llama 2 est préformé sur des sources de données en ligne accessibles au public. Le modèle affiné Llama-2-chat exploite un ensemble de données d'instructions accessible au public avec plus d'un million d'annotations humaines. En interne, le modèle Llama 2 est formé sur 2 billions de jetons avec deux fois la longueur de contexte de Llama 1. Le modèle Llama-2-chat a également été formé sur plus d'un million de nouvelles annotations humaines. Llama 2 contient 40 % de données en plus que Llama 1 et double la longueur du contexte. Et, Llama-2-chat utilise l'apprentissage par renforcement à partir des commentaires humains pour être sûr et utile.
         Llama-2-chat est pré-formé sur Llama 2 en utilisant des données en ligne accessibles au public. Une première version de Llama-2-chat est ensuite créée à l'aide d'un réglage fin supervisé. Ensuite, l'optimisation itérative de Llama-2-chat est effectuée à l'aide de l'apprentissage par renforcement à partir de la rétroaction humaine (RLHF), qui comprend l'échantillonnage de rejet et l'optimisation de la politique proximale (PPO).

1. Test de référence

Llama 2 surpasse les autres modèles de langage open source sur de nombreux critères externes, notamment les tests d'inférence, de codage, de compétence et de connaissances.

2. Llama-2-chat utilise l'apprentissage par renforcement à partir des commentaires humains pour être sûr et utile

Installation de LLaMA2

1. Télécharger Télécharger les modèles de poids et de tokenizers

T1. Télécharger depuis le site officiel

Si vous téléchargez des poids de modèle et des tokenizers, vous devez visiter le site Web de Meta AI et accepter la licence de Meta. Une fois votre demande approuvée, vous recevrez une URL signée par e-mail. Exécutez ensuite le script download.sh, en transmettant l'URL fournie lorsque vous êtes invité à démarrer le téléchargement. Assurez-vous de ne copier que le texte de l'URL lui-même et de ne pas utiliser l'option "Copier l'adresse du lien" lorsque vous cliquez avec le bouton droit sur l'URL. Si le texte de l'URL copié commence par https://download.llamameta.net ↗, vous l'avez copié correctement. Si le texte de l'URL copié commence par https://l.facebook.com ↗, vous l'avez mal copié.

Assurez-vous que wget et md5sum sont installés. Exécutez ensuite le script :

./download.sh

T2, téléchargement basé sur Hugging Face

Nous proposons également des téléchargements sur Hugging Face. Vous devez d'abord demander le téléchargement sur le site Web Meta AI en utilisant la même adresse e-mail que votre compte Hugging Face. Après cela, vous pouvez demander l'accès à n'importe quel modèle sur Hugging Face et dans un délai de 1 à 2 jours, votre compte aura accès à toutes les versions.

2. Mise en place

Dans un environnement conda avec PyTorch/CUDA, clonez le référentiel et exécutez-le dans le répertoire de niveau supérieur

pip install -e 

Comment utiliser LLaMA2

1. Utilisation de base

(1), modèle de raisonnement

Différents modèles nécessitent différentes valeurs de parallélisme de modèle (MP)

Modèle député
7b 1
13b 2
70b 8

Tous les modèles prennent en charge des longueurs de séquence allant jusqu'à 4 096 jetons , mais nous pré-allouons des tampons en fonction des valeurs max_seq_len et max_batch_size. Définissez donc ces valeurs en fonction de votre matériel.

(2), modèle de pré-formation

Ces modèles n'étaient pas affinés pour le chat ou la réponse aux questions. Ils doivent être invités de sorte que la réponse attendue soit une continuation naturelle de l'indice.
Voir example_text_completion.py pour quelques exemples. Pour illustrer cela, voir la commande ci-dessous pour l'exécuter avec le modèle llama-2-7b (nproc_per_node doit être défini sur la valeur MP) :

torchrun --nproc_per_node 1 example_text_completion.py \
    --ckpt_dir llama-2-7b/ \
    --tokenizer_path tokenizer.model \
    --max_seq_len 128 --max_batch_size 4

(3), affiner le modèle de chat

Ces modèles affinés sont entraînés pour des applications conversationnelles. Pour les fonctionnalités et les performances attendues, un format spécifique défini dans chat_completion doit être suivi, y compris les balises INST et <<SYS>>, les balises BOS et EOS, ainsi que les espaces et les retours à la ligne entre eux (nous vous recommandons d'appeler strip() sur l'entrée pour éviter les doubles espaces).
Vous pouvez également déployer des classificateurs supplémentaires pour filtrer les entrées et les sorties considérées comme dangereuses. Voir le référentiel llama-recipes pour des exemples sur la façon d'ajouter des contrôleurs de sécurité à l'entrée et à la sortie de votre code d'inférence.
Exemple utilisant lama-2-7b-chat :

torchrun --nproc_per_node 1 example_chat_completion.py
--ckpt_dir llama-2-7b-chat/
--tokenizer_path tokenizer.model
--max_seq_len 512 --max_batch_size 4

Llama 2 est une nouvelle technologie et son utilisation est potentiellement risquée . Les tests effectués jusqu'à présent ne couvrent pas toutes les situations . Pour aider les développeurs à faire face à ces risques, nous avons créé des directives d'utilisation responsable. Plus de détails peuvent être trouvés dans notre document de recherche.

Je suppose que tu aimes

Origine blog.csdn.net/qq_41185868/article/details/131819938
conseillé
Classement