DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines

Auteurs : Omar Khattab, Arnav Singhvi, Paridhi Maheshwari, Zhiyuan Zhang, Keshav Santhanam, Sri Vardhamanan, Saiful Haq, Ashutosh Sharma, Thomas T. Joshi, Hanna Moazam, Heather Miller, Matei Zaharia, Christopher Potts

Résultats du processus de synthèse de l'article arXiv : 2310.03714v1

  • Résumé Complet
  • Points clés
  • Résumé vulgarisé
  • Article de blog
La communauté de l'apprentissage automatique explore activement des techniques pour intégrer des modèles de langage (ML) et les combiner dans des pipelines qui résolvent des tâches complexes. Malheureusement, les pipelines de ML existants sont généralement implémentés à l'aide de "modèles d'invite" codés en dur, ce qui signifie qu'ils sont découverts par essais et erreurs. Afin d'adopter une approche plus systématique pour le développement et l'optimisation des pipelines de ML, nous présentons DSPy, un modèle de programmation qui abstrait les pipelines ML sous forme de graphes computationnels impératifs où les ML sont invoqués à travers des modules déclaratifs. Les modules DSPy sont paramétrables et peuvent apprendre comment appliquer des compositions de techniques d'invite, d'affinage, d'augmentation et de raisonnement en créant et en collectant des démonstrations. Nous concevons également un compilateur qui optimise n’importe quel pipeline DSPy pour maximiser une métrique donnée. Nous menons également deux études de cas montrant que les programmes DSPy concis peuvent exprimer et optimiser efficacement des pipelines sophistiqués ML qui résolvent divers problèmes mathématiques, abordent la recherche multi-sauts, répondent à des questions complexes et contrôlent les boucles d’un agent. De plus, quelques lignes DSPy permettent à GPT-3.5 et llama2-13b-chat d’autogénérer rapidement des pipelines qui surpassent l’utilisation classique d’invites en quelques exemples (généralement supérieurs à 25% et 65%, respectivement) ainsi que les pipelines avec des démonstrations créées par des experts (jusqu’à 5-46% et 16-40%, respectivement). Les programmes DSPy compilés pour T5 avec 770 millions de paramètres ouverts ainsi que llama2-13b-chat sont également compétitifs par rapport aux approches reposant sur la chaîne invite codée par un expert pour GPT-3.5 propriétaire. DSPy est disponible sur https://github.com/stanfordnlp/dspy.
Mots clés générés par l'IA : Apprentissage automatique pipelines ML modules DSPy optimisation compilateur

Points clés générés par l'IA

  • La communauté de l'apprentissage automatique explore activement des techniques pour intégrer des modèles de langage (ML) et les combiner dans des pipelines qui résolvent des tâches complexes.
  • Les pipelines de ML existants sont généralement implémentés à l'aide de "modèles d'invite" codés en dur, ce qui signifie qu'ils sont découverts par essais et erreurs.
  • DSPy est un modèle de programmation qui abstrait les pipelines ML sous forme de graphes computationnels impératifs où les ML sont invoqués à travers des modules déclaratifs.
  • Les modules DSPy sont paramétrables et peuvent apprendre comment appliquer des compositions de techniques d'invite, d'affinage, d'augmentation et de raisonnement en créant et en collectant des démonstrations.
  • Un compilateur est conçu pour optimiser n’importe quel pipeline DSPy afin de maximiser une métrique donnée.
  • Deux études de cas montrent que les programmes DSPy concis peuvent exprimer et optimiser efficacement des pipelines sophistiqués ML qui résolvent divers problèmes mathématiques, abordent la recherche multi-sauts, répondent à des questions complexes et contrôlent les boucles d’un agent.
  • Quelques lignes DSPy permettent à GPT-3.5 et llama2-13b-chat d’autogénérer rapidement des pipelines qui surpassent l’utilisation classique d’invites ainsi que les pipelines avec des démonstrations créées par des experts.
  • Les programmes DSPy compilés pour T5 avec 770 millions de paramètres ouverts ainsi que llama2-13b-chat sont compétitifs par rapport aux approches reposant sur la chaîne invite codée par un expert pour GPT-3.5 propriétaire.
  • DSPy est disponible sur https://github.com/stanfordnlp/dspy.
