Sélectionner la langue

Cadre de Classification d'API et de Génération de Données Synthétiques par Modèles de Langage de Grande Taille

Un système novateur exploitant les Modèles de Langage de Grande Taille pour classifier des intrants en langage naturel en appels API et générer des jeux de données synthétiques pour l'évaluation des modèles.
apismarket.org | PDF Size: 0.7 MB
Note: 4.5/5
Votre note
Vous avez déjà noté ce document
Couverture du document PDF - Cadre de Classification d'API et de Génération de Données Synthétiques par Modèles de Langage de Grande Taille

1. Introduction

Cet article aborde le défi de rendre les Interfaces de Programmation d'Applications (API) logicielles plus accessibles en exploitant les Modèles de Langage de Grande Taille (MLGT). L'interaction traditionnelle avec les API nécessite une connaissance technique de leur structure, de leurs paramètres et des appels spécifiques, créant une barrière pour les utilisateurs non techniques. Le système proposé utilise les MLGT pour deux fonctions principales : 1) Classifier les intrants utilisateur en langage naturel en appels API correspondants, et 2) Automatiser la génération de jeux de données synthétiques spécifiques à une tâche pour évaluer la performance des MLGT sur les tâches de classification d'API. Cette double approche vise à abaisser la barrière à l'utilisation des logiciels tout en fournissant un outil pratique aux développeurs pour évaluer l'adéquation des MLGT à la gestion personnalisée d'API.

2. Travaux Connexes

Cette recherche s'appuie sur des travaux existants en TAL et en génie logiciel, en se concentrant sur le rapprochement entre le langage humain et les commandes exécutables par machine.

2.1 MLGT pour le Mappage Langage Naturel vers API

Des études antérieures ont exploré l'utilisation de modèles séquence-à-séquence et de variantes de BERT affinées pour mapper le langage naturel vers du code ou des séquences d'API. L'avènement de MLGT puissants et polyvalents comme GPT-4 a changé la donne, permettant un mappage plus flexible et contextuel sans nécessiter un entraînement extensif spécifique à la tâche.

2.2 Génération de Données Synthétiques en TAL

La génération de données synthétiques, cruciale pour l'entraînement et l'évaluation lorsque les données réelles sont rares, est passée de modèles basés sur des règles à une génération pilotée par MLGT. Des modèles comme GPT-4 peuvent produire des exemples textuels diversifiés et pertinents contextuellement, ce qui est exploité dans ce travail pour créer des jeux de données pour des fonctions API spécifiques.

3. Cadre Proposé

L'innovation centrale est un cadre unifié qui gère à la fois la tâche de classification et la création de son propre référentiel d'évaluation.

3.1 Architecture du Système

Le système se compose de deux modules interconnectés : le Module de Classification et le Module de Génération de Données Synthétiques. Un orchestrateur central gère le flux de travail, prenant les spécifications d'API en entrée et produisant soit un appel API classifié, soit un jeu de données d'évaluation généré.

3.2 Classification Langage Naturel vers API

Étant donné une requête en langage naturel $q$ et un ensemble d'appels API possibles $A = \{a_1, a_2, ..., a_n\}$, le MLGT agit comme un classifieur $C$. Le but est de trouver l'API $a_i$ qui maximise la probabilité conditionnelle : $a^* = \arg\max_{a_i \in A} P(a_i | q, \theta)$, où $\theta$ représente les paramètres du MLGT. Le système utilise un amorçage par quelques exemples (few-shot prompting) pour guider le modèle.

3.3 Pipeline de Génération de Jeux de Données Synthétiques

Pour une fonction API cible, le module de génération utilise un MLGT (par exemple, GPT-4-turbo) pour créer un ensemble diversifié de requêtes en langage naturel $Q = \{q_1, q_2, ..., q_m\}$ qui correspondent à cette API. Le processus est guidé par des amorces qui spécifient l'objectif de l'API, ses paramètres, et les variations souhaitées dans la formulation, la complexité et l'intention utilisateur.

