Partager via


Quand utiliser l’ajustement Azure OpenAI

Lorsque vous évaluez si l’ajustement est la bonne solution pour explorer un cas d’usage donné, vous devez connaître quelques termes clés :

  • L’ingénierie d’invite est une technique qui implique la conception d’invites pour des modèles de traitement du langage naturel. Ce processus améliore l’exactitude et la pertinence des réponses, ce qui optimise les performances du modèle.
  • La génération augmentée de récupération (RAG, Retrieval Augmented Generation) améliore les performances d’un modèle de langage volumineux (LLM) en récupérant des données à partir de sources externes et en les incorporant dans une invite. RAG permet aux entreprises d’obtenir des solutions personnalisées tout en conservant la pertinence des données et en optimisant les coûts.
  • L’ajustement réentraîne un modèle de langage volumineux existant à l’aide d’exemples de données, ce qui permet d’obtenir un nouveau modèle de langage volumineux « personnalisé » optimisé à l’aide des exemples fournis.

Qu’est-ce que l’ajustement avec Azure OpenAI ?

Lorsque nous parlons d’ajustement, nous faisons référence à un ajustement supervisé, et non à un entraînement continu ou à l’apprentissage par renforcement par le biais de commentaires humains (RLHF, Reinforcement Learning through Human Feedback). L’ajustement supervisé fait référence au processus de réentraînement de modèles préentraînés sur des jeux de données spécifiques, généralement en vue d’améliorer les performances des modèles sur des tâches spécifiques ou d’introduire des informations qui n’étaient pas bien représentées lorsque le modèle de base a été entraîné initialement.

L’ajustement est une technique avancée dont l’utilisation correcte nécessite une expertise. Les questions ci-dessous vous aideront à déterminer si vous êtes prêt pour l’ajustement et si vous avez bien réfléchi au processus. Vous pouvez les utiliser afin de déterminer les prochaines étapes ou d’identifier d’autres approches qui pourraient être plus appropriées.

Pourquoi voulez-vous ajuster un modèle ?

  • Vous devriez être en mesure d’exprimer clairement un cas d’usage spécifique pour l’ajustement et d’identifier le modèle que vous souhaitez ajuster.
  • Les cas d’usage appropriés pour l’ajustement incluent les scénarios où vous souhaitez diriger le modèle afin qu’il génère du contenu dans un style, un ton ou un format spécifique et personnalisé, ou ceux dans lesquels les informations nécessaires pour diriger le modèle sont trop longues ou complexes pour s’adapter à la fenêtre d’invite.

Signes courants qui pourraient vous faire penser que vous n’êtes pas encore prêt pour l’ajustement :

  • Aucun cas d’usage clair pour l’ajustement, ou une incapacité à en dire davantage que « Je souhaite améliorer un modèle ».
  • Si vous identifiez les coûts comme motivation principale, faites preuve de prudence. L’ajustement peut réduire les coûts pour certains cas d’usage en raccourcissant les invites 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 devrez payer pour héberger votre propre modèle personnalisé. Pour plus d’informations sur les coûts d’ajustement d’Azure OpenAI, consultez la page sur les tarifs.
  • Si vous souhaitez ajouter des connaissances hors domaine au modèle, vous devez commencer par la génération augmentée de récupération (RAG) avec des fonctionnalités Azure OpenAI telles que sur vos données ou les incorporations. Souvent, il s’agit d’une option moins coûteuse, plus adaptable et potentiellement plus efficace, en fonction du cas d’usage et des données.

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 modèles de langage volumineux (LLM). Vous devez commencer par évaluer les performances d’un modèle de base avec l’ingénierie d’invite et/ou la génération augmentée de récupération afin d’obtenir une base de référence pour les performances.

Disposer d’une base de référence pour les performances sans ajustement est essentiel pour savoir si l’ajustement a amélioré 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.

