Régler les modèles 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.
L’optimisation précis réentraîne un grand modèle de langage (LLM) existant en utilisant des exemples de données. Le résultat est un nouveau grand modèle de langage personnalisé optimisé pour les exemples fournis.
Cet article peut vous aider à déterminer si l’optimisation est ou non la bonne solution pour votre cas d’usage. Cet article décrit également comment Azure AI Studio peut venir en support de vos besoins d’optimisation.
Dans cet article, optimisation fait référence à l’optimisation supervisée et non pas au préentraînement continu ou à l’apprentissage par renforcement via le feedback d’humains (RLHF, Reinforcement Learning through Human Feedback). L’optimisation supervisée est le processus consistant à réentraîner des modèles préentraînés sur des jeux de données spécifiques. L’objectif est généralement d’améliorer les performances du modèle sur des tâches spécifiques ou d’introduire des informations qui n’étaient pas bien représentées lors de l’entraînement initial du modèle de base.
Bien démarrer avec l’optimisation
Quand vous évaluez si l’optimisation est la bonne solution pour votre cas d’usage, il est utile d’être familiarisé avec ces termes clés :
- L’ingénierie des prompts est une technique qui implique la conception de prompts pour des modèles de traitement du langage naturel. Ce processus améliore l’exactitude et la pertinence des réponses pour optimiser les performances du modèle.
- La génération augmentée de récupération (RAG) améliore les performances des grands modèles de langage (LLM) en récupérant des données auprès de sources externes et en les incorporant dans un prompt. La génération augmentée de récupération peut aider les entreprises à obtenir des solutions personnalisées tout en conservant la pertinence des données et en optimisant les coûts.
L’ajustement est une technique avancée dont l’utilisation correcte nécessite une expertise. Les questions suivantes vous aident à déterminer si vous êtes prêt pour l’optimisation et si vous avez bien réfléchi au processus. Vous pouvez utiliser ces questions pour déterminer les prochaines étapes ou pour identifier d’autres approches qui pourraient être plus appropriées.
Pourquoi voulez-vous ajuster un modèle ?
Vous pouvez être prêt pour l’optimisation si :
Vous pouvez exprimer clairement un cas d’usage spécifique pour l’optimisation et identifier le modèle que vous espérez optimiser.
Les cas d’usage appropriés pour l’optimisation incluent l’orientation du modèle pour produire du contenu dans un style, un ton ou un format spécifique et personnalisé. Ils incluent également des scénarios où les informations nécessaires pour orienter le modèle sont trop longues ou trop complexes pour tenir dans la fenêtre des prompts.
Vous avez des exemples clairs de la façon dont vous avez traité les problématiques avec des approches alternatives et de ce que vous testé comme résolutions possibles pour améliorer les performances.
Vous avez identifié des lacunes lors de l’utilisation d’un modèle de base, comme des performances incohérentes sur les cas limites, l’incapacité à placer suffisamment de prompts individuels dans la fenêtre de contexte pour orienter le modèle ou encore une latence élevée.
Vous n’êtes peut-être pas prêt(e) pour une mise au point :
- Les connaissances tirées du modèle ou de la source de données sont insuffisantes.
- Vous ne pouvez pas trouver les données appropriées pour alimenter le modèle.
- Vous n’avez pas un cas d’usage clair pour l’optimisation ou vous ne pouvez pas formuler autre chose que « Je veux améliorer un modèle ».
Si vous identifiez les coûts comme motivation principale, faites preuve de prudence. L’optimisation peut réduire les coûts pour certains cas d’usage en raccourcissant les prompts ou en vous permettant d’utiliser un modèle plus petit. Mais le coût initial de l’entraînement est plus élevé et vous devez payer pour héberger votre propre modèle personnalisé. Pour plus d’informations sur les coûts de l’optimisation dans Azure OpenAI, consultez la page de tarification.
Si vous voulez ajouter des connaissances hors domaine au modèle, vous devez commencer par la génération augmentée de récupération (RAG) en utilisant des fonctionnalités d’Azure OpenAI telles que Sur vos données ou des incorporations. Utiliser RAG de cette façon est souvent une option moins coûteuse, plus adaptable et potentiellement plus efficace, en fonction du cas d’usage et des données.
Qu’est-ce qui ne fonctionne pas avec les autres approches ?
Le fait de comprendre où l’ingénierie des prompts s’avère inefficace devrait vous aider dans l’approche de votre optimisation. Le modèle de base échoue-t-il sur des cas de périphérie ou des exceptions ? Est-ce que le modèle de base ne fournit pas de manière cohérente une sortie au bon format, et vous ne pouvez pas incorporer suffisamment d’exemples dans la fenêtre de contexte pour le corriger ?
Des exemples d’échecs avec le modèle de base et l’ingénierie des prompts peuvent vous aider à identifier les données à collecter pour l’optimisation et comment vous devez évaluer votre modèle optimisé.
Voici un exemple : un client veut utiliser GPT-3.5-Turbo pour transformer des questions en langage naturel en requêtes dans un langage de requête spécifique non standard. Le client fournit une directive dans le prompt (« Toujours retourner du GQL ») et utilise la génération augmentée de récupération (RAG) pour récupérer le schéma de base de données. Cependant, la syntaxe n’est pas toujours correcte et échoue souvent pour les cas limites. Le client collecte des milliers d’exemples de questions en langage naturel et les requêtes équivalentes pour la base de données, y compris des cas où le modèle échouait auparavant. Le client utilise ensuite ces données pour optimiser le modèle. La combinaison de son nouveau modèle optimisé avec l’ingénierie des prompts et la récupération permet d’atteindre un niveau d’exactitude acceptable pour l’utilisation des résultats du modèle.
Qu’avez-vous essayé jusqu’à présent ?
L’ajustement est une capacité avancée, et non le point de départ de votre parcours d’IA générative. Vous devez déjà être familiarisé avec les principes de base de l’utilisation de grands modèles de langage (LLM). Vous devez commencer par évaluer les performances d’un modèle de base avec l’ingénierie des prompts et/ou la génération augmentée de récupération (RAG) afin d’obtenir une base de référence pour les performances.
Disposer d’une base de référence pour les performances sans optimisation est essentiel pour savoir si l’optimisation améliore ou non les performances du modèle. L’ajustement avec des données incorrectes rend le modèle de base encore moins performant, mais sans base de référence il est difficile de détecter les régressions.
Vous pouvez être prêt pour l’optimisation si :
- Vous pouvez montrer que vous avez des connaissances concernant les approches basées sur l’ingénierie des prompts et sur la génération augmentée de récupération (RAG).
- Vous pouvez partager des expériences et des problématiques spécifiques avec des techniques autres que l’optimisation et que vous avez déjà essayées pour votre cas d’usage.
- Vous disposez d’évaluations quantitatives des performances de référence, dans la mesure du possible.
Vous n’êtes peut-être pas prêt(e) pour une mise au point :
- Vous n’avez pas testé d’autres techniques.
- Vous avez des connaissances ou une compréhension insuffisantes de la façon dont l’optimisation s’applique spécifiquement aux grands modèles de langage.
- Vous n’avez pas de mesures de points de référence par rapport auxquelles évaluer l’optimisation.
Quelles données allez-vous utiliser pour l’ajustement ?
Même avec un très bon cas d’usage, la qualité de l’optimisation dépend de la qualité des données que vous pouvez fournir. Vous devez être prêt à consacrer le temps et les efforts nécessaires pour que l’ajustement soit performant. Des modèles différents nécessitent des volumes de données différents, mais vous devez souvent être en mesure de fournir des quantités assez importantes de données organisées et de grande qualité.
Un autre point important est que même avec des données de grande qualité, si elles ne sont pas au format requis pour l’optimisation, vous devrez faire appel à des ressources d’ingénierie pour les mettre en forme. Pour plus d’informations sur la préparation de vos données à des fins d’optimisation, reportez-vous à la documentation de réglage fin.
Vous pouvez être prêt pour l’optimisation si :
- Vous avez identifié un jeu de données pour l’optimisation.
- Votre jeu de données est au format approprié pour l’entraînement.
- Vous avez appliqué un certain niveau d’organisation pour garantir la qualité du jeu de données.
Vous n’êtes peut-être pas prêt(e) pour une mise au point :
- Vous n’avez pas encore identifié de jeu de données.
- Le format du jeu de données ne correspond pas au modèle que vous voulez optimiser.
Comment mesurerez-vous la qualité de votre modèle ajusté ?
Il n’y a pas de réponse correcte unique à cette question, mais vous devez avoir clairement défini des objectifs qui permettront de démontrer que l’ajustement a été un succès. Dans l’idéal, cet effort ne devrait pas seulement être qualitatif. Il doit inclure des mesures quantitatives de la réussite, comme l’utilisation d’un ensemble de données en réserve pour la validation ainsi que des tests d’acceptation utilisateur ou des tests A/B évaluant les performances du modèle optimisé par rapport à un modèle de base.
Modèles pris en charge pour le réglage précis dans Azure AI Studio
Maintenant que vous savez quand utiliser l’optimisation pour votre cas d’usage, vous pouvez accéder à Azure AI Studio pour trouver des modèles disponibles pour l’optimisation. Les sections suivantes décrivent les modèles disponibles.
Modèles Azure OpenAI
L’affinage des modèles Azure OpenAI suivants sont pris en charge dans Azure AI Studio :
ID de modèle | Régions pour l’optimisation | Nbre maximal de demandes (jetons) | Données d’entraînement (jusqu’à) |
---|---|---|---|
babbage-002 |
Centre-Nord des États-Unis Suède Centre Suisse Ouest |
16 384 | Septembre 2021 |
davinci-002 |
Centre-Nord des États-Unis Suède Centre Suisse Ouest |
16 384 | Septembre 2021 |
gpt-35-turbo (0613) |
USA Est 2 Centre-Nord des États-Unis Suède Centre Suisse Ouest |
4 096 | Septembre 2021 |
gpt-35-turbo (1106) |
USA Est 2 Centre-Nord des États-Unis Suède Centre Suisse Ouest |
Entrée : 16 385 Sortie : 4 096 |
Septembre 2021 |
gpt-35-turbo (0125) |
USA Est 2 Centre-Nord des États-Unis Suède Centre Suisse Ouest |
16,385 | Septembre 2021 |
gpt-4 (0613) 1 |
Centre-Nord des États-Unis Suède Centre |
8 192 | Septembre 2021 |
1 Le réglage précis GPT-4 est actuellement en préversion publique. Pour plus d’informations, consultez le Guide d’évaluation de la sécurité de l’optimisation pour GPT-4.
Pour optimiser des modèles Azure OpenAI, vous devez ajouter à votre projet une connexion à une ressource Azure OpenAI avec une région prise en charge.
Modèles de la famille Phi-3
Les modèles de la famille Phi-3 suivants sont pris en charge dans Azure AI Studio pour le fine-tuning :
Phi-3-mini-4k-instruct
Phi-3-mini-128k-instruct
Phi-3-medium-4k-instruct
Phi-3-medium-128k-instruct
Le fine-tuning des modèles Phi-3 est actuellement pris en charge dans des projets situés dans la région USA Est 2.
Modèles de la famille Meta Llama 2
L’affinage des modèles de famille Llama 2 suivants sont pris en charge dans Azure AI Studio :
Meta-Llama-2-70b
Meta-Llama-2-7b
Meta-Llama-2-13b
Le fine-tuning des modèles Llama 2 est actuellement pris en charge dans des projets situés dans la région USA Ouest 3.
Modèles de la famille Meta Llama 3.1
L’ajustement des modèles suivants de la famille Llama 3.1 est pris en charge dans Azure AI Studio :
Meta-Llama-3.1-70b-Instruct
Meta-Llama-3.1-8b-Instruct
Le fine-tuning des modèles Llama 3.1 est actuellement pris en charge dans des projets situés dans la région USA Ouest 3.