Comment utiliser l'outil de benchmark pour LLM d'Amazon Bedrock ?

Comment utiliser l'outil de benchmark pour LLM d'Amazon Bedrock ? AWS propose via son service Gen AI Bedrock un outil pour tester les performances de LLM sur des cas d'usage personnalisés.

C'est probablement le meilleur moyen de choisir un LLM adapté à son cas d'usage : le benchmarking personnalisé se démocratise à mesure que les LLM fleurissent sur le marché. Une méthode à privilégier pour choisir un modèle adapté à son cas d'usage reste le benchmarking personnalisé même si les benchmarks classiques (MMLU, GPQA, MATH…) donnent un premier aperçu des performances des modèles sur des champs d'application définis. Comparaison des performances, duel, annotation manuelle des résultats… Il existe une multitude de tests personnalisés. Pour optimiser cette phase, Amazon Bedrock, le service Gen AI d'AWS, propose un outil de benchmark spécialement conçu pour automatiser ou semi-automatiser le process et éviter de longues heures d'itération à la main. Explications.

Trois évaluations différentes proposées

Accuracy, robustesse, toxicité… L'outil d'Amazon permet d'identifier les points forts et les faiblesses des LLM sur une grande variété de métriques, le tout dans une interface simple et fonctionnelle. Conformément à ce qu'Atul Deo, directeur général d'Amazon Bedrock, nous avait annoncé, l'outil est disponible en Europe depuis avril 2024. Petit bémol : en juin 2024, les régions européennes d'AWS ne disposent pas de l'ensemble des fonctionnalités de benchmark. En France, depuis Paris (région AWS eu-west-3), seul le testing automatisé est disponible. En Irlande (région AWS eu-west-1) et en Allemagne depuis Francfort (région AWS eu-central-1), seuls les testing automatisé et humain sont disponibles. Pour disposer des trois fonctions de testing, il sera nécessaire d'utiliser AWS depuis la Virginie du Nord (région AWS us-east-1, la région AWS phare). A noter qu'il est tout à fait possible de benchmarker les modèles depuis la Virginie et de procéder au déploiement dans les régions Europe.

Dans la version complète (en Virginie du Nord donc), trois types de testing sont proposés : un testing automatisé, un testing humain par votre équipe et enfin un testing humain par les équipes d'AWS. Principal moyen de benchmarker son LLM, la version automatisée permet d'évaluer le modèle sur des métriques recommandées ou personnalisées. Le testing humain permet à vos équipes d'évaluer jusqu'à deux LLM en même temps. Les collaborateurs fournissent des commentaires sur la meilleure réponse, en fonction des KPI définis préalablement. Sur le même principe, le benchmarking humain par AWS permet d'évaluer les performances de votre modèle sur des cas d'usage et métriques définis. Des collaborateurs désignés par Amazon se chargeront des tests.

Une image contenant texte, Police, nombre, ligneDescription générée automatiquement

Le benchmarking automatisé

Le benchmark automatisé est l'option la plus populaire et la plus rapide à mettre en place. L'outil est simple et permet de lancer rapidement le testing. Commencez par donner un nom à votre benchmark, une description et choisissez le modèle à tester. Amazon Bedrock propose 30 modèles fondations issus de Mistral, Anthropic, Stability, Meta, Cohere, AI21 Labs et de ses propres laboratoires. Pour le moment, quatre tâches sont proposées : génération de texte général, Résumé de texte, question et réponse et classification de texte. Toutes les tâches, à l'exception de la classification de texte, permettent de mesurer les performances d'accuracy (correspondance entre le résultat généré et le résultat attendu), de robustesse (évaluation de la fiabilité cohérence sémantique des réponses) et de toxicité du modèle (émulation de la propension du modèle à générer des réponses nuisibles). Des métriques clés pour axer sa stratégie de déploiement.

Pour chaque métrique, il est possible d'utiliser les données fournies par AWS ou ses propres données (conseillé pour un benchmark personnalisé). Le jeu de données personnalisé doit être uploadé préalablement dans un compartiment AWS S3. 

Une image contenant texte, capture d’écran, nombre, PoliceDescription générée automatiquement
L'interface de benchmarking automatisée d'AWS. © Capture d'écran AWS

Une fois les métriques configurées, il est nécessaire d'indiquer l'emplacement du rapport de benchmark généré par l'outil dans votre S3. Une fois la configuration terminée, le testing débute.

Le benchmarking humain par vos collaborateurs

