? Modèles sur le visage étreignant | Blogue | Site Web | Commencer
Merci d'avoir développé avec les modèles Llama. Dans le cadre de la version Llama 3.1, nous avons consolidé les dépôts GitHub et ajouté quelques dépôts supplémentaires au fur et à mesure que nous avons étendu les fonctionnalités de Llama pour devenir une pile de Llama e2e. Veuillez utiliser les dépôts suivants à l'avenir :
llama-models - Dépôt central pour les modèles de base comprenant les utilitaires de base, les cartes de modèles, les politiques de licence et d'utilisation
PurpleLlama - Composant clé de Llama Stack axé sur les risques de sécurité et l'atténuation des temps d'inférence
llama-toolchain - Interfaces de développement de modèles (inférence/réglage précis/boucliers de sécurité/génération de données synthétiques) et implémentations canoniques
llama-agentic-system - Système Llama Stack autonome E2E, avec interface sous-jacente avisée, qui permet la création d'applications agentiques
llama-recipes - Scripts et intégrations pilotés par la communauté
Si vous avez des questions, n'hésitez pas à signaler un problème sur l'un des dépôts ci-dessus et nous ferons de notre mieux pour répondre dans les meilleurs délais.
Merci!
Nous libérons la puissance des grands modèles linguistiques. Notre dernière version de Llama est désormais accessible aux particuliers, créateurs, chercheurs et entreprises de toutes tailles afin qu'ils puissent expérimenter, innover et faire évoluer leurs idées de manière responsable.
Cette version inclut les poids des modèles et le code de départ pour les modèles de langage Llama 3 pré-entraînés et réglés par les instructions, y compris les tailles de paramètres 8B à 70B.
Ce référentiel est un exemple minimal de chargement de modèles Llama 3 et d'exécution d'inférence. Pour des exemples plus détaillés, voir recettes de lama.
Pour télécharger les poids du modèle et le tokenizer, veuillez visiter le site Web Meta Llama et accepter notre licence.
Une fois votre demande approuvée, vous recevrez une URL signée par e-mail. Ensuite, exécutez le script download.sh, en transmettant l'URL fournie lorsque vous êtes invité à démarrer le téléchargement.
Prérequis : assurez-vous que wget
et md5sum
sont installés. Exécutez ensuite le script : ./download.sh
.
N'oubliez pas que les liens expirent après 24 heures et un certain nombre de téléchargements. Vous pouvez toujours demander à nouveau un lien si vous commencez à voir des erreurs telles que 403: Forbidden
.
Nous proposons également des téléchargements sur Hugging Face, aux formats Transformers et llama3
natifs. Pour télécharger les poids de Hugging Face, veuillez suivre ces étapes :
Visitez l'un des dépôts, par exemple meta-llama/Meta-Llama-3-8B-Instruct.
Lisez et acceptez la licence. Une fois votre demande approuvée, vous aurez accès à tous les modèles Llama 3. Notez que le traitement des demandes prenait jusqu'à une heure.
Pour télécharger les poids natifs d'origine à utiliser avec ce dépôt, cliquez sur l'onglet "Fichiers et versions" et téléchargez le contenu du dossier original
. Vous pouvez également les télécharger depuis la ligne de commande si vous pip install huggingface-hub
:
huggingface-cli télécharger méta-llama/Meta-Llama-3-8B-Instruct --include "original/*" --local-dir méta-llama/Meta-Llama-3-8B-Instruct
À utiliser avec les transformateurs, l'extrait de pipeline suivant téléchargera et mettra en cache les pondérations :
import transformersimport torchmodel_id = "meta-llama/Meta-Llama-3-8B-Instruct"pipeline = transformers.pipeline( "text-generation", model="meta-llama/Meta-Llama-3-8B-Instruct", model_kwargs ={"torch_dtype": torch.bfloat16}, appareil="cuda", )
Vous pouvez suivre les étapes ci-dessous pour être rapidement opérationnel avec les modèles Llama 3. Ces étapes vous permettront d’exécuter une inférence rapide localement. Pour plus d'exemples, consultez le référentiel de recettes Llama.
Clonez et téléchargez ce référentiel dans un environnement conda avec PyTorch / CUDA.
Dans le répertoire de niveau supérieur, exécutez :
pip install -e .
Visitez le site Web Meta Llama et inscrivez-vous pour télécharger le(s) modèle(s).
Une fois inscrit, vous recevrez un email avec une URL pour télécharger les modèles. Vous aurez besoin de cette URL lorsque vous exécuterez le script download.sh.
Une fois que vous avez reçu l'e-mail, accédez à votre référentiel de lamas téléchargé et exécutez le script download.sh.
Assurez-vous d'accorder les autorisations d'exécution au script download.sh
Au cours de ce processus, vous serez invité à saisir l'URL de l'e-mail.
N'utilisez pas l'option « Copier le lien » ; copiez manuellement le lien de l'e-mail.
Une fois le ou les modèles souhaités téléchargés, vous pouvez exécuter le modèle localement à l'aide de la commande ci-dessous :
torchrun --nproc_per_node 1 exemple_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Note
Remplacez Meta-Llama-3-8B-Instruct/
par le chemin d'accès à votre répertoire de points de contrôle et Meta-Llama-3-8B-Instruct/tokenizer.model
par le chemin d'accès à votre modèle de tokenizer.
Le –nproc_per_node
doit être défini sur la valeur MP pour le modèle que vous utilisez.
Ajustez les paramètres max_seq_len
et max_batch_size
selon vos besoins.
Cet exemple exécute le fichier example_chat_completion.py trouvé dans ce référentiel, mais vous pouvez le remplacer par un autre fichier .py.
Différents modèles nécessitent différentes valeurs de modèle parallèle (MP) :
Modèle | Député |
---|---|
8B | 1 |
70B | 8 |
Tous les modèles prennent en charge une longueur de séquence allant jusqu'à 8 192 jetons, mais nous pré-attribuons le cache en fonction des valeurs max_seq_len
et max_batch_size
. Alors configurez-les en fonction de votre matériel.
Ces modèles ne sont pas optimisés pour le chat ou les questions-réponses. Ils doivent être invités de manière à ce que la réponse attendue soit la suite naturelle de l'invite.
Voir example_text_completion.py
pour quelques exemples. Pour illustrer, consultez la commande ci-dessous pour l'exécuter avec le modèle llama-3-8b ( nproc_per_node
doit être défini sur la valeur MP
) :
torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir Meta-Llama-3-8B/ --tokenizer_path Meta-Llama-3-8B/tokenizer.model --max_seq_len 128 --max_batch_size 4
Les modèles affinés ont été formés pour les applications de dialogue. Pour obtenir les fonctionnalités et les performances attendues, un formatage spécifique défini dans ChatFormat
doit être suivi : l'invite commence par un jeton spécial <|begin_of_text|>
, après quoi un ou plusieurs messages suivent. Chaque message commence par la balise <|start_header_id|>
, le system
de rôle , user
ou assistant
et la balise <|end_header_id|>
. Après un double saut de ligne nn
, le contenu du message suit. La fin de chaque message est marquée par le jeton <|eot_id|>
.
Vous pouvez également déployer des classificateurs supplémentaires pour filtrer les entrées et sorties jugées dangereuses. Consultez le dépôt llama-recipes pour un exemple de la façon d'ajouter un vérificateur de sécurité aux entrées et sorties de votre code d'inférence.
Exemples utilisant lama-3-8b-chat :
torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Llama 3 est une nouvelle technologie qui comporte des risques potentiels lors de son utilisation. Les tests effectués jusqu’à présent n’ont pas – et ne peuvent pas – couvrir tous les scénarios. Pour aider les développeurs à faire face à ces risques, nous avons créé le Guide d'utilisation responsable.
Veuillez signaler tout « bug » logiciel ou tout autre problème avec les modèles par l'un des moyens suivants :
Signaler des problèmes avec le modèle : https://github.com/meta-llama/llama3/issues
Signaler le contenu à risque généré par le modèle : développeurs.facebook.com/llama_output_feedback
Signaler des bugs et des problèmes de sécurité : facebook.com/whitehat/info
Voir MODEL_CARD.md.
Notre modèle et nos pondérations sont sous licence pour les chercheurs et les entités commerciales, dans le respect des principes d'ouverture. Notre mission est de responsabiliser les individus et l'industrie grâce à cette opportunité tout en favorisant un environnement de découverte et de progrès éthiques en matière d'IA.
Consultez le fichier LICENCE, ainsi que notre politique d'utilisation acceptable qui l'accompagne.
Pour les questions courantes, la FAQ peut être trouvée ici, qui sera mise à jour au fil du temps à mesure que de nouvelles questions surgiront.