Artificial Intelligence (AI)

Model Evaluations Versus Task Evaluations | by Aparna Dhinakaran | Mar, 2024

Written by smirow

Image créée par l'auteur à l'aide de Dall-E 3

Comprendre la différence pour les applications LLM

Aparna Dhinakaran
Vers la science des données

Imaginez un instant un avion. Qu’est-ce qui me vient à l’esprit ? Imaginez maintenant un Boeing 737 et un V-22 Osprey. Tous deux sont des avions conçus pour déplacer des marchandises et des personnes, mais ils répondent à des objectifs différents : l’un plus général (vols commerciaux et fret), l’autre très spécifique (missions d’infiltration, d’exfiltration et de réapprovisionnement des forces d’opérations spéciales). Ils sont très différents car ils sont conçus pour des activités différentes.

Avec l’essor des LLM, nous avons vu nos premiers modèles ML véritablement à usage général. Leur généralité nous aide à bien des égards :

  • La même équipe d'ingénierie peut désormais effectuer une analyse des sentiments et une extraction de données structurées.
  • Les praticiens de nombreux domaines peuvent partager leurs connaissances, permettant ainsi à l'ensemble du secteur de bénéficier de l'expérience de chacun.
  • Il existe un large éventail d’industries et d’emplois où la même expérience est utile

Mais comme nous le voyons avec les avions, la généralité nécessite une évaluation très différente de celle d’exceller dans une tâche particulière, et en fin de compte, la valeur commerciale vient souvent de la résolution de problèmes particuliers.

C'est une bonne analogie pour la différence entre les évaluations de modèle et de tâche. Les évaluations de modèles se concentrent sur l'évaluation générale globale, mais les évaluations de tâches se concentrent sur l'évaluation de la performance d'une tâche particulière.

Le terme Évaluations LLM est lancé de manière assez générale. OpenAI a publié très tôt des outils pour effectuer des évaluations LLM, par exemple. La plupart des praticiens se préoccupent davantage des évaluations des tâches LLM, mais cette distinction n'est pas toujours clairement faite.

Quelle est la différence?

Les évaluations de modèles examinent la « condition physique générale » du modèle. Dans quelle mesure réussit-il une variété de tâches ?

Les évaluations de tâches, en revanche, sont spécifiquement conçues pour déterminer dans quelle mesure le modèle est adapté à votre application particulière.

Quelqu'un qui s'entraîne généralement et qui est en bonne forme physique s'en sortirait probablement mal contre un lutteur de sumo professionnel dans une véritable compétition, et les évaluations de modèles ne peuvent pas se comparer aux évaluations de tâches pour évaluer vos besoins particuliers.

Les évaluations de modèles sont spécifiquement destinées à la création et à la mise au point de modèles généralisés. Ils sont basés sur un ensemble de questions que vous posez à un modèle et sur un ensemble de réponses fondées sur la vérité que vous utilisez pour noter les réponses. Pensez à passer les SAT.

Bien que chaque question d’une évaluation de modèle soit différente, il existe généralement un domaine général de test. Il existe un thème ou une compétence auquel chaque mesure est spécifiquement ciblée. Par exemple, les performances de HellaSwag sont devenues un moyen populaire de mesurer la qualité du LLM.

L'ensemble de données HellaSwag se compose d'une collection de contextes et de questions à choix multiples où chaque question a plusieurs réponses potentielles. Une seule des complétions est sensée ou logiquement cohérente, tandis que les autres sont plausibles mais incorrectes. Ces complétions sont conçues pour être difficiles pour les modèles d’IA, nécessitant non seulement une compréhension linguistique mais également un raisonnement de bon sens pour choisir la bonne option.

Voici un exemple:
Un plateau de pommes de terre est chargé dans le four et retiré. Un grand plateau de gâteau est retourné et placé sur le comptoir. un grand plateau de viande

A. est placé sur une pomme de terre au four

B. ls, et les cornichons sont placés au four

C. est préparé puis il est retiré du four par un assistant une fois terminé.

Un autre exemple est MMLU. MMLU propose des tâches qui couvrent plusieurs matières, notamment les sciences, la littérature, l'histoire, les sciences sociales, les mathématiques et des domaines professionnels comme le droit et la médecine. Cette diversité de matières vise à imiter l'étendue des connaissances et de la compréhension requises par les apprenants humains, ce qui en fait un bon test de la capacité d'un modèle à gérer les défis multiformes de compréhension du langage.

Voici quelques exemples : pouvez-vous les résoudre ?

Pour lequel des processus thermodynamiques suivants l'augmentation de l'énergie interne d'un gaz parfait est-elle égale à la chaleur ajoutée au gaz ?

A. Température constante

B. Volume constant

C. Pression constante

D. Adiabatique

