papers.description
La communauté du machine learning explore rapidement des techniques pour inciter les modèles de langage (LMs) et les intégrer dans des pipelines pour résoudre des tâches complexes. Malheureusement, les pipelines de LMs existants sont généralement implémentés à l'aide de "modèles de prompts" codés en dur, c'est-à-dire des chaînes de caractères longues découvertes par essais et erreurs. Pour une approche plus systématique de développement et d'optimisation des pipelines de LMs, nous introduisons DSPy, un modèle de programmation qui abstrait les pipelines de LMs en tant que graphes de transformation de texte, c'est-à-dire des graphes de calcul impératifs où les LMs sont invoqués via des modules déclaratifs. Les modules DSPy sont paramétrables, ce qui signifie qu'ils peuvent apprendre (en créant et en collectant des démonstrations) comment appliquer des compositions de techniques de prompting, de fine-tuning, d'augmentation et de raisonnement. Nous concevons un compilateur qui optimisera tout pipeline DSPy pour maximiser une métrique donnée. Nous menons deux études de cas, montrant que des programmes DSPy succincts peuvent exprimer et optimiser des pipelines de LMs sophistiqués qui raisonnent sur des problèmes de mots mathématiques, abordent la recherche multi-sauts, répondent à des questions complexes et contrôlent des boucles d'agents. En quelques minutes de compilation, quelques lignes de DSPy permettent à GPT-3.5 et llama2-13b-chat de créer des pipelines qui surpassent le prompting standard en few-shot (généralement de plus de 25% et 65%, respectivement) et les pipelines avec des démonstrations créées par des experts (jusqu'à 5-46% et 16-40%, respectivement). De plus, les programmes DSPy compilés pour des LMs ouverts et relativement petits comme T5 avec 770 millions de paramètres et llama2-13b-chat sont compétitifs avec les approches qui reposent sur des chaînes de prompts écrites par des experts pour GPT-3.5 propriétaire. DSPy est disponible à l'adresse https://github.com/stanfordnlp/dspy.
"Penser, c'est pour agir." Les humains peuvent déduire les états mentaux d'autrui à partir d'observations—une capacité appelée Théorie de l'Esprit (ToM)—et agir ensuite de manière pragmatique en fonction de ces inférences. Les benchmarks existants de question-réponse, tels que ToMi, posent des questions aux modèles pour qu'ils infèrent les croyances des personnages dans une histoire, mais ne testent pas si les modèles peuvent ensuite utiliser ces inférences pour guider leurs actions. Nous proposons un nouveau paradigme d'évaluation pour les grands modèles de langage (LLMs) : Penser pour Agir (T4D), qui exige que les modèles relient les inférences sur les états mentaux d'autrui à des actions dans des scénarios sociaux. Les expériences sur T4D montrent que des LLMs comme GPT-4 et PaLM 2 semblent exceller dans le suivi des croyances des personnages dans les histoires, mais ils peinent à traduire cette capacité en actions stratégiques. Notre analyse révèle que le défi central pour les LLMs réside dans l'identification des inférences implicites sur les états mentaux, sans qu'elles soient explicitement demandées comme dans ToMi, qui conduisent au choix de l'action correcte dans T4D. Pour combler cette lacune, nous introduisons un cadre d'incitation zero-shot, Anticiper et Réfléchir (FaR), qui fournit une structure de raisonnement encourageant les LLMs à anticiper les défis futurs et à raisonner sur les actions potentielles. FaR améliore les performances de GPT-4 de 50% à 71% sur T4D, surpassant d'autres méthodes d'incitation comme Chain-of-Thought et Self-Ask. De plus, FaR se généralise à diverses structures d'histoires et scénarios hors distribution qui nécessitent également des inférences ToM pour choisir une action, surpassant de manière constante d'autres méthodes, y compris l'apprentissage few-shot en contexte.
Les grands modèles de langage (LLM) tels que GPT-4 ont démontré des performances remarquables dans une variété de tâches, mais cette forte performance s'accompagne souvent de coûts élevés liés à l'utilisation de services API payants. Dans cet article, nous sommes motivés à étudier la construction d'une cascade de LLM pour réduire les coûts d'utilisation de ces modèles, en particulier pour des tâches de raisonnement (par exemple, mathématique, causal). Notre pipeline en cascade suit l'intuition que les questions plus simples peuvent être traitées par un LLM moins puissant mais plus abordable, tandis que seules les questions complexes nécessitent un LLM plus fort et plus coûteux. Pour réaliser cette prise de décision, nous considérons la "cohérence des réponses" du LLM plus faible comme un indicateur de la difficulté de la question et proposons plusieurs méthodes pour l'échantillonnage des réponses et la vérification de la cohérence, y compris une méthode exploitant un mélange de deux représentations de pensée (c'est-à-dire, Chain-of-Thought et Program-of-Thought). À travers des expériences sur six ensembles de données de référence pour le raisonnement, avec GPT-3.5-turbo et GPT-4 comme LLM plus faible et plus fort respectivement, nous démontrons que nos cascades de LLM proposées peuvent atteindre des performances comparables à l'utilisation exclusive du LLM plus fort, tout en nécessitant seulement 40 % de son coût.
Aujourd'hui, les utilisateurs sollicitent les grands modèles de langage (LLMs) en tant qu'assistants pour répondre à des requêtes nécessitant des connaissances externes ; ils interrogent sur la météo d'une ville spécifique, sur les cours des actions, et même sur l'emplacement de lieux précis dans leur quartier. Ces requêtes exigent que le LLM produise du code invoquant des API externes pour répondre à la question de l'utilisateur, mais les LLMs produisent rarement un code correct dès le premier essai, nécessitant un raffinement itératif du code en fonction des résultats d'exécution. De plus, l'utilisation d'assistants LLM pour gérer un volume élevé de requêtes peut s'avérer coûteuse. Dans ce travail, nous proposons un framework, EcoAssistant, qui permet aux LLMs de répondre aux requêtes pilotées par code de manière plus économique et précise. EcoAssistant comprend trois composants. Premièrement, il permet aux assistants LLMs de converser avec un exécuteur de code automatique pour raffiner itérativement le code ou produire des réponses basées sur les résultats d'exécution. Deuxièmement, nous utilisons une hiérarchie d'assistants LLMs, qui tente de répondre à la requête avec des LLMs plus faibles et moins coûteux avant de recourir à des LLMs plus puissants et plus onéreux. Troisièmement, nous récupérons des solutions provenant de requêtes réussies passées comme démonstrations en contexte pour aider les requêtes ultérieures. Empiriquement, nous montrons qu'EcoAssistant offre des avantages distincts en termes de rentabilité et de précision, surpassant GPT-4 de 10 points de taux de réussite avec moins de 50 % du coût de GPT-4.