Least-to-Most Prompting

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Least-to-Most Prompting (LtM) — метод разработки подсказок для больших языковых моделей (LLM), позволяющий решать сложные задачи путем их декомпозиции на более простые этапы с последующим последовательным решением этих подзадач[1]. Данный подход был предложен в 2022 году группой исследователей Google Brain под руководством Денни Чжоу и представлен на конференции ICLR 2023[2]. Основная цель метода — преодолеть ограничение Chain-of-Thought-подсказок, которые плохо справляются с задачами, более сложными, чем примеры, показанные модели при обучении на подсказках[2]. Least-to-Most Prompting позволяет модели обобщать на задачи повышенной сложности, оставаясь при этом интерпретируемым и не требуя дополнительного обучения нейросети[2]. Название метода заимствовано из педагогической психологии, где «least to most prompting» обозначает подачу студенту серии подсказок с нарастающим уровнем помощи для освоения нового навыка[3].

Описание метода

Метод Least-to-Most Prompting реализуется в двух этапах[2], каждый из которых задается самой языковой модели через carefully-crafted prompts (без дополнительной дообучения модели):

  1. Декомпозиция задачи. На первом этапе модель получает инструкцию и примеры, демонстрирующие как разбивать сложную задачу на последовательность более простых подзадач. Затем модели предъявляется конкретный сложный вопрос, и она должна вывести список упрощенных промежуточных вопросов[2]. Например, для сложной задачи модель может самостоятельно сформулировать уточняющий подвопрос, адресующий часть исходной проблемы.
  2. Последовательное решение подзадач. На втором этапе модель решает полученные подзадачи по очереди — от самой простой к наиболее сложной. Для этого каждой подзадаче предшествует контекст: примеры решений подобных суб-проблем, а также (при наличии) уже решенные предыдущие подзадачи вместе с их ответами[4]. Решив первую подзадачу, модель добавляет ее ответ к тексту подсказки и получает следующую подзадачу, используя предыдущие решения как контекст[4]. Так продолжается до тех пор, пока не будет решена финальная, наиболее сложная подзадача, непосредственно отвечающая на исходный вопрос.

Пример: исходная текстовая задача разбивается на два этапа с помощью метода Least-to-Most. Сначала модель формулирует и решает промежуточный вопрос («How long does each trip take?» — «Сколько времени длится одна поездка?»), получив ответ “each trip takes 5 minutes" («каждая поездка занимает 5 минут»). Этот ответ включается в новую подсказку вместе со следующей подзадачей – исходным вопросом (“How many times can she slide before it closes?” – «Сколько раз она успеет спуститься, прежде чем аттракцион закроется?»). Используя предыдущий результат, модель вычисляет финальный ответ (в данном примере: 3 раза).

Принципиально, Least-to-Most Prompting отличается от стандартного chain-of-thought подхода тем, что разбивает процесс рассуждения на отдельные запросы с накоплением знаний, вместо генерации одной непрерывной «цепочки мыслей» в рамках одного ответа[3]. Такой поэтапный, рекурсивный подход позволяет модели постепенно переходить к все более сложным аспектам задачи, эффективно устраняя проблему easy-to-hard generalization (когда модель сталкивается с задачей сложнее тех, что были в обучающих примерах)[2][3]. Отметим, что обе стадии LtM-метода реализуются через few-shot prompting (демонстрацию нескольких примеров) и не требуют дополнительной тренировки модели или ее дообучения на новых данных[2]. Кроме того, метод совместим с другими техниками улучшения рассуждения LLM, например, его можно комбинировать с chain-of-thought и self-consistency (последовательная выборка нескольких решений) при генерации ответа, хотя это и не является необходимым[1].

Экспериментальные результаты и применения

В работе, предложившей Least-to-Most Prompting, было показано, что данный метод превосходит стандартные методы подсказок (включая chain-of-thought) на ряде задач, требующих сложного многошагового рассуждения[1]. Он успешно продемонстрировал свои преимущества в трех ключевых категориях задач:

  • Символьные и алгоритмические задачи. Например, в задаче конкатенации последних букв слов (последовательно взять последнюю букву каждого слова в списке и составить из них новое слово) метод LtM существенно повысил способность модели обобщать на более длинные последовательности слов. Без специального обучения модель GPT-3 (code-davinci-002) c chain-of-thought подсказками решала такие задачи верно лишь примерно в 32% случаев, когда список слов был длины 12, тогда как с использованием Least-to-Most Prompting точность достигала ~74%[1]. При коротких списках (длины, встречавшейся в примерах) обе стратегии справлялись хорошо, однако при росте длины последовательности качество chain-of-thought резко падало, в то время как Least-to-Most обеспечивал более плавное снижение и сохранял высокую точность[1]. Это демонстрирует способность LtM-метода обобщать логику решения на более сложные (длинные) входные данные.
  • Композиционное обобщение (compositional generalization). Данная категория задач включает, например, перевод текстовых инструкций на последовательность действий (как в бенчмарке SCAN, требующем выполнять команды типа "jump twice and run" и обобщать на более длинные комбинации)[4]. Метод LtM позволил LLM успешно решать даже самые сложные варианты таких задач. В частности, модель GPT-3 с LtM-подсказками достигла 99% точности на всех вариантах разделения данных в наборе SCAN (включая самый сложный length split, где тестовые последовательности длиннее обучающих), используя всего 14 примеров в подсказке[2]. Для сравнения, стандартный chain-of-thought подход давал лишь около 16% точности в аналогичных условиях[2]. Более того, этого удалось добиться без обучения модели на тренировочных данных, тогда как предыдущие лучшие решения для SCAN опирались на специальные нейро-символические архитектуры или методы расширения данных, требующие использования всего обучающего набора из >15 000 примеров[2][2]. Таким образом, Least-to-Most Prompting продемонстрировал беспрецедентную для моделей без дообучения способность к композиционному обобщению.
  • Математические текстовые задачи. Метод был протестирован на задачах арифметики в тексте, например, из датасета GSM8K (сложные текстовые задачи на сложение/вычитание и логику)[2], а также на ряде вопросов из набора DROP (проверяющих умение извлекать и считать числовую информацию в тексте)[2]. И здесь Least-to-Most Prompting показал улучшение точности по сравнению с chain-of-thought. Так, для GSM8K при использовании модели code-davinci-002 точность ответов возросла с ~60.9% до ~62.4%[2]. На подзадачах DROP выигрыш был еще заметнее: например, на части вопросов о «футбольных» фактах точность поднялась с ~59.6% (chain-of-thought) до ~73.4% при применении LtM[2]. Хотя рост качества на математических задачах был менее драматичным, чем в SCAN, авторы отмечают важный момент: почти любую задачу GSM8K удаётся верно решить, если модель получает правильную декомпозицию проблемы[2]. Это свидетельствует, что ключ к успешному решению — удачно сформулированные промежуточные вопросы; LtM-подход как раз направлен на автоматическое создание таких вопросов и их последовательное решение.