La seconde option permet de faire tester directement par vos collaborateurs la pertinence des réponses d'un ou deux LLM. Le principe est similaire. On retrouve les principales tâches : génération de texte, résumé de texte, question réponse et classification de texte.

Une image contenant texte, capture d’écran, Police, nombreDescription générée automatiquement
Les différents types de tâches benchmarkables. © Capture d'écran AWS

Plus intéressant, il est possible dans ce mode de créer une tâche personnalisée avec indicateurs personnalisés à évaluer. Pratique si votre cas d'usage est peu courant. Le mode offre également par défaut des métriques beaucoup plus vastes :

  • Fluidité (qualité linguistique du texte généré)
  • Cohérence du texte généré (structure du texte)
  • Toxicité
  • Accuracy globale (précision globale de la réponse)
  • Cohérence factuelle (mesure de la cohérence des faits présentés)
  • Pertinence (mesure de la pertinence des informations générées)
  • Accuracy en contexte (mesure de la satisfaction de la réponse au prompt)
  • Intégralité (mesure de la présence de l'ensemble des informations utiles)

Une description personnalisée pour expliciter aux testeurs la nature exacte de la métrique est proposée. Enfin, il est possible de configurer le type de notation : notation sur cinq ou notation binaire avec des pouces (pouce vers le haut ou vers le bas), comme pour du RLHF. Pour une comparaison entre deux modèles, il est possible de noter les réponses de chaque modèle sur cinq, de choisir uniquement la meilleure réponse ou de classer les réponses.

Pour utiliser le benchmarking humain, il sera obligatoire de fournir votre propre jeu de données de prompt depuis AWS S3 dans la région concernée. Le jeu de donnée devra être au format JSON. Exemple d'un prompt au bon format :

{"prompt":"Provide the prompt you want the model to use during inference","category":"(Optional) Specify an optional category","referenceResponse":"(Optional) Specify a ground truth response."}

Une image contenant texte, capture d’écran, Police, nombreDescription générée automatiquement
Les métriques du benchmark semi-automatisé. © Capture d'écran AWS

Vient ensuite la création d'une équipe de travail. AWS demande ici de définir une équipe existante depuis votre compte AWS ou d'en créer une nouvelle. L'outil vous demandera alors une flopée d'informations sur votre équipe y compris les adresses mails de vos collaborateurs pour envoyer les tests par la suite. Il est possible de régler le nombre de travailleurs par prompt (par défaut 1).

Une fois la gestion RH terminée, AWS vous propose un premier brouillon avec les consignes à adresser à vos collaborateurs. Après avoir édité le fichier, il ne reste plus qu'à lancer le testing et attendre les résultats.

L'outil de benchmarking propose en région Virginie de se faire aider d'une équipe de professionnels d'AWS pour benchmarker spécialement des modèles sur vos cas d'usage. Cette méthode n'est pas accessible directement dans Bedrock. Il sera nécessaire de planifier au préalable une consultation avec un expert AWS, depuis le formulaire de contact.

Automatisé, humain ou avec AWS : quel benchmark choisir ?

Le choix entre un benchmark automatisé, humain ou avec l'aide des équipes AWS dépendra grandement de la complexité de votre cas d'usage. Pour la majorité des déploiements de gen AI en entreprise, comme la mise en place d'un copilote d'entreprise, le benchmark automatisé devrait suffire pour choisir le modèle le plus adapté. Cependant, pour des cas d'usage plus poussés, complexes ou sollicitant fortement le modèle, le benchmark humain réalisé par vos propres collaborateurs sera plus approprié. Il permettra d'évaluer finement la pertinence des réponses générées sur votre cas d'usage spécifique. Enfin, si malgré ces deux méthodes vous n'arrivez pas à départager les modèles testés, il sera alors utile de faire appel à l'expertise des équipes d'AWS pour un benchmark personnalisé. Cette dernière option, bien que nécessitant plus de temps et de ressources, vous garantira de choisir le modèle le plus performant pour votre projet. 

Amazon Bedrock propose une tarification à l'usage pour l'évaluation des modèles, sans engagement sur les volumes. Avec le benchmark automatisé, seule l'inférence du modèle choisi vous sera facturée. Les scores algorithmiques sont eux gratuits. Si vous optez pour une évaluation humaine avec votre propre équipe, chaque tâche d'évaluation vous coûtera 0,21 USD, peu importe le nombre de modèles testés (un ou deux) et les métriques choisies. Enfin, si vous choisissez l'évaluation par un expert AWS, un devis personnalisé sera établi en fonction de vos besoins spécifiques. Amazon ne communique pas publiquement le tarif moyen de l'offre.