Compte-rendu du deuxième atelier "Connaître et évaluer les systèmes d'automatisation complexes pour les revues", intitulé "Evaluer les abstracts générés par LLM avec ChainForge" présenté par Gauransh Kumar
Évaluation des résumés écrits par des LLM avec ChainForge
Vidéo de l’atelier : https://nakala.fr/10.34847/nkl.1fb6vmgi
Introduction
Gauransh Kumar (https://gauransh.dev/) est doctorant en informatique à l’Université de Montréal. Il travaille avec Ian Arawjo, qui a initialement développé ChainForge.
Cet atelier vise à nous aider à comprendre comment utiliser les LLM de manière plus efficace.
Quelques définitions d’abord :
Prompts : les instructions fournies en entrée au LLM.
Ingénierie des prompts (Prompt engineering) : l’optimisation des prompts.
Flux de travail de l’ingénierie des prompts :
- Template : chaînes de caractères contenant des variables que nous pouvons remplir.
- Données d’entrée : à des fins de test.
- Analyse des sorties.
ChainForge = interface utilisateur pour l’ingénierie des prompts, créée par Ian Arawjo en 2023 : https://chainforge.ai/play/
Architecture :
4 nœuds :
- nœud de prompt
- commandes et injections de prompts
- modèles LLMs
- évaluation et analyse
Démonstration
Objectif : créer un résumé pour un article et évaluer les résumés via la Génération Augmentée par Récupération (Retrieval Augmented Generation - RAG).
RAG : des parties de documents sources injectées dans le prompt. C’est-à-dire ajout de contexte.
La 1re table contient 3 articles parmi les 10 premiers en sciences humaines et sociales (SHS).
RAGForge, en cours de développement, fera bientôt partie de ChainForge : il permet le téléchargement des documents sources.
Chunking : segmentation des documents sources, ici effectuée avec un modèle d’Hugging Face pour la tokenisation sémantique.
Requête (Query) : l’instruction pour la partie de récupération du flux de travail, par exemple : « quelle est la signification de... ».
Nœud de récupération (Retrieval node) : recherche des mots dans les instructions qui apparaissent dans les chunks (BM25) ou récupération dense avec des vecteurs : cela donne les 5 chunks les plus pertinents.
Nœud de prompt : l’instruction globale au LLM : ex: « Vous êtes un évaluateur expérimenté, rédigez l’abstract de l’article suivant ».
ChainForge permet de voir ce qui sera envoyé avant de réellement l’envoyer, ce qui est utile lorsque l’on considère le facteur combinatoire de chaque nœud (3 prompts x 3 articles x 3 modèles x 2 méthodes de récupération, etc.).
Nœud de modèles : sélection de plusieurs modèles. NB : les clés API des modèles peuvent être ajoutées dans les paramètres.
Analyse des sorties : nous pouvons examiner tous les résumés générés pour une inspection qualitative. Cependant, cela devient difficile si le nombre de sorties est important, nous nous intéressons donc à l’automatisation de l’évaluation en utilisant des LLM comme juges (LLM-as-judge).
Nœud d’évaluateur LLM :
*LLM comme juge** : un LLM invité à évaluer selon plusieurs critères, ou dans ce cas, à noter le résumé par rapport au résumé de référence (ground truth).
*LLM comme juge sur des éléments quantitatifs** : comptage des mots.
* Le type de sortie attendue peut être défini comme numérique, binaire, etc.
LLM comme juge : controverse entourant leur utilisation, car les LLM peuvent être biaisés.
Discussion
Alexia Schneider : pourquoi utiliser le RAG pour le prompt et non pas simplement soumettre l’intégralité du texte ?
Gauransh Kumar : pour éviter les hallucinations liées aux prompts plus longs.
Alexia Schneider : le problème avec le RAG est qu’il rend le flux de travail moins fiable. Une voie pour cette tâche spécifique pourrait être de sélectionner des parties clés du texte pour le prompt à partir de la structure de l’article (par exemple, introduction, conclusion, résultats, etc.).
Gauransh Kumar : le RAG est un outil supplémentaire qui peut être utilisé si nécessaire. Mais les LLM s’améliorent et deviennent de plus en plus capables de donner de bonnes réponses à des prompts plus longs. Il est tout à fait possible de s’appuyer sur la structure du document source, auquel cas les méthodes de récupération (BM25 et vectorisation) ne sont pas nécessaires.
Yves Terrat : peut-on revenir en arrière et ajuster le prompt rétroactivement ?
Gauransh Kumar : il est possible d’ajouter de nouveaux prompts, auquel cas seuls les nouveaux prompts seront chargés.
Markus Reisenleitner : les réponses fournies dans la démo sont des résumés, pas des résumés structurés (abstracts). En sciences humaines, les résumés font partie de l’article et sont rédigés par l’auteur. Il pourrait être intéressant d’utiliser ces résumés générés pour offrir différentes perspectives sur ce que le résumé devrait dire, en contraste avec ceux fournis par l’auteur.
Gauransh Kumar : les résumés d’article sont en effet très structurés. Si la structure exacte peut être décrite, alors le LLM peut le faire. Le résumé reste le premier point d’entrée de l’article. Les textes générés ne doivent pas être pris au pied de la lettre.
Marcello Vitali-Rosati : d’accord avec la distinction entre résumés et abstracts. Pour Alexia : nous pourrions imaginer des flux de travail pour aider les auteur.ices à produire des résumés. Peut-être pouvons-nous fournir une série de prompts, identifiant de nombreuses façons et structures pour produire des résumés (par exemple, l’un pourrait être « sélectionnez les parties les plus importantes du texte... ») ; et ensuite l’outil pourrait fournir différents résumés, ce qui pourrait aider à évaluer le plus approprié. Peut-être ajouter certaines fonctionnalités à Stylo.
Alexia Schneider : oui, nous pouvons travailler là-dessus. Il y a un intérêt convergent pour un public plus large : des auteur.ices aux éditeur.ices et aux évaluateur.ices des outils et fonctionnalités d’assistance pourraient être pertinents.
Gauransh Kumar : outil de dépouillement automatique développé précédemment -> les LLM sont bons pour supprimer le bruit. https://www.researchgate.net/publication/391912321_AutoRev_Automatic_Peer_Review_System_for_Academic_Research_Papers
Davin Baragiotta : y a-t-il un moyen d’exporter le flux de travail afin de gagner un peu d’indépendance par rapport à l’outil ?
Gauransh Kumar : nous pouvons exporter le flux de travail depuis l’outil, mais l’export est destiné à être réimporté dans l’outil et ne peut pas être utilisé de manière indépendante. Cependant, nous pouvons exporter les réponses (format CSV) et les graphiques séparément.
Markus Reisenleitner : « supprimer le bruit » frôle le travail éditorial. Je tracerais la ligne ici et serais prudent quant à la responsabilité que nous confions au LLM. Afin de ne pas normaliser le processus.
Gauransh Kumar : la décision doit dépendre des humains. ChainForge fonctionne mieux comme un assistant pour les décisions humaines.
Alexia Schneider : ChainForge est également utile pour réfléchir à la tâche que nous demandons à l’outil de faire. Alors que nous évaluons les performances de l’outil, nous réfléchissons à la tâche elle-même, structurant le prompt et les critères d’évaluation.
Gauransh Kumar : cela vous aide à déterminer si la tâche est réalisable et si l’automatisation en vaut vraiment la peine et réduit le temps de travail.
Marcello Vitali-Rosati : l’économie et la façon dont nous présentons les flux de travail sont centrales : ChainForge est intéressant car il nous force à réfléchir au flux de travail complexe et à la manière dont il doit correspondre à vos attentes concernant la sortie. Cela va à l’encontre de l’interaction attendue avec les outils d’IA qui nous présentent des réponses toutes faites. Ce serait vraiment bien de concevoir quelques flux de travail types pour les revues.
Yves Terrat : en tant qu’expert en prompts : remarquez-vous que les modèles sont de moins en moins sensibles aux prompts ?
Gauransh Kumar : l’automatisation de l’optimisation des prompts semble être la prochaine étape logique dans le contexte actuel.
Yves Terrat : l’optimisation des prompts est une tâche écrasante et doit être adaptée à chaque modèle.
Gauransh Kumar : l’objectif de ma thèse est d’automatiser l’optimisation des prompts. Il a développé un outil de dépouillement automatique.
Alexia Schneider : pouvez-vous nous en dire plus sur l’outil de dépouillement automatique ?
Gauransh Kumar : l’outil sortira cet été -> le LLM est bon pour exclure le bruit dans les revues systématiques -> méthodologie : 36 prompts (few-shots, CoT) optimisés en 2, sur 50 ensembles de données. Cela repose sur une méthodologie de préfiltrage : à partir d’une question de recherche ou d’un domaine, l’algorithme filtre un grand corpus (titre + résumé des publications scientifiques).