Image de l'auteur

Le classement Hugging Face est peut-être l'endroit le plus connu pour obtenir de telles évaluations de modèles. Le classement suit les grands modèles de langage open source et assure le suivi de nombreuses mesures d'évaluation des modèles. C'est généralement un excellent point de départ pour commencer à comprendre la différence entre les LLM open source en termes de performances sur une variété de tâches.

Les modèles multimodaux nécessitent encore plus d’évaluations. L'article de Gemini démontre que la multimodalité introduit une foule d'autres critères comme VQAv2, qui teste la capacité à comprendre et à intégrer des informations visuelles. Ces informations vont au-delà de la simple reconnaissance d'objets pour interpréter les actions et les relations entre eux.

De même, il existe des mesures pour les informations audio et vidéo et la manière de les intégrer entre les modalités.

Le but de ces tests est de différencier deux modèles ou deux instantanés différents d'un même modèle. Choisir un modèle pour votre application est important, mais c'est quelque chose que vous faites une fois ou tout au plus très rarement.

Image de l'auteur

Le problème le plus fréquent est celui résolu par les évaluations de tâches. Le but des évaluations basées sur les tâches est d'analyser les performances du modèle en utilisant LLM comme juge.

  • Votre système de récupération a-t-il récupéré les bonnes données ?
  • Y a-t-il des hallucinations dans vos réponses ?
  • Le système a-t-il répondu aux questions importantes avec des réponses pertinentes ?

Certains peuvent se sentir un peu incertains quant au fait qu'un LLM évalue d'autres LLM, mais nous avons tout le temps des humains qui évaluent d'autres humains.

La véritable distinction entre les évaluations de modèle et les évaluations de tâches est que pour une évaluation de modèle, nous posons de nombreuses questions différentes, mais pour une évaluation de tâche, la question reste la même et ce sont les données que nous modifions. Par exemple, disons que vous exploitez un chatbot. Vous pouvez utiliser votre évaluation de tâches sur des centaines d'interactions clients et lui demander : «Y a-t-il une hallucination ici ? La question reste la même dans toutes les conversations.

Image de l'auteur

Il existe plusieurs bibliothèques destinées à aider les praticiens à construire ces évaluations : Ragas, Phoenix (divulgation complète : l'auteur dirige l'équipe qui a développé Phoenix), OpenAI, LlamaIndex.

Comment travaillent-ils?

L'évaluation de la tâche évalue les performances de chaque sortie de l'application dans son ensemble. Regardons ce qu'il faut pour en créer un.

Établir un référentiel

La fondation repose sur l’établissement d’une référence solide. Cela commence par la création d'un ensemble de données dorées qui reflète avec précision les scénarios auxquels le LLM sera confronté. Cet ensemble de données devrait inclure des étiquettes de vérité terrain – souvent dérivées d’un examen humain méticuleux – pour servir de norme de comparaison. Ne vous inquiétez pas, vous pouvez généralement vous en sortir avec des dizaines, voire des centaines d'exemples ici. La sélection du bon LLM pour l’évaluation est également essentielle. Bien qu'il puisse différer du LLM principal de l'application, il doit s'aligner sur les objectifs de rentabilité et de précision.

Élaboration du modèle d'évaluation

Le cœur du processus d’évaluation des tâches est le modèle d’évaluation. Ce modèle doit définir clairement l'entrée (par exemple, les requêtes et les documents des utilisateurs), la question d'évaluation (par exemple, la pertinence du document par rapport à la requête) et les formats de sortie attendus (pertinence binaire ou multi-classes). Des ajustements au modèle peuvent être nécessaires pour capturer les nuances spécifiques à votre application, garantissant ainsi qu'elle puisse évaluer avec précision les performances du LLM par rapport à l'ensemble de données de référence.

Voici un exemple de modèle pour évaluer une tâche de questions-réponses.

You are given a question, an answer and reference text. You must determine whether the given answer correctly answers the question based on the reference text. Here is the data:
[BEGIN DATA]
************
[QUESTION]: {input}
************
[REFERENCE]: {reference}
************
[ANSWER]: {output}
[END DATA]
Your response should be a single word, either "correct" or "incorrect", and should not contain any text or characters aside from that word.
"correct" means that the question is correctly and fully answered by the answer.
"incorrect" means that the question is not correctly or only partially answered by the answer.

Métriques et itération

L'exécution de l'évaluation sur votre ensemble de données d'or vous permet de générer des mesures clés telles que l'exactitude, la précision, le rappel et le score F1. Ceux-ci donnent un aperçu de l’efficacité du modèle d’évaluation et mettent en évidence les domaines à améliorer. L'itération est cruciale ; L'affinement du modèle en fonction de ces métriques garantit que le processus d'évaluation reste aligné sur les objectifs de l'application sans surajustement à l'ensemble de données d'or.