4. Configuration Expérimentale & Résultats

4.1 Processus de Génération du Jeu de Données

Des jeux de données d'exemple ont été générés pour plusieurs fonctions API (par exemple, récupération météo, requête de base de données, traitement de paiement) en utilisant GPT-4-turbo. Chaque jeu de données contenait des centaines de requêtes en langage naturel associées à l'étiquette d'appel API correcte, couvrant une gamme de paraphrases et d'expressions utilisateur.

4.2 Comparaison des Performances des Modèles

Plusieurs MLGT ont été évalués sur les jeux de données générés en utilisant la précision de classification standard.

GPT-4

0.996

Précision

GPT-4o-mini

0.982

Précision

Gemini-1.5

0.961

Précision

LLaMA-3-8B

0.759

Précision

4.3 Analyse des Résultats

Les résultats montrent un écart de performance significatif entre le modèle propriétaire leader (GPT-4) et un concurrent open-source solide (LLaMA-3-8B). Cela souligne l'importance cruciale des capacités du modèle pour un déploiement fiable en conditions réelles. La haute précision des meilleurs modèles valide la faisabilité de l'utilisation des MLGT pour une classification précise des appels API.

5. Analyse Technique & Idées Clés

Idée Clé : Cet article ne se contente pas d'utiliser un MLGT comme classifieur d'API ; il s'agit d'un méta-cadre pour évaluer quel MLGT utiliser pour ce travail spécifique. Le véritable produit est le moteur de génération de données synthétiques, qui transforme le problème vague de « l'adéquation du MLGT » en une métrique mesurable et comparable. C'est une démarche astucieuse, reconnaissant qu'à l'ère des MLGT, la capacité à créer ses propres données d'évaluation de haute qualité est aussi précieuse que le modèle lui-même.

Flux Logique : L'argumentation est élégamment circulaire et s'auto-renforce : 1) Nous avons besoin de MLGT pour comprendre le langage naturel pour les API. 2) Pour choisir le bon MLGT, nous avons besoin de données spécifiques à la tâche. 3) Les données réelles sont difficiles à obtenir. 4) Par conséquent, nous utilisons un MLGT puissant (GPT-4-turbo) pour générer ces données. 5) Nous utilisons ensuite ces données pour tester d'autres MLGT. C'est un processus d'amorçage qui exploite le modèle le plus puissant disponible pour évaluer le domaine.

Forces & Faiblesses : La principale force est le caractère pratique. Ce cadre offre une solution immédiatement utilisable pour les entreprises confrontées à une suite d'API et à un tableau de bord de MLGT disponibles (OpenAI, Anthropic, Google, open-source). La faiblesse, que les auteurs reconnaissent, est le risque d'« inception par MLGT » : utiliser un MLGT pour générer des données afin de tester d'autres MLGT peut hériter et amplifier des biais. Si GPT-4 a un angle mort dans la compréhension d'un certain type de requête, il générera des données de test erronées, et tous les modèles seront jugés selon une norme défectueuse. Cela reflète les défis observés dans d'autres domaines génératifs, comme les cycles d'entraînement des GAN où le générateur et le discriminateur peuvent développer des pathologies partagées.

Perspectives Actionnables : Pour les DSI et les chefs de produit, la conclusion est claire : Ne vous contentez pas de tester GPT-4 pour votre interface en langage naturel d'API. Testez ce cadre. Utilisez-le pour organiser une compétition entre GPT-4o, Claude 3 et Gemini sur vos spécifications API réelles. L'écart de précision de 24 points entre GPT-4 et LLaMA-3-8B est un avertissement clair que le choix du modèle n'est pas anodin et que le coût (gratuit vs payant) est un indicateur dangereux de la performance. Le cadre fournit les preuves quantitatives nécessaires pour prendre cette décision de plateforme à plusieurs millions d'euros.

