Partager via


Optimiser des modèles avec Azure AI Foundry

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 fait référence à la personnalisation d’un modèle d’IA générative préentraîné avec un entraînement supplémentaire sur une tâche spécifique ou un nouveau jeu de données pour améliorer les performances, de nouvelles compétences ou un exactitude améliorée. Le résultat est un nouveau modèle GenAI personnalisé qui est optimisé en fonction des exemples fournis.

Envisagez d’optimiser des modèles GenAI pour :

  • Mettre à l’échelle et adapter à des besoins spécifiques de l’entreprise
  • Réduire les faux positifs, les modèles personnalisés étant moins susceptibles de produire des réponses inexactes ou non pertinentes
  • Améliorer l’exactitude du modèle pour des tâches spécifiques au domaine
  • Gagner du temps et des ressources avec des résultats plus rapides et plus précis
  • Obtenir des résultats plus pertinents et prenant en compte le contexte, les modèles étant optimisés pour des cas d’usage spécifiques

Azure AI Foundry offre plusieurs modèles de différents fournisseurs de modèles, ce qui vous permet d’accéder aux modèles les plus récents et les plus performants du marché. Vous pouvez découvrir des modèles pris en charge pour l’optimisation via notre catalogue de modèles en utilisant le filtre Tâches d’optimisation et en sélectionnant la carte de modèle pour en savoir plus sur chaque modèle. Des modèles spécifiques peuvent être soumis à des contraintes régionales : pour plus d’informations, consultez cette liste.

Capture d’écran du catalogue de modèles Azure AI Foundry et filtrage par Tâches d’optimisation.

Cet article vous guide dans des cas d’usage de l’optimisation et dans la façon dont cela peut vous aider dans votre parcours GenAI.

Bien démarrer avec réglage fin

Quand vous commencez votre parcours d’IA générative, nous vous recommandons de commencer par l’ingénierie des prompts et la génération augmentée de récupération (RAG) pour vous familiariser avec les modèles de base et leurs fonctionnalités.

  • L’ingénierie des prompts est une technique qui implique la conception de prompts en utilisant des informations détaillées de ton et de style, des exemples de réponses et le mappage d’intentions pour les 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.

Quand vous êtes à l’aise et que vous commencez à créer votre solution, il est important de comprendre où l’ingénierie des prompts ne suffit pas et de pouvoir déterminer si vous devez essayer l’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 systématiquement une sortie au bon format ?
  • Est-il difficile d’insérer suffisamment d’exemples dans la fenêtre de contexte pour orienter le modèle ?
  • Y a-t-il une latence élevée ?

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 à établir une base de référence des performances avec laquelle vous pouvez évaluer et comparer votre modèle optimisé. 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.

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.

Cas d’utilisation

Les modèles de base sont déjà préentraînés sur de grandes quantités de données et, la plupart du temps, vous allez ajouter des instructions et des exemples au prompt pour obtenir les réponses de qualité que vous recherchez : ce processus est appelé « apprentissage few-shot ». L’optimisation vous permet d’entraîner un modèle avec beaucoup plus d’exemples que vous pouvez adapter pour répondre à votre cas d’usage spécifique, ce qui améliore l’apprentissage few-shot. Ceci peut réduire le nombre de jetons dans le prompt, permettant des économies de coûts potentielles et des requêtes avec une latence plus faible.

La transformation du langage naturel en langage de requête n’est qu’un cas d’usage où vous pouvez montrer mais pas indiquer au modèle comment se comporter. Voici quelques cas d’usage supplémentaires :

  • Améliorer la gestion des données récupérées par le modèle
  • Orienter le modèle pour produire du contenu dans un style, un ton ou un format spécifique
  • Améliorer l’exactitude quand vous recherchez des informations
  • Réduisez la longueur de votre prompt
  • Enseigner de nouvelles compétences (par exemple, du langage naturel en code)

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. Le coût initial de l’entraînement peut cependant être plus élevé, et vous devez payer pour l’hébergement de votre propre modèle personnalisé.

Étapes pour optimiser un modèle

Voici les grandes étapes pour optimiser un modèle :

  1. En fonction de votre cas d’usage, choisir un modèle qui prend en charge votre tâche
  2. Préparer et charger des données de formation
  3. (Facultatif) Préparer et charger des données de validation
  4. (Facultatif) Configurer les paramètres de la tâche
  5. Formez votre modèle.
  6. Une fois que c’est terminé, passez en revue les métriques et évaluez le modèle. Si les résultats ne répondent pas à votre benchmark, revenez à l’étape 2.
  7. Utiliser votre modèle optimisé

Il est important de souligner que l’optimisation dépend fortement de la qualité des données que vous pouvez fournir. Une meilleure pratique est de fournir des centaines voire des milliers d’exemples d’entraînement pour réussir à obtenir les résultats souhaités.

Modèles pris en charge pour l’optimisation

Maintenant que vous savez quand utiliser l’optimisation pour votre cas d’utilisation, vous pouvez accéder à Azure AI Foundry pour trouver des modèles disponibles pour l’optimisation. Pour certains modèles du catalogue de modèles, le réglage précis est disponible à l’aide d’une API serverless ou d’un calcul managé (préversion) ou les deux.

Un réglage fin est disponible dans des régions Azure spécifiques pour certains modèles déployés via des API serverless. Pour optimiser ces modèles, un utilisateur doit disposer d’un hub/projet dans la région où le modèle est disponible pour l’optimisation. Consultez Disponibilité des régions pour les modèles dans les points de terminaison d’API serverless pour des informations détaillées.

Pour plus d’informations sur le réglage précis à l’aide d’un calcul managé (préversion), consultez Ajuster les modèles à l’aide du calcul managé (préversion).

Pour plus d’informations sur les modèles Azure OpenAI disponibles pour un réglage précis, consultez la documentation des modèles d’Azure OpenAI Service ou le tableau des modèles Azure OpenAI plus loin dans ce guide.

Pour les modèles Azure OpenAI Service que vous pouvez optimiser, les régions prises en charge pour l’optimisation incluent USA Centre Nord, Suède Centre et d’autres.

Ajustement des modèles Azure OpenAI

Remarque

gpt-35-turbo - Le réglage fin de ce modèle est limité à un sous-ensemble de régions et n'est pas disponible dans toutes les régions où le modèle de base est disponible.

Les régions prises en charge pour le réglage fin peuvent varier si vous utilisez des modèles Azure OpenAI dans un projet AI Foundry ou en dehors d’un projet.

ID de modèle Régions pour l’optimisation Nbre maximal de demandes (jetons) Données d’entraînement (date max.)
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
gpt-4o-mini (18-07-2024) Centre-Nord des États-Unis
Suède Centre
Entrée : 128 000
Sortie : 16 384
Exemple de contexte d’entraînement : 64 536
Oct. 2023
gpt-4o (2024-08-06) USA Est 2
Centre-Nord des États-Unis
Suède Centre
Entrée : 128 000
Sortie : 16 384
Exemple de contexte d’entraînement : 64 536
Oct. 2023

1 GPT-4 est actuellement en préversion publique.