Ежедневно отобранные исследовательские статьи по ИИ с переводами
Сообщество машинного обучения активно исследует методы создания промптов для языковых моделей (LM) и их объединения в конвейеры для решения сложных задач. К сожалению, существующие конвейеры LM обычно реализуются с использованием жестко заданных "шаблонов промптов" — длинных строк, найденных методом проб и ошибок. В стремлении к более систематическому подходу к разработке и оптимизации конвейеров LM мы представляем DSPy — модель программирования, которая абстрагирует конвейеры LM как графы текстовых преобразований, то есть императивные вычислительные графы, где LM вызываются через декларативные модули. Модули DSPy параметризованы, что позволяет им обучаться (путем создания и сбора демонстраций) применению композиций методов промптинга, тонкой настройки, аугментации и логического рассуждения. Мы разработали компилятор, который оптимизирует любой конвейер DSPy для максимизации заданной метрики. Мы провели два кейс-стади, показав, что лаконичные программы на DSPy могут выражать и оптимизировать сложные конвейеры LM, которые решают математические задачи, выполняют многошаговый поиск, отвечают на сложные вопросы и управляют циклами агентов. В течение нескольких минут компиляции несколько строк кода на DSPy позволяют GPT-3.5 и llama2-13b-chat самостоятельно создавать конвейеры, которые превосходят стандартный подход с использованием нескольких примеров (обычно на более чем 25% и 65% соответственно) и конвейеры с демонстрациями, созданными экспертами (на 5-46% и 16-40% соответственно). Более того, программы DSPy, скомпилированные для открытых и относительно небольших LM, таких как T5 с 770 миллионами параметров и llama2-13b-chat, конкурируют с подходами, основанными на цепочках промптов, написанных экспертами для проприетарной GPT-3.5. DSPy доступен по адресу https://github.com/stanfordnlp/dspy.
"Мышление служит для действия." Люди способны выводить психические состояния других людей на основе наблюдений — способность, называемая Теорией сознания (Theory-of-Mind, ToM), — и затем действовать прагматично, основываясь на этих выводах. Существующие тесты для оценки вопросно-ответных систем, такие как ToMi, задают моделям вопросы, чтобы сделать выводы о убеждениях персонажей в истории, но не проверяют, могут ли модели использовать эти выводы для руководства своими действиями. Мы предлагаем новую парадигму оценки для больших языковых моделей (LLMs): "Мышление для действия" (Thinking for Doing, T4D), которая требует от моделей связывать выводы о психических состояниях других людей с действиями в социальных сценариях. Эксперименты на T4D показывают, что LLMs, такие как GPT-4 и PaLM 2, кажутся превосходными в отслеживании убеждений персонажей в историях, но они испытывают трудности в преобразовании этой способности в стратегические действия. Наш анализ выявляет основную проблему для LLMs: идентификацию неявных выводов о психических состояниях, которые не запрашиваются явно, как в ToMi, но которые приводят к выбору правильного действия в T4D. Чтобы преодолеть этот разрыв, мы вводим структуру нулевого сценария подсказок, "Предвидеть и Размышлять" (Foresee and Reflect, FaR), которая предоставляет структуру рассуждений, побуждающую LLMs предвидеть будущие вызовы и рассуждать о потенциальных действиях. FaR повышает производительность GPT-4 с 50% до 71% на T4D, превосходя другие методы подсказок, такие как "Цепочка мыслей" (Chain-of-Thought) и "Самозапрос" (Self-Ask). Более того, FaR обобщается на разнообразные структуры историй и сценарии, которые также требуют выводов ToM для выбора действия, последовательно превосходя другие методы, включая обучение с несколькими примерами в контексте.
Крупные языковые модели (LLM), такие как GPT-4, продемонстрировали выдающуюся производительность в решении разнообразных задач, однако такая высокая эффективность часто сопровождается значительными затратами на использование платных API-сервисов. В данной статье мы исследуем возможность построения каскада LLM с целью снижения затрат на их использование, особенно для выполнения задач, требующих рассуждений (например, математических или причинно-следственных). Наш каскадный подход основывается на интуиции, что более простые вопросы могут быть решены с помощью менее мощной, но более доступной LLM, тогда как сложные вопросы требуют использования более мощной и дорогостоящей LLM. Для реализации такого принятия решений мы рассматриваем "согласованность ответов" менее мощной LLM как индикатор сложности вопроса и предлагаем несколько методов для выборки ответов и проверки их согласованности, включая метод, использующий смесь двух представлений рассуждений (т.е. Chain-of-Thought и Program-of-Thought). В экспериментах на шести наборах данных для тестирования рассуждений, где GPT-3.5-turbo и GPT-4 выступают в роли менее и более мощной LLM соответственно, мы показываем, что предложенные нами каскады LLM могут достичь производительности, сравнимой с использованием исключительно более мощной LLM, но при этом требуют лишь 40% её затрат.
Сегодня пользователи обращаются к большим языковым моделям (LLM) как к помощникам для ответов на запросы, требующие внешних знаний: они спрашивают о погоде в конкретном городе, о ценах на акции и даже о том, где находятся определённые места в их районе. Такие запросы требуют, чтобы LLM генерировала код, который вызывает внешние API для ответа на вопрос пользователя. Однако LLM редко создают корректный код с первой попытки, что требует итеративного уточнения кода на основе результатов выполнения. Кроме того, использование LLM-помощников для обработки большого объёма запросов может быть дорогостоящим. В данной работе мы представляем фреймворк EcoAssistant, который позволяет LLM отвечать на запросы, требующие выполнения кода, более экономично и точно. EcoAssistant состоит из трёх компонентов. Во-первых, он позволяет LLM-помощникам взаимодействовать с автоматическим исполнителем кода для итеративного уточнения кода или формирования ответов на основе результатов выполнения. Во-вторых, мы используем иерархию LLM-помощников, которая сначала пытается ответить на запрос с помощью более слабых и дешёвых LLM, а затем, при необходимости, переходит к более мощным и дорогостоящим. В-третьих, мы извлекаем решения из прошлых успешных запросов и используем их как контекстные примеры для помощи в обработке последующих запросов. Эмпирически мы показываем, что EcoAssistant обладает значительными преимуществами в плане экономичности и точности, превосходя GPT-4 на 10 процентных пунктов по успешности выполнения запросов при затратах менее 50% от стоимости GPT-4.