Publié le 30 octobre 2024
La création de fonctionnalités avec de grands modèles de langage (LLM) est très différente de l'ingénierie logicielle classique. Les développeurs doivent apprendre l'ingénierie des requêtes pour gérer les résultats non déterministes, l'entrée de prétraitement et les résultats de post-traitement.
L'un des défis que vous nous avez partagés est que le test des résultats des LLM, la détermination de leur validité et de leur qualité est long. Les développeurs ont souvent recours à la génération par lot de la sortie à l'aide de différentes entrées, puis à leur validation manuelle à l'aide d'un jugement humain.
La technique du LLM en tant que juge est une approche plus évolutive pour évaluer les résultats de différents modèles et requêtes. Avec cette technique, au lieu de s'appuyer sur un jugement humain, la validation du modèle est déléguée à un autre LLM. Le deuxième LLM doit être un LLM plus volumineux, basé sur le cloud, qui est susceptible de disposer de meilleures capacités de raisonnement.
Dans ce document, nous utilisons la récapitulation pour montrer comment vous pouvez comparer différents modèles et, en prime, montrer l'amélioration de la qualité de Gemma à Gemma 2.
Choisir des modèles à comparer et préparer les données
Nous avons évalué les capacités de synthèse de trois modèles. Nous avons comparé les résultats de deux des modèles ouverts de Google pouvant s'exécuter côté client, Gemma et Gemma 2, tous deux de 2 milliards de paramètres. À titre de comparaison, nous avons également évalué un modèle cloud plus volumineux et plus performant : Gemini 1.5 Flash.
Nous avons utilisé un ensemble de données de 2 225 articles de la BBC, qui couvrent des domaines tels que l'économie, le divertissement, la politique, le sport et la technologie. Nous avons généré un résumé de chaque article, à l'aide de chacun des modèles sélectionnés. La même requête a été utilisée pour tous les modèles:
Résume l'article en un paragraphe.
Nous avons stocké les articles d'origine et généré des résumés dans une base de données afin qu'ils soient facilement accessibles à chaque étape.
Sélectionnez un juge pour analyser et noter les résumés
Pour analyser la qualité des résumés, nous avons utilisé Gemini 1.5 Flash pour évaluer les résumés créés par Gemma 2 et Gemma 2B. Notre approche spécifique est basée sur l'alignement, qui fait partie de la métrique de résumé de DeepEval.
L'alignement est une métrique qui mesure la fréquence à laquelle les affirmations incluses dans un résumé sont étayées dans le contenu d'origine sur lequel le résumé est basé.
Nous avons divisé le processus d'évaluation en deux étapes. Tout d'abord, nous avons demandé au modèle de diviser chaque résumé en déclarations distinctes. Nous avons ensuite demandé au modèle de déterminer si chaque affirmation est étayée par le texte de l'article d'origine.
Extraire une déclaration à partir de résumés
Nous avons demandé à Gemini 1.5 Flash de scinder les textes longs en instructions distinctes. Exemple :
Le défenseur d'Everton David Weir a minimisé les discussions sur le football européen, bien que son équipe se trouve à la deuxième place de la Premier League après avoir battu Liverpool.
Gemini 1.5 Flash a divisé cette phrase en énoncés :
- "David Weir joue au poste de défenseur pour Everton."
- "Everton est actuellement deuxième de la Premier League."
- "Everton a battu Liverpool lors d'un match récent."
- "David Weir a minimisé les discussions à propos d'Everton au football européen."
Valider les instructions
Nous avons ensuite demandé à Gemini 1.5 Flash d'analyser la phrase d'origine par rapport aux phrases fractionnées. Le modèle a classé la validité de chaque instruction comme suit :
- Oui : l'affirmation est étayée par le texte d'origine.
- Non. L'énoncé contredit le texte d'origine.
- Idk. Il est impossible de vérifier si l'affirmation est étayée ou si elle contredit le texte d'origine.
Analyse des résultats
Ce processus a abouti à la création de deux métriques permettant de comparer les modèles:
- Alignement : fréquence à laquelle le modèle a produit des résumés contenant des déclarations étayées par le texte d'origine.
- Richesse: nombre moyen d'instructions contenues dans un résumé généré par le modèle.
Alignement
Nous avons calculé l'alignement en comptant le nombre de résumés comportant au moins une déclaration marquée comme "Non", puis en le divisant par le nombre total de résumés.
Le modèle Flash de Gemini 1.5 a les scores d'alignement les plus élevés, avec plus de 92%. Cela signifie qu'elle est très douée pour s'en tenir aux faits et éviter de s'inventer des choses.
Gemma 2 2B obtient un score respectable de 78,64 %, ce qui indique un bon niveau de précision. En revanche, la version précédente de Gemma 2B a un score d'alignement inférieur, ce qui signifie qu'elle est plus susceptible d'inclure des informations non étayées par le texte d'origine.
Richesse
Nous avons calculé la richesse du modèle en calculant la moyenne du nombre d'énoncés générés par le modèle pour chaque résumé.
Gemma 2 2B a le score de richesse le plus élevé, avec 9,1, ce qui indique que ses résumés incluent plus de détails et de points clés. Le modèle Flash Gemini 1.5 affiche également des scores de richesse élevés, supérieurs à 8,4. Gemma 2B a obtenu des scores de richesse plus faibles, ce qui indique qu'il ne capture peut-être pas autant d'informations importantes que le texte d'origine.
Conclusion
Nous avons déterminé que les modèles plus petits capables d'exécuter côté client, tels que Gemma 2 2B, peuvent générer des résultats de grande qualité. Bien que les modèles cloud, tels que Gemini 1.5 Flash, excellent à produire des résumés alignés sur l'article d'origine, en regroupant une quantité considérable d'informations, la différence doit être prise en compte avec les performances de l'application, les besoins en confidentialité et en sécurité, et d'autres questions que vous pouvez vous poser pour déterminer si vous devez créer une IA côté client.
Les capacités de la famille de modèles Gemma évoluent clairement, car Gemma 2 2B est capable de générer des résumés plus riches et plus alignés que Gemma 2B.
Évaluer vos cas d'utilisation
Ce document n'a fait qu'effleurer les possibilités offertes par le LLM en tant que technique d'évaluation. Même avec la synthèse, vous pouvez examiner davantage de métriques, et les résultats peuvent varier. Par exemple, vous pouvez évaluer la couverture en utilisant une requête pour identifier les points clés d'un article, puis utiliser une autre invite pour vérifier si ces points clés sont couverts par chaque résumé.
D'autres cas d'utilisation, tels que l'écriture de texte, la réécriture de texte ou la génération augmentée de récupération (RAG) peuvent générer des résultats différents pour les mêmes métriques ou doivent utiliser d'autres métriques pour l'évaluation.
Lors de la mise en œuvre de cette approche, réfléchissez à la façon dont un humain évaluerait le résultat pour déterminer les métriques les mieux adaptées à vos cas d'utilisation. Il est également intéressant d'examiner les frameworks existants, comme DeepEval, qui peuvent déjà disposer d'un ensemble de métriques adaptées à votre cas d'utilisation.
Avez-vous implémenté un LLM comme juge pour évaluer des modèles ? Envoyez-nous vos résultats sur Twitter à l'adresse @ChromiumDev ou partagez-les avec Chrome pour les développeurs sur LinkedIn.