Dans l’évaluation des tâches, il ne suffit pas de se fier uniquement à la précision globale, car on s’attend toujours à un déséquilibre de classe important. La précision et le rappel offrent une vision plus robuste des performances du LLM, soulignant l'importance d'identifier avec précision les résultats pertinents et non pertinents. Une approche équilibrée des mesures garantit que les évaluations contribuent de manière significative à l'amélioration de l'application LLM.

Application des évaluations LLM

Une fois qu'un cadre d'évaluation est en place, l'étape suivante consiste à appliquer ces évaluations directement à votre candidature LLM. Cela implique l'intégration du processus d'évaluation dans le flux de travail de l'application, permettant une évaluation en temps réel des réponses du LLM aux entrées de l'utilisateur. Cette boucle de rétroaction continue est inestimable pour maintenir et améliorer la pertinence et la précision de l'application au fil du temps.

Évaluation tout au long du cycle de vie du système

Les évaluations de tâches efficaces ne se limitent pas à une seule étape mais font partie intégrante tout au long du cycle de vie du système LLM. De l'analyse comparative et des tests de pré-production aux évaluations continues des performances en production, l'évaluation LLM garantit que le système reste réactif aux besoins des utilisateurs.

Exemple : le modèle hallucine-t-il ?

Examinons plus en détail un exemple d'hallucination.

Exemple par auteur

Étant donné que les hallucinations constituent un problème courant pour la plupart des praticiens, certains ensembles de données de référence sont disponibles. Il s’agit d’une première étape intéressante, mais vous aurez souvent besoin d’un ensemble de données personnalisé au sein de votre entreprise.

La prochaine étape importante consiste à développer le modèle d’invite. Là encore, une bonne bibliothèque peut vous aider à démarrer. Nous avons vu un exemple de modèle d'invite plus tôt, nous en voyons ici un autre spécifiquement pour les hallucinations. Vous devrez peut-être le modifier en fonction de vos besoins.

In this task, you will be presented with a query, a reference text and an answer. The answer is
generated to the question based on the reference text. The answer may contain false information, you
must use the reference text to determine if the answer to the question contains false information,
if the answer is a hallucination of facts. Your objective is to determine whether the reference text
contains factual information and is not a hallucination. A 'hallucination' in this context refers to
an answer that is not based on the reference text or assumes information that is not available in
the reference text. Your response should be a single word: either "factual" or "hallucinated", and
it should not include any other text or characters. "hallucinated" indicates that the answer
provides factually inaccurate information to the query based on the reference text. "factual"
indicates that the answer to the question is correct relative to the reference text, and does not
contain made up information. Please read the query and reference text carefully before determining
your response.

[BEGIN DATA]
************
[Query]: {input}
************
[Reference text]: {reference}
************
[Answer]: {output}
************
[END DATA]

Is the answer above factual or hallucinated based on the query and reference text?

Your response should be a single word: either "factual" or "hallucinated", and it should not include any other text or characters.
"hallucinated" indicates that the answer provides factually inaccurate information to the query based on the reference text.
"factual" indicates that the answer to the question is correct relative to the reference text, and does not contain made up information.
Please read the query and reference text carefully before determining your response.

Vous êtes maintenant prêt à donner à votre LLM d'évaluation les requêtes de votre ensemble de données d'or et à lui demander d'étiqueter les hallucinations. Lorsque vous regardez les résultats, rappelez-vous qu’il devrait y avoir un déséquilibre entre les classes. Vous souhaitez suivre la précision et le rappel plutôt que la précision globale.

Il est très utile de construire une matrice de confusion et de la tracer visuellement. Lorsque vous disposez d'une telle intrigue, vous pouvez être rassuré sur les performances de votre LLM. Si les performances ne vous satisfont pas, vous pouvez toujours optimiser le modèle d'invite.

Exemple d'évaluation des performances de la tâche d'évaluation afin que les utilisateurs puissent renforcer leur confiance dans leurs évaluations

Une fois l’évaluation créée, vous disposez désormais d’un outil puissant capable d’étiqueter toutes vos données avec une précision et un rappel connus. Vous pouvez l'utiliser pour suivre les hallucinations dans votre système pendant les phases de développement et de production.

Résumons les différences entre les évaluations de tâches et de modèles.

Tableau par auteur

En fin de compte, les évaluations de modèles et les évaluations de tâches sont importantes pour mettre en place un système LLM fonctionnel. Il est important de comprendre quand et comment appliquer chacun d’eux. Pour la plupart des praticiens, la majorité de leur temps sera consacrée aux évaluations de tâches, qui fournissent une mesure des performances du système sur une tâche spécifique.

About the author

smirow

Leave a Comment