Si vous êtes prêt pour l’ajustement :

  • Vous devriez être en mesure de présenter des preuves et de démontrer vos connaissances des approches basées sur l’ingénierie d’invite et la génération augmentée de récupération.
  • Vous devriez être en mesure de partager des expériences et des défis spécifiques avec des techniques autres que l’ajustement qui ont déjà été essayées pour votre cas d’usage.
  • Vous devez disposer d’évaluations quantitatives des performances de référence, dans la mesure du possible.

Signes courants qui pourraient vous faire penser que vous n’êtes pas encore prêt pour l’ajustement :

  • Commencer par l’ajustement sans avoir testé d’autres techniques.
  • Connaissances ou compréhension insuffisantes de la façon dont l’ajustement s’applique spécifiquement aux modèles de langage volumineux.
  • Aucune mesure de point de référence par rapport à laquelle évaluer l’ajustement.

Qu’est-ce qui ne fonctionne pas avec les autres approches ?

Le fait de comprendre où l’ingénierie d’invite échoue devrait vous fournir une idée de la manière d’implémenter l’ajustement. 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 d’invite vous aideront à identifier les données qu’ils doivent collecter pour l’ajustement et la façon dont vous devez évaluer votre modèle ajusté.

Voici un exemple : un client souhaitait utiliser GPT-3.5-Turbo pour transformer des questions en langage naturel en requêtes dans un langage de requête spécifique et non standard. Il a fourni des instructions dans l’invite (« Toujours retourner GQL ») et a utilisé la génération augmentée de récupération pour récupérer le schéma de base de données. Toutefois, la syntaxe n’était pas toujours correcte et échouait souvent pour les cas de périphérie. Le client a collecté des milliers d’exemples de questions en langage naturel et les requêtes équivalentes pour sa base de données, y compris les cas où le modèle avait échoué auparavant, et il a utilisé ces données pour ajuster le modèle. La combinaison de son nouveau modèle ajusté avec son ingénierie d’invite et sa récupération a permis de faire en sorte que la précision des sorties du modèle atteigne un niveau acceptable.

Si vous êtes prêt pour l’ajustement :

  • Veillez à avoir des exemples clairs illustrant comment vous avez abordé les défis avec les approches alternatives, et ce qui a été 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, telles que des performances incohérentes sur les cas de périphérie, l’incapacité à ajuster suffisamment d’invites few-shot prompting dans la fenêtre de contexte pour diriger le modèle, une latence élevée, etc.

Signes courants qui pourraient vous faire penser que vous n’êtes pas encore prêt pour l’ajustement :

  • Connaissance insuffisante du modèle ou de la source de données.
  • Incapacité à trouver les données appropriées pour servir le modèle.

Quelles données allez-vous utiliser pour l’ajustement ?

Même avec un excellent cas d’usage, la qualité de l’ajustement ne sera jamais meilleure que celle 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. Différents modèles nécessitent différents volumes de données, mais vous devez souvent être en mesure de fournir des quantités assez importantes de données organisées de haute qualité.

Autre point important : même avec des données de haute qualité, si vos données ne sont pas au format nécessaire pour l’ajustement, vous devrez impliquer des ressources d’ingénierie afin de mettre correctement en forme les données.

Données Babbage-002
Davinci-002
GPT-3.5-Turbo
GPT-4o & GPT-4o mini
GPT-4
Volume Milliers d’exemples Milliers d’exemples
Format Invite/Complétion Conversation

Si vous êtes prêt pour l’ajustement :

  • Vous avez identifié un jeu de données pour l’ajustement.
  • Le jeu de données est au format approprié pour l’entraînement.
  • Un certain niveau d’organisation a été employé pour garantir la qualité du jeu de données.

Signes courants qui pourraient vous faire penser que vous n’êtes pas encore prêt pour l’ajustement :

  • Le jeu de données n’a pas encore été identifié.
  • Le format du jeu de données ne correspond pas au modèle que vous souhaitez ajuster.

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, cela ne doit pas être seulement qualitatif, mais doit inclure des mesures quantitatives de réussite, comme l’utilisation d’un ensemble de données d’exclusion pour la validation, ainsi que des tests d’acceptation utilisateur ou des tests A/B évaluant les performances du modèle ajusté par rapport à un modèle de base.

Étapes suivantes