Évaluation des performances de Phi-3-Mini sur RAG, le routage et les agents

Évaluation des performances de Phi-3-Mini sur RAG, le routage et les agents. Exploration des capacités du modèle dans des cas d'utilisation pratiques, notamment les requêtes RAG simples, la décomposition de requêtes complexes et l'orchestration des agents.

24 janvier 2025

party-gif

Ce billet de blog explore les capacités du modèle de langage Phi-3-Mini dans des cas d'utilisation pratiques, notamment la récupération, le routage des requêtes et les cadres basés sur des agents. Le contenu fournit une analyse détaillée des performances du modèle dans diverses tâches, offrant des informations sur ses forces et ses limites. Les lecteurs acquerront une meilleure compréhension de l'adéquation du modèle pour les applications du monde réel.

Récupération simple et RAG

Le modèle fonctionne de manière raisonnable sur les tâches de récupération simples à l'aide du pipeline RAG (Retrieval-Augmented Generation). Lorsqu'on lui pose une requête simple comme "en quoi diffèrent OpenAI et Meta sur les outils d'IA", le modèle est capable de fournir une réponse précise en condensant les fragments de texte pertinents et en générant un résumé cohérent.

Cependant, lorsque les requêtes deviennent plus complexes, le modèle commence à présenter certaines limites. Par exemple, lorsqu'on lui demande "quelles sont les nouvelles fonctionnalités ajoutées par OpenAI à ChatGPT", le modèle attribue incorrectement certaines fonctionnalités introduites par Meta à OpenAI, montrant une tendance à halluciner ou à confondre les informations provenant de différentes sources.

Les performances du modèle s'améliorent lorsqu'on utilise le mode "tree summarize", qui résume de manière récursive chaque fragment de texte avant de générer la réponse finale. Cette approche aide à atténuer le problème des informations contradictoires entre les différents fragments.

Dans l'ensemble, le modèle démontre une capacité décente pour les tâches de récupération simples utilisant RAG, mais ses performances se dégradent lorsqu'il s'agit de requêtes plus complexes nécessitant une compréhension plus approfondie des informations sous-jacentes.

Requêtes complexes et limites du RAG

Les performances du modèle sur les requêtes complexes révèlent certaines limites de l'approche RAG (Retrieval-Augmented Generation). Bien qu'il gère bien les requêtes simples, il a du mal avec les requêtes plus complexes impliquant des informations contradictoires entre différents fragments de documents.

Lorsqu'on lui a demandé les nouvelles fonctionnalités introduites par OpenAI, le modèle a attribué incorrectement certaines fonctionnalités qui avaient en réalité été introduites par Meta. Cela suggère que le modèle a du mal à concilier et à synthétiser les informations provenant de plusieurs sources, surtout en cas de divergences ou de contradictions.

Les capacités de décomposition de requêtes du modèle semblent cependant plus prometteuses. Lorsqu'on lui a présenté une requête complexe, le modèle a pu la décomposer en sous-questions pertinentes et récupérer les informations en conséquence. Cela suggère que le modèle a une certaine compréhension de la structure sous-jacente de la requête et peut tenter de l'aborder de manière plus systématique.

Dans le contexte de l'orchestration d'agents, les performances du modèle étaient mitigées. Pour les requêtes simples, il a pu déterminer qu'aucun outil n'était nécessaire et générer une réponse par lui-même. Cependant, pour les requêtes plus complexes, le modèle a eu du mal à utiliser efficacement les outils disponibles pour fournir une réponse complète.

Dans l'ensemble, les résultats indiquent que si le modèle a certaines capacités pour gérer les tâches basées sur RAG, il a encore des limites lorsqu'il s'agit de requêtes complexes et d'orchestration d'agents. Des améliorations supplémentaires dans la capacité du modèle à concilier les informations contradictoires, à synthétiser les connaissances et à exploiter efficacement les outils externes seraient nécessaires pour le rendre plus robuste pour ce type d'applications.

Routage des requêtes et décomposition des requêtes

Les performances du modèle sur les tâches de routage de requêtes et de décomposition de requêtes étaient mitigées.

Pour le routage de requêtes, le modèle a pu utiliser efficacement les descriptions d'outils fournies pour déterminer quel magasin de vecteurs utiliser pour répondre à des requêtes spécifiques. Lorsqu'on lui a posé une question sur des informations liées à Meta, le modèle a correctement identifié l'"outil vectoriel" comme la ressource appropriée et a fourni une réponse pertinente. De même, lorsqu'on lui a posé une question plus spécifique sur le nombre de chatbots guidés par la personnalité introduits par Meta, le modèle a de nouveau utilisé le bon magasin de vecteurs pour récupérer les informations exactes.

Cependant, lorsque le modèle a pu sélectionner plusieurs outils, ses performances ont diminué. Pour une requête demandant les principales fonctionnalités introduites par OpenAI et d'autres entreprises, le modèle a attribué de manière incorrecte des informations sur Tesla et Apple, qui n'étaient pas mentionnées dans le document d'origine. Cela suggère que le modèle a encore du mal avec le routage de requêtes complexes et peut halluciner des informations lorsqu'il tente de combiner plusieurs sources.