6. Exemple d'Application du Cadre

Scénario : Une entreprise fintech souhaite ajouter une interface en langage naturel à son API interne « Analyse de Transactions » qui possède des fonctions comme get_transactions_by_date(date_range, user_id), flag_anomalous_transaction(transaction_id, reason) et generate_spending_report(user_id, category).

Application du Cadre :

  1. Génération du Jeu de Données : L'entreprise utilise le Module de Génération de Données Synthétiques (alimenté par GPT-4-turbo) avec des amorces décrivant chaque fonction API. Pour get_transactions_by_date, il pourrait générer des requêtes comme : « Montre-moi mes achats de la semaine dernière », « Qu'ai-je dépensé entre le 1er et le 10 mars ? », « Puis-je voir mon historique de transactions du mois dernier ? »
  2. Évaluation des Modèles : Ils utilisent le jeu de données généré (par exemple, 500 requêtes sur 3 fonctions API) pour tester des MLGT candidats : GPT-4o, Claude 3 Sonnet, et un Llama 3 affiné en interne. Ils mesurent la précision et la latence.
  3. Sélection & Déploiement : Les résultats montrent que Claude 3 Sonnet atteint 98,5 % de précision pour un coût par appel deux fois moindre que GPT-4o, ce qui en fait le choix optimal. Le Llama 3 affiné obtient 89 % mais offre la confidentialité des données. Le résultat quantitatif guide une décision claire et fondée sur des preuves.
Cet exemple démontre comment le cadre fait passer la conversation d'une spéculation subjective à une sélection de plateforme basée sur les données.

7. Applications Futures & Orientations

Les implications de ce travail vont au-delà de la simple classification d'API :

  • Amélioration des Plateformes Low-Code/No-Code : L'intégration de ce cadre dans des plateformes comme Zapier ou Microsoft Power Platform pourrait permettre aux utilisateurs de créer des automatisations complexes en utilisant uniquement le langage naturel, que le système traduirait en une séquence d'appels API à travers différents services.
  • Démocratisation des Logiciels d'Entreprise : Les suites logicielles d'entreprise complexes (par exemple, SAP, Salesforce) avec des centaines d'API pourraient devenir accessibles aux analystes métier via des interfaces conversationnelles, réduisant considérablement la charge de formation et élargissant l'utilité.
  • Écosystèmes d'API Dynamiques : Dans les architectures IoT ou de microservices où les API changent fréquemment ou où de nouvelles sont ajoutées, le module de génération de données synthétiques pourrait être exécuté périodiquement pour mettre à jour le jeu de données d'évaluation et réévaluer le MLGT le plus performant, créant ainsi une couche d'interface auto-adaptative.
  • Orientation de Recherche - Réduction des Hallucinations : Une prochaine étape critique est l'intégration de la vérification formelle ou de la vérification de contraintes, inspirée des techniques de synthèse de programmes, pour s'assurer que l'appel API classifié n'est pas seulement plausible mais aussi sémantiquement valide et sûr à exécuter.
  • Orientation de Recherche - Intrants Multimodaux : Les futurs cadres pourraient accepter des requêtes multimodales (par exemple, un utilisateur pointant un élément du tableau de bord tout en posant une question) et les mapper vers un appel API composite, fusionnant la vision par ordinateur et le TAL.

8. Références

  1. Brown, T. B., et al. (2020). Language Models are Few-Shot Learners. Advances in Neural Information Processing Systems, 33.
  2. OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
  3. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision.
  4. Raffel, C., et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. Journal of Machine Learning Research, 21.
  5. Schick, T., & Schütze, H. (2021). Generating Datasets with Pretrained Language Models. Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing.
  6. Microsoft Research. (2023). The Era of Copilots: AI-Powered Software Development. Récupéré de Microsoft Research Blog.
  7. Google AI. (2024). Gemini: A Family of Highly Capable Multimodal Models. Technical Report.