В сумме, эксперименты подтверждают, что Least-to-Most Prompting значительно превосходит как наивное few-shot подсказывание без рассуждений, так и chain-of-thought метод на многих видах задач, требующих многошагового вывода[1]. Метод позволяет LLM решать проблемы, более сложные, чем те, с которыми модель изначально знакомилась через примеры, расширяя границы ин-context learning (обучения на лету посредством подсказок).

Ограничения и дальнейшие направления

Несмотря на успехи, метод Least-to-Most Prompting имеет ряд ограничений. Прежде всего, для различных типов задач требуются разные подходы к декомпозиции. Шаблон подсказки, который эффективно разбивает математическую задачу, может совершенно не подойти для логической или обыденной задачи на здравый смысл[2]. Например, подсказки, научившие модель делить текстовые задачи по математике на шаги, оказались бесполезны для вопроса из области здравого смысла вроде «Использовал ли Аристотель ноутбук?» — для такой задачи нужна совершенно иная стратегия разбиения[2]. Поэтому для каждой новой доменной области или типа проблем приходится заново подбирать примеры разбиения задачи на подзадачи и формировать соответствующий prompt, иллюстрирующий структуру решения[3]. Другими словами, знание, как правильно декомпозировать задачу, самим LLM не обобщается универсально, его необходимо задавать через примеры под конкретный класс задач.

Более того, эффективность LtM существенно зависит от того, насколько удачно задача поддается разбиению на самостоятельные подцели. Если модель не сумеет корректно сформулировать промежуточные шаги или если какие-то необходимые подзадачи будут пропущены, итоговое решение также окажется неверным. Тем не менее, сами разработчики отмечают, что во многих случаях неудачу можно превратить в успех, если человек вручную подскажет правильную декомпозицию — тогда модель без труда решает каждую часть и успешно комбинирует ответы[2]. Это подчеркивает потенциал дальнейшего развития подхода: улучшение качества автоматической генерации подзадач и, возможно, интерактивного обучения моделей. В заключении авторы LtM предполагают, что будущее методов подсказок может лежать в сторону полноценного двустороннего диалога с моделью, где модель получает мгновенную обратную связь и корректировку своих промежуточных шагов[2]. Метод Least-to-Most Prompting можно рассматривать как шаг в этом направлении, показывающий, что последовательное взаимодействие с моделью через разбиение и поэтапное решение задач позволяет значительно расширить ее мыслительные способности без обучения на новых данных[1].

Ссылки

Литература

  • Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
  • Zhou, D. et al. (2023). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. ICLR 2023. OpenReview.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Kojima, T. et al. (2022). Large Language Models Are Zero-Shot Reasoners. arXiv:2205.11916.
  • Nye, M. et al. (2021). Show Your Work: Scratchpads for Intermediate Computation with Language Models. arXiv:2112.00114.
  • Lake, B. M.; Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. arXiv:1711.00350.
  • Cobbe, K. et al. (2021). Training Verifiers to Solve Math Word Problems. arXiv:2110.14168.
  • Dua, D. et al. (2019). DROP: A Reading Comprehension Benchmark Requiring Discrete Reasoning Over Paragraphs. arXiv:1903.00161.
  • Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.

Примечания

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 Zhou, Denny et al. «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models». ar5iv.org. [1]
  2. 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 2,11 2,12 2,13 2,14 2,15 2,16 2,17 2,18 2,19 Zhou, Denny et al. «Least-to-Most Prompting Enables Complex Reasoning in Large Language Models». arXiv. [2]
  3. 3,0 3,1 3,2 3,3 «What is least-to-most prompting?». AI Safety Info. [3]
  4. 4,0 4,1 4,2 OXEN AI. «Arxiv Dives Toolformer: Language models can teach themselves to use tools». Medium. [4]