Le modèle a mieux performé sur les tâches de décomposition de requêtes. Lorsqu'on lui a présenté une requête complexe sur les différences entre la façon dont Meta et OpenAI sont abordés, le modèle a pu la décomposer en trois sous-questions, récupérant les informations pertinentes pour chacune et synthétisant ensuite une réponse finale. Les sous-questions générées étaient logiques et la réponse globale a fourni une comparaison raisonnable entre les deux entreprises.

En résumé, le modèle montre des promesses dans les capacités de base de routage de requêtes, mais ses performances se dégradent pour les requêtes plus complexes nécessitant la combinaison d'informations provenant de plusieurs sources. Les capacités de décomposition de requêtes sont plus robustes, indiquant que le modèle peut effectivement décomposer et traiter des questions complexes. Cependant, un raffinement supplémentaire pourrait être nécessaire pour exploiter pleinement le potentiel du modèle dans des cas d'utilisation pratiques.

Agents et opérations mathématiques

Les tests effectués sur le modèle Retrieval-Augmented Generation (RAG) révèlent des informations intéressantes sur ses capacités et ses limites :

  1. Requêtes RAG simples : Le modèle fonctionne de manière raisonnable sur les requêtes RAG simples, fournissant des réponses précises en fonction des informations disponibles dans le document.

  2. Requêtes RAG complexes : Lorsqu'il est confronté à des requêtes plus complexes impliquant des informations contradictoires entre différents fragments de documents, le modèle a du mal et a tendance à halluciner ou à mal catégoriser les informations.

  3. Routage de requêtes : Le modèle démontre la capacité d'effectuer un routage de requêtes, où il peut sélectionner le magasin de vecteurs approprié pour récupérer les informations pertinentes en fonction de la requête. Cela suggère que le modèle peut gérer des tâches nécessitant la compréhension des métadonnées et des capacités de différentes sources d'information.

  4. Décomposition de requêtes : Le modèle est capable de décomposer des requêtes complexes en sous-questions et de récupérer les informations pour y répondre individuellement, puis de combiner les résultats. Cela montre des promesses pour la capacité du modèle à gérer des besoins d'information complexes.

  5. Orchestration d'agents : Lorsqu'il a été testé dans un cadre basé sur les agents, le modèle a montré des capacités limitées. Il a du mal à utiliser efficacement les outils fournis, en particulier pour les tâches plus complexes impliquant des opérations mathématiques. Le modèle semble préférer effectuer les calculs par lui-même plutôt que de s'appuyer sur les outils disponibles.

  6. Opérations mathématiques : Fait intéressant, le modèle semble avoir une meilleure maîtrise des opérations mathématiques simples par lui-même, sans s'appuyer sur les outils fournis. Cela suggère que le modèle pourrait avoir des capacités de raisonnement mathématique intrinsèques.

Dans l'ensemble, les résultats indiquent que le modèle RAG a un potentiel pour certaines applications, comme la récupération d'informations simples et le routage de requêtes. Cependant, ses performances sur des tâches plus complexes, y compris l'orchestration d'agents et la gestion d'informations contradictoires, sont limitées. Des progrès supplémentaires dans le raisonnement du modèle et son intégration avec des outils externes pourraient être nécessaires pour exploiter pleinement ses capacités dans des cas d'utilisation pratiques.

Conclusion

Le petit modèle de langage Pi 3, bien qu'impressionnant sur les benchmarks, a certaines limites lorsqu'il s'agit de cas d'utilisation pratiques.

Pour les tâches de récupération simples, le modèle fonctionne de manière raisonnable, capable de fournir des réponses précises en condensant les informations pertinentes du document. Cependant, lorsqu'il est confronté à des requêtes plus complexes impliquant des informations contradictoires entre différents fragments de documents, le modèle a du mal et a tendance à halluciner, mélangeant les fonctionnalités introduites par différentes entreprises.

Les capacités de routage de requêtes du modèle montrent des promesses, car il est capable de sélectionner le magasin de vecteurs approprié en fonction des descriptions fournies. Cela suggère que le modèle peut comprendre le contexte et l'objectif des différentes sources d'information. Cependant, pour les tâches de décomposition de requêtes plus complexes, les performances du modèle restent limitées.

En ce qui concerne l'orchestration d'agents, le modèle affiche des résultats mitigés. Bien qu'il puisse gérer les requêtes simples sans avoir besoin d'outils, pour les opérations mathématiques plus complexes, il semble réticent à utiliser les outils fournis et tente plutôt d'effectuer les calculs lui-même, parfois de manière inexacte.

Dans l'ensemble, le petit modèle de langage Pi 3 démontre des capacités dans certains domaines, mais ses limites deviennent apparentes lorsqu'il s'agit de requêtes et de tâches complexes et multifacettes. Des progrès supplémentaires dans des domaines comme l'atténuation des hallucinations et le raisonnement robuste seront nécessaires pour déverrouiller le plein potentiel du modèle pour des applications pratiques.

FAQ