Accédez également à nos autres résultats générés par IA : Résumé complet, Résumé vulgarisé, Article de type blog; ou posez des questions sur cet article à notre Assistant IA.

Résumé : The ML community is rapidly exploring techniques for prompting language models (LMs) and for stacking them into pipelines that solve complex tasks. Unfortunately, existing LM pipelines are typically implemented using hard-coded "prompt templates", i.e. lengthy strings discovered via trial and error. Toward a more systematic approach for developing and optimizing LM pipelines, we introduce DSPy, a programming model that abstracts LM pipelines as text transformation graphs, i.e. imperative computational graphs where LMs are invoked through declarative modules. DSPy modules are parameterized, meaning they can learn (by creating and collecting demonstrations) how to apply compositions of prompting, finetuning, augmentation, and reasoning techniques. We design a compiler that will optimize any DSPy pipeline to maximize a given metric. We conduct two case studies, showing that succinct DSPy programs can express and optimize sophisticated LM pipelines that reason about math word problems, tackle multi-hop retrieval, answer complex questions, and control agent loops. Within minutes of compiling, a few lines of DSPy allow GPT-3.5 and llama2-13b-chat to self-bootstrap pipelines that outperform standard few-shot prompting (generally by over 25% and 65%, respectively) and pipelines with expert-created demonstrations (by up to 5-46% and 16-40%, respectively). On top of that, DSPy programs compiled to open and relatively small LMs like 770M-parameter T5 and llama2-13b-chat are competitive with approaches that rely on expert-written prompt chains for proprietary GPT-3.5. DSPy is available at https://github.com/stanfordnlp/dspy

Soumis à arXiv le 05 Oct. 2023

Outils pour cet article

Expliquer autrement 3 réécritures gratuites restantes aujourd'hui
Exporter BibTeX · RIS (Zotero, Mendeley, EndNote) · Markdown (Notion, Obsidian) · Premium
Alertes de citation Premium
Journal club Des slides pour le présenter Premium
Pour les journalistes Kit presse et détecteur de hype Premium

Posez des questions sur cet article à notre assistant IA

Vous pouvez aussi discutez avec plusieurs papiers à la fois ici.

⚠La licence de l'article ne nous permet pas de nous appuyer sur son contenu et l'assistant IA ne peut se servir que des métadonnées de l'article plutôt que de l'article complet.

Figures et graphiques

Posez une question sur une figure en indiquant son numéro ou en utilisant son bouton de question pour demander une analyse visuelle. Au maximum deux figures et quatre panneaux par question. Les valeurs lues sur les graphiques sont approximatives ; vérifiez les données originales.

Instructions pour utiliser l'assistant IA ?

Évaluez la qualité du contenu généré par l'IA en votant

Note : 0

Pourquoi avons-nous besoin de votes ?

Les votes sont utilisés pour déterminer si nous devons réexécuter nos outils de synthèse. Si le compte atteint -10, nos outils peuvent être redémarrés.

Le résumé précédent a été créé il y a plus d'un an et peut être réexécuté (si nécessaire) en cliquant sur le bouton Exécuter ci-dessous.

⚠La licence de cet article spécifique ne nous permet pas de nous appuyer sur son contenu et les outils de synthèse seront exécutés en utilisant les métadonnées de l'article plutôt que l'article complet. Cependant, l'outil produira quand même un bon résultat, et vous pouvez également essayer nos outils sur des papiers avec des licences plus ouvertes.

Articles similaires résumés avec nos outils d'IA

Naviguez à travers encore plus d'articles similaires en utilisant une

représentation arborescente

Avertissement : Notre outil de synthèse basé sur l'IA et l'assistant virtuel fournis sur ce site Web peuvent ne pas toujours fournir des résumés complets ou des réponses exactes. Nous vous encourageons à examiner attentivement et à évaluer le contenu généré pour vous assurer de sa qualité et de sa pertinence par rapport à vos besoins.