Optimiser des modèles Meta Llama dans Azure AI Studio
Important
Les éléments marqués (préversion) dans cet article sont actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
Azure AI Studio vous permet d’adapter des modèles de langage volumineux à vos jeux de données personnels à l’aide d’un processus appelé affinage.
L’affinage offre une valeur significative en activant la personnalisation et l’optimisation de tâches et d’applications spécifiques. Cela aboutit sur des performances améliorées, une optimisation des coûts, une latence réduite et des sorties personnalisées.
Dans cet article, vous découvrez comment optimiser des modèles Meta Llama dans Azure AI Studio.
La famille Meta Llama de grands modèles de langage (LLM) est une collection de modèles texte génératifs préentraînés et optimisés dont l’échelle varie de 7 à 70 milliards de paramètres. La famille de modèles inclut également des versions optimisées pour des cas d’usage de dialogue avec un apprentissage par renforcement de la rétroaction humaine (RLHF), appelé Llama-Instruct.
Important
Les modèles qui sont en préversion comportent la mention préversion sur leur carte dans le catalogue de modèles.
Modèles
Les modèles suivants sont disponibles sur la Place de marché Azure pour Llama 3.1 quand l’optimisation est effectuée en tant que service avec un paiement à l’utilisation :
Meta-Llama-3.1-70B-Instruct
(préversion)Meta-LLama-3.1-8b-Instruct
(préversion)
L’optimisation des modèles Llama 3.1 est actuellement pris en charge dans les projets situés dans la région USA Ouest 3.
Important
À ce stade, nous ne sommes pas en mesure d’optimiser le réglage pour Llama 3.1 avec une longueur de séquence de 128 000.
Prérequis
Un abonnement Azure avec un moyen de paiement valide. Les abonnements Azure gratuits ou d’essai ne fonctionnent pas. Si vous ne disposez pas d’un abonnement Azure, commencez par créer un compte Azure payant.
-
Important
Pour les modèles Meta Llama 3.1, l’offre d’ajustement des modèles avec paiement à l’utilisation est disponible seulement avec les hubs créés dans la région USA Ouest 3.
Un projet Azure AI Studio dans Azure AI Studio.
Les contrôles d’accès en fonction du rôle (RBAC) Azure sont utilisés pour octroyer l’accès aux opérations dans Azure AI Studio. Pour effectuer les étapes décrites dans cet article, votre compte d’utilisateur doit avoir le rôle Propriétaire ou Contributeur pour l’abonnement Azure. Une autre possibilité est que votre compte dispose d’un rôle personnalisé avec les autorisations suivantes :
Sur l’abonnement Azure, pour abonner le projet AI Studio à l’offre de la Place de marché Azure, une fois par projet et par offre :
Microsoft.MarketplaceOrdering/agreements/offers/plans/read
Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
Microsoft.SaaS/register/action
Sur le groupe de ressources – pour créer et utiliser la ressource SaaS :
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
Sur le projet AI Studio, pour déployer des points de terminaison (le rôle Développeur Azure AI contient déjà ces autorisations) :
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Pour plus d’informations sur les autorisations, consultez Contrôle d’accès en fonction du rôle dans Azure AI Studio.
Inscription du fournisseur d’abonnement
Vérifiez que l’abonnement est inscrit auprès du fournisseur de ressources Microsoft.Network
.
Connectez-vous au portail Azure.
Sélectionnez Abonnements dans le menu de gauche.
Sélectionnez l’abonnement que vous souhaitez utiliser.
Sélectionnez Paramètres>Fournisseurs de ressources dans le menu de gauche.
Vérifiez que Microsoft.Network figure dans la liste des fournisseurs de ressources. Sinon, ajoutez-le.
Préparation des données
Préparez vos données d’entraînement et de validation pour affiner votre modèle. Vos données d’apprentissage et vos jeux de données de validation se composent d’exemples d’entrée et de sortie de la façon dont vous souhaitez que le modèle fonctionne.
Assurez-vous que vos exemples d’apprentissage suivent le format attendu pour l’inférence. Pour affiner efficacement des modèles, assurez-vous de disposer d’un jeu de données équilibré et diversifié.
Cela implique la maintenance de l’équilibre des données, y compris différents scénarios, et l’affinage périodique des données d’apprentissage afin de les aligner sur les attentes réelles, ce qui aboutit à des réponses de modèle plus précises et équilibrées.
Différents types de modèles nécessitent un format différent de données d’entraînement.
Les données d’entraînement et de validation que vous utilisez doivent être mises en forme en tant que document JSON Lines (JSONL). Pour Meta-Llama-3.1-70B-Instruct
, le jeu de données d’optimisation doit être mis en forme au format conversationnel utilisé par l’API des complétions de conversation.
Exemple de format de fichier
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
Le type de fichier pris en charge est JSON Lines. Les fichiers sont chargés dans le magasin de données par défaut et mis à disposition dans votre projet.
Optimiser un modèle Meta Llama
Pour optimiser un modèle Llama 3.1 :
Connectez-vous à Azure AI Studio.
Choisissez le modèle à optimiser dans le catalogue de modèles d’Azure AI Studio.
Dans la page Détails du modèle, sélectionnez Optimiser.
Sélectionnez le projet dans lequel vous voulez optimiser vos modèles. Pour utiliser l’offre d’optimisation de modèle avec paiement à l’utilisation, votre espace de travail doit appartenir à la région USA Ouest 3.
Dans l’Assistant Optimisation, sélectionnez le lien vers Conditions d’utilisation de la Place de marché Azure pour en savoir plus sur les conditions d’utilisation. Vous pouvez également sélectionner l’onglet Détails de l’offre de la Place de marché pour en savoir plus sur la tarification du modèle sélectionné.
Si c’est la première fois que vous réglez le modèle dans le projet, vous devez vous abonner à votre projet pour l’offre particulière (par exemple, Meta-Llama-3.1-70B-Instruct) à partir de la Place de marché Azure. Cette étape nécessite que votre compte dispose des autorisations sur l’abonnement Azure et sur le groupe de ressources qui sont répertoriées dans les prérequis. Chaque projet a son propre abonnement à l’offre spécifique de la Place de marché Azure, ce qui vous permet de contrôler et de suivre les dépenses. Sélectionnez Abonner et optimiser.
Remarque
L’abonnement d’un projet à une offre particulière de la Place de marché Azure (dans ce cas, Meta-Llama-3.1-70B-Instruct) nécessite que votre compte dispose d’accès contributeur ou propriétaire au niveau de l’abonnement où le projet est créé. Comme alternative, votre compte d’utilisateur peut se voir attribuer un rôle personnalisé qui dispose des autorisations sur l’abonnement Azure et sur le groupe de ressources listées dans les prérequis.
Une fois que vous avez inscrit le projet pour l’offre spécifique de la Place de marché Azure, les optimisations suivantes de la même offre dans le même projet ne nécessitent pas un réabonnement. Par conséquent, vous n’avez pas besoin des autorisations au niveau de l’abonnement pour les travaux d’optimisation suivants. Si ce scénario s’applique pour vous, sélectionnez Continuer à optimiser.
Entrez un nom pour votre modèle affiné, puis les balises et la description facultatives.
Sélectionnez les données d’apprentissage pour affiner votre modèle. Consultez la préparation des données pour plus d’informations.
Remarque
Si vous disposez de vos fichiers de formation/validation dans un magasin de données sans informations d’identification, vous devez autoriser l’accès de l’identité managée de l’espace de travail à leur magasin de données afin de procéder à l’optimisation de MaaS avec un stockage sans informations d’identification. Dans la page « Magasin de données », après avoir cliqué sur « Mettre à jour l’authentification » > Sélectionnez l’option suivante :
Assurez-vous que vos exemples d’apprentissage suivent le format attendu pour l’inférence. Pour affiner efficacement des modèles, assurez-vous de disposer d’un jeu de données équilibré et diversifié. Cela implique la maintenance de l’équilibre des données, y compris différents scénarios, et l’affinage périodique des données d’apprentissage afin de les aligner sur les attentes réelles, ce qui aboutit à des réponses de modèle plus précises et équilibrées.
- Taille de lot à utiliser pour la formation. Lorsqu’elle est définie sur -1, la batch_size correspond à 0,2 % des exemples du jeu d’apprentissage et la valeur maximale est de 256.
- Le taux d’apprentissage de l’affinage est le taux d’apprentissage d’origine utilisé pour le pré-apprentissage multiplié par ce multiplicateur. Nous recommandons d’essayer des valeurs comprises entre 0,5 et 2. Empiriquement, nous avons constaté que les taux d’apprentissage plus importants fonctionnent souvent mieux avec des tailles de lot plus grandes. Doit être compris entre 0.0 et 5,0.
- Nombre d’époques d’entraînement. Une époque fait référence à un cycle complet dans le jeu de données.
Les paramètres de tâche sont une étape facultative et une option avancée : le réglage des hyperparamètres est essentiel à l’optimisation des modèles de langage volumineux (LLMs) dans les applications réelles. Ils permettent des performances améliorées et une utilisation efficace des ressources. Les paramètres par défaut peuvent être utilisés ou des utilisateurs avancés peuvent personnaliser des paramètres tels que des époques ou un taux d’apprentissage.
Passez en revue vos sélections et poursuivez l’apprentissage de votre modèle.
Une fois votre modèle affiné, vous pouvez le déployer et l’utiliser dans votre propre application, dans le terrain de jeu ou dans le flux d’invite. Pour plus d’informations, consultez Comment déployer la famille de grands modèles de langage Llama 3.1 avec Azure AI Studio.
Nettoyage de vos modèles affinés
Vous pouvez supprimer un modèle affiné de la liste des modèles d’affinage dans Azure AI Studio ou depuis la page des détails du modèle. Sélectionnez le modèle affiné à supprimer de la page Affinage, puis sélectionnez le bouton Supprimer pour le supprimer.
Remarque
Vous ne pouvez pas supprimer un modèle personnalisé si un déploiement de ce modèle existe. Vous devez d’abord supprimer le déploiement de votre modèle avant de pouvoir supprimer votre modèle personnalisé.
Coûts et quotas
Considérations relatives aux coûts et aux quotas pour les modèles Meta Llama optimisés en tant que service
Les modèles Meta Llama optimisés en tant que service sont offerts par Meta via la Place de marché Azure et intégrés à Azure AI Studio pour y être utilisés. Vous trouverez la tarification de la Place de marché Azure lors du déploiement ou de l’optimisation des modèles.
Chaque fois qu’un projet s’abonne à une offre donnée à partir de la Place de marché Azure, une nouvelle ressource est créée pour suivre les coûts associés à sa consommation. La même ressource est utilisée pour suivre les coûts associés à l’inférence et à l’optimisation ; plusieurs compteurs sont cependant disponibles pour suivre chaque scénario indépendamment.
Pour plus d’informations sur le suivi des coûts, consultez Surveiller les coûts des modèles proposés dans la Place de marché Azure.
Exemple de notebook
Vous pouvez utiliser cet exemple de bloc-notes pour créer une tâche de réglage fin autonome afin d'améliorer la capacité d'un modèle à résumer les dialogues entre deux personnes à l'aide de l'ensemble de données Samsum. Les données de formation utilisées sont l'ensemble de données ultrachat_200k, qui est divisé en quatre divisions adaptées au réglage fin supervisé (sft) et au classement par génération (gen). Le bloc-notes utilise les modèles Azure AI disponibles pour la tâche de complétion de conversation (si vous souhaitez utiliser un modèle différent de celui utilisé dans le bloc-notes, vous pouvez remplacer le nom du modèle). Le bloc-notes comprend la configuration des conditions préalables, la sélection d'un modèle à affiner, la création d'ensembles de données de formation et de validation, la configuration et la soumission du travail d'affinage et enfin, la création d'un déploiement sans serveur à l'aide du modèle affiné pour l'inférence d'échantillons.
Filtrage du contenu
Les modèles déployés en tant que service avec paiement à l’utilisation sont protégés par Azure AI Content Safety. Quand ils sont déployés sur des points de terminaison en temps réel, vous pouvez ne pas accepter cette fonctionnalité. Avec Azure AI Sécurité du Contenu activé, l’invite et la complétion sont soumises à un ensemble de modèles de classification visant à détecter et à empêcher la production d’un contenu nuisible. Le système de filtrage de contenu (préversion) détecte et prend des mesures sur des catégories spécifiques de contenu potentiellement dangereux dans les invites d’entrée et les exécutions de sortie. En savoir plus sur Azure AI Sécurité du Contenu.