Optimisation des modèles Amazon Nova

Dans le paysage technologique actuel en évolution rapide, les grands modèles linguistiques (LLM) sont devenus de puissants outils pour le traitement du langage naturel. Cependant, leur dépendance à des données d’entraînement statiques limite leur capacité à s’adapter aux scénarios du monde réel. Alors que les industries exigent de plus en plus des solutions d’IA capables de prendre des décisions éclairées, l’intégration d’outils et d’API externes est devenue primordiale. La précision avec laquelle ces outils sont utilisés est cruciale pour améliorer les capacités de prise de décision et l’efficacité opérationnelle des agents autonomes, ouvrant ainsi la voie au développement de flux de travail agentiques sophistiqués.

Cet article se penche sur les aspects techniques de l’appel d’outils à l’aide des modèles Amazon Nova via Amazon Bedrock. De plus, il explore diverses méthodes de personnalisation de ces modèles pour obtenir une plus grande précision dans l’utilisation des outils.

Développement des capacités des LLM avec l’utilisation d’outils

Les LLM ont démontré une compétence remarquable dans un large éventail de tâches de langage naturel. Cependant, leur véritable potentiel est débloqué grâce à une intégration transparente avec des outils externes tels que les API et les cadres de calcul. Ces outils permettent aux LLM d’accéder à des données en temps réel, d’effectuer des calculs spécifiques à un domaine et de récupérer des informations précises, améliorant ainsi leur fiabilité et leur polyvalence.

Considérez l’intégration d’une API météo, qui permet aux LLM de fournir des prévisions météorologiques précises et à jour. De même, une API Wikipédia peut permettre aux LLM d’accéder à un vaste référentiel d’informations, leur permettant de répondre à des requêtes complexes avec une plus grande précision. Dans les contextes scientifiques, des outils tels que les calculatrices et les moteurs symboliques peuvent aider les LLM à surmonter les inexactitudes numériques, ce qui les rend plus fiables pour les calculs complexes.

En s’intégrant de manière transparente à ces outils, les LLM évoluent vers des systèmes robustes, conscients du domaine, capables de gérer des tâches dynamiques et spécialisées avec une utilité réelle.

Modèles Amazon Nova et Amazon Bedrock

Les modèles Amazon Nova, présentés lors de l’AWS re:Invent en décembre 2024, sont conçus pour offrir un rapport prix/performances exceptionnel. Ces modèles offrent des performances de pointe sur des benchmarks clés de compréhension de texte tout en conservant une rentabilité. La série comprend trois variantes :

  • Micro : Un modèle texte uniquement optimisé pour une utilisation en périphérie, offrant des performances ultra-efficaces.
  • Lite : Un modèle multimodal qui établit un équilibre entre polyvalence et performances.
  • Pro : Un modèle multimodal hautes performances conçu pour s’attaquer à des tâches complexes.

Les modèles Amazon Nova peuvent être utilisés pour un large éventail de tâches, y compris la génération et le développement de flux de travail agentiques. Ces modèles possèdent la capacité d’interagir avec des outils ou des services externes via un processus appelé appel d’outils. Cette fonctionnalité est accessible via la console Amazon Bedrock et les API telles que Converse et Invoke.

En plus d’utiliser les modèles pré-entraînés, les développeurs ont la possibilité d’affiner ces modèles avec des données multimodales (Pro et Lite) ou des données textuelles (Pro, Lite et Micro). Cette flexibilité permet aux développeurs d’atteindre les niveaux souhaités de précision, de latence et de rentabilité. De plus, les développeurs peuvent tirer parti de la console Amazon Bedrock et des API pour effectuer un affinage personnalisé en libre-service et une distillation de modèles plus grands en modèles plus petits.

Aperçu de la solution

La solution implique la préparation d’un ensemble de données personnalisé spécifiquement conçu pour l’utilisation des outils. Cet ensemble de données est ensuite utilisé pour évaluer les performances des modèles Amazon Nova via Amazon Bedrock, en utilisant les API Converse et Invoke. Par la suite, les modèles AmazonNova Micro et Amazon Nova Lite sont affinés à l’aide de l’ensemble de données préparé via Amazon Bedrock. Une fois le processus d’affinage terminé, ces modèles personnalisés sont évalués via le débit provisionné.

Outils

L’utilisation des outils dans les LLM englobe deux opérations essentielles : la sélection des outils et l’extraction ou la génération d’arguments. Par exemple, considérez un outil conçu pour récupérer des informations météorologiques pour un emplacement spécifique. Lorsqu’il est présenté avec une requête telle que « Quelle est la météo à Londres en ce moment ? », le LLM évalue ses outils disponibles pour déterminer s’il existe un outil approprié. Si un outil approprié est identifié, le modèle le sélectionne et extrait les arguments nécessaires – dans ce cas, « Londres » – pour construire l’appel d’outil.

Chaque outil est méticuleusement défini avec une spécification formelle qui décrit sa fonctionnalité prévue, ses arguments obligatoires et facultatifs et les types de données associés. Ces définitions précises, appelées config d’outil, garantissent que les appels d’outils sont exécutés correctement et que l’analyse des arguments s’aligne sur les exigences opérationnelles de l’outil. Conformément à cette exigence, l’ensemble de données utilisé dans cet exemple définit huit outils distincts, chacun avec ses propres arguments et configurations, tous structurés dans un format JSON. Les huit outils définis sont les suivants :

  • weather_api_call : Un outil personnalisé conçu pour récupérer des informations météorologiques.
  • stat_pull : Un outil personnalisé pour identifier les statistiques.
  • text_to_sql : Un outil personnalisé pour convertir du texte en requêtes SQL.
  • terminal : Un outil pour exécuter des scripts dans un environnement de terminal.
  • wikipedia : Un outil d’API Wikipédia pour effectuer des recherches dans les pages Wikipédia.
  • duckduckgo_results_json : Un outil de recherche sur Internet qui utilise DuckDuckGo pour effectuer des recherches.
  • youtube_search : Un outil de recherche d’API YouTube pour rechercher des listes de vidéos.
  • pubmed_search : Un outil de recherche PubMed pour rechercher des résumés PubMed.

Ensemble de données

L’ensemble de données utilisé dans cette solution est un ensemble de données d’appel d’outils synthétiques, créé avec l’aide d’un modèle de base (FM) d’Amazon Bedrock et ensuite validé et ajusté manuellement. Cet ensemble de données a été développé pour l’ensemble des huit outils précédemment discutés, dans le but de générer une collection diversifiée de questions et d’invocations d’outils qui permettent à un autre modèle d’apprendre de ces exemples et de se généraliser à des invocations d’outils invisibles.

Chaque entrée dans l’ensemble de données est structurée comme un objet JSON, contenant des paires clé-valeur qui définissent la question (une requête d’utilisateur en langage naturel pour le modèle), l’outil de vérité terrain requis pour répondre à la requête d’utilisateur, ses arguments (un dictionnaire contenant les paramètres requis pour exécuter l’outil) et des contraintes supplémentaires telles que order_matters : boolean, qui indique si l’ordre des arguments est critique, et arg_pattern : optional, une expression régulière (regex) pour la validation ou le formatage des arguments. Ces étiquettes de vérité terrain sont utilisées pour superviser l’entraînement des modèles Amazon Nova pré-entraînés, en les adaptant à l’utilisation des outils. Ce processus, connu sous le nom de fine-tuning supervisé, est exploré plus en détail dans les sections suivantes.

L’ensemble d’entraînement comprend 560 questions, tandis que l’ensemble de test contient 120 questions. L’ensemble de test est structuré pour inclure 15 questions par catégorie d’outil, totalisant 120 questions.

Préparation de l’ensemble de données pour Amazon Nova

Pour utiliser efficacement cet ensemble de données avec les modèles Amazon Nova, il est nécessaire de formater les données selon un modèle de conversation spécifique. L’appel d’outils natif intègre une couche de traduction qui formate les entrées dans le format approprié avant de les transmettre au modèle. Dans cette solution, une approche d’utilisation d’outils DIY est adoptée, en employant un modèle d’invite personnalisé. Plus précisément, l’invite système, le message utilisateur intégré à la config d’outil et les étiquettes de vérité terrain doivent être ajoutés en tant que message d’assistant.

Téléchargement de l’ensemble de données vers Amazon S3

Cette étape est essentielle pour permettre à Amazon Bedrock d’accéder aux données d’entraînement pendant le processus d’affinage. L’ensemble de données peut être téléchargé via la console Amazon Simple Storage Service (Amazon S3) ou par programmation.

Appel d’outils avec des modèles de base via l’API Amazon Bedrock

Avec l’ensemble de données d’utilisation des outils créé et formaté comme requis, il peut être utilisé pour tester les modèles Amazon Nova. Les API Converse et Invoke peuvent être utilisées pour l’utilisation des outils dans Amazon Bedrock. L’API Converse permet des conversations dynamiques et contextuelles, permettant aux modèles de s’engager dans des dialogues à plusieurs tours, tandis que l’API Invoke permet aux utilisateurs d’appeler et d’interagir avec les modèles sous-jacents dans Amazon Bedrock.

Pour utiliser l’API Converse, les messages, l’invite système (le cas échéant) et la config d’outil sont envoyés directement à l’API.

Pour analyser l’outil et les arguments de la réponse LLM, considérez la question : « Hé, quelle est la température à Paris en ce moment ? ». La sortie sera analysée pour identifier l’outil et les arguments nécessaires pour répondre à la question.

Affinage des modèles Amazon Nova pour une utilisation améliorée des outils

L’affinage est une étape cruciale pour adapter les modèles de langage pré-entraînés comme Amazon Nova à des tâches spécifiques. En entraînant le modèle sur un ensemble de données adapté à l’application souhaitée, le modèle peut apprendre à effectuer la tâche avec une plus grande précision et efficacité. Dans le contexte de l’utilisation des outils, l’affinage peut améliorer considérablement la capacité du modèle à sélectionner l’outil approprié et à extraire les arguments corrects.

Le processus d’affinage implique l’ajustement des paramètres internes du modèle pour minimiser la différence entre ses prédictions et les étiquettes de vérité terrain dans l’ensemble de données d’entraînement. Ceci est généralement réalisé par un processus itératif, où le modèle est exposé de manière répétée aux données d’entraînement et ses paramètres sont ajustés en fonction des erreurs observées.

Préparation de l’ensemble de données d’affinage

L’ensemble de données d’affinage doit être soigneusement sélectionné pour refléter les types de questions et d’invocations d’outils que le modèle est censé gérer dans des scénarios du monde réel. L’ensemble de données doit inclure une gamme diversifiée d’exemples, couvrant différentes catégories d’outils et modèles d’arguments.

Chaque exemple dans l’ensemble de données doit consister en une question, l’outil correspondant à appeler et les arguments requis pour exécuter l’outil. Les arguments doivent être formatés de manière structurée, généralement sous forme d’objet JSON.

Processus d’affinage

Le processus d’affinage peut être effectué à l’aide de la console Amazon Bedrock ou des API. Le processus implique de spécifier le modèle à affiner, l’ensemble de données d’affinage et les paramètres d’entraînement souhaités.

Les paramètres d’entraînement contrôlent divers aspects du processus d’affinage, tels que le taux d’apprentissage, la taille du lot et le nombre d’époques. Le taux d’apprentissage détermine l’ampleur des ajustements de paramètres effectués lors de chaque itération. La taille du lot détermine le nombre d’exemples traités à chaque itération. Le nombre d’époques détermine le nombre de fois où le modèle est exposé à l’ensemble de l’ensemble de données d’entraînement.

Évaluation du modèle affiné

Une fois le processus d’affinage terminé, il est essentiel d’évaluer les performances du modèle affiné. Ceci peut être fait en testant le modèle sur un ensemble de données de test distinct qui n’a pas été utilisé pendant le processus d’affinage.

L’ensemble de données de test doit être représentatif des types de questions et d’invocations d’outils que le modèle est censé gérer dans des scénarios du monde réel. Les performances du modèle peuvent être évaluées en mesurant des métriques telles que la précision, la précision, le rappel et le score F1.

Avantages de la personnalisation des modèles Amazon Nova pour l’utilisation des outils

La personnalisation des modèles Amazon Nova pour l’utilisation des outils offre plusieurs avantages :

  • Précision améliorée : L’affinage du modèle sur un ensemble de données spécifique à une tâche peut améliorer considérablement la précision de la sélection des outils et de l’extraction des arguments.
  • Efficacité accrue : Les modèles affinés peuvent souvent effectuer des tâches d’utilisation des outils plus efficacement que les modèles pré-entraînés.
  • Adaptabilité améliorée : L’affinage permet au modèle de s’adapter à des domaines et à des cas d’utilisation spécifiques.
  • Coûts réduits : Dans certains cas, l’affinage peut réduire les ressources de calcul nécessaires pour effectuer des tâches d’utilisation des outils.

Conclusion

La personnalisation des modèles Amazon Nova pour l’utilisation des outils est une technique précieuse pour améliorer les performances et l’adaptabilité des LLM. En affinant le modèle sur un ensemble de données spécifique à une tâche, les développeurs peuvent améliorer considérablement la précision, l’efficacité et l’adaptabilité des applications d’utilisation des outils. Alors que les industries exigent de plus en plus des solutions d’IA capables de prendre des décisions éclairées, la personnalisation des LLM pour l’utilisation des outils deviendra de plus en plus importante.