просимо
😃 Основи
💼 Основні застосунки
🧙‍♂️ Середній рівень
🤖 Агенти
⚖️ Надійність
🖼️ Написання запитів для створення зображень
🔓 Злом запиту
🔨 Інструменти
💪 Налаштування запиту
🎲 Різне
📙 Словниковий довідник
📚 Бібліографічний список
📦 Рекомендовані продукти
🛸 Додаткові ресурси
🔥 У тренді
✨ Список залучених людей

Запит від найменшого до найбільшого

🟦 This article is rated medium
Reading Time: 5 minutes

Last updated on August 7, 2024

Запит від найменшого до найбільшого (LtM) виводить CoT на вищу планку, спочатку розбиваючи проблему на підпроблеми, а потім розв’язуючи кожну. Це техніка, розроблена на основі реальних освітніх стратегій для дітей.

Як і з CoT, проблема, яку потрібно вирішити, розкладається на набір підпроблем, які будуються одна на одній. На другому кроці ці підпроблеми вирішуються одна за одною. Всупереч ланцюгу думок, рішення попередніх підпроблем підставляється в запит, який намагається розв'язати наступну проблему.

Діаграма запиту від найменшого до найбільшого

Приклад: відповідь на запит клієнта

Поставмо дещо складне запитання про обслуговування клієнтів:


Нам це не вдалося (але ми встигаємо до терміну повернення), тому спробуймо розбити проблему на підпроблеми:


Спробуємо вирішити першу підпроблему:

Подолавши лише її, ми змогли повністю розв'язати проблему. Якби GPT-3 не відповів би одразу, ми могли б вирішити наступну підпроблему і так доти, доки він не надавав би відповідь. Зверніть увагу, що ми використовуємо Let's go step by step.. Додавання цієї фрази не завжди є необхідним, але це допомагає для цього прикладу.

Приклад: об’єднання літер

Спочатку LtM було запроваджено з використанням декількох запитів, а не чіткої інструкції розбити проблему на кілька кроків (як показано вище). Крім того, іноді це можна реалізувати за допомогою одного запиту, а не послідовності запитів. Розгляньмо проблему об’єднання останніх літер окремих слів (наприклад, задано cake, etymology як вхідні слова, вихід має бути ey).

Перша спроба: Стандартний запит

Стандартний запит із прикладами на основі кількох ілюстрацій працює дуже погано, навіть із більш просунутою моделлю, такою як text-davinci-003.

Друга спроба: Ланцюг думок

Ланцюг думок працює значно краще, ніж стандартні запити. Це пов’язано з тим, що він дозволяє моделі самостійно вилучати останню літеру кожного слова, зменшуючи складність до операції групування літер, які вона збирала раніше. Однак це починає давати збій за більших розмірів.

Третя спроба: від найменшого до найбільшого (один запит)

Із запитом від найменшого до найбільшого ми розширюємо концепцію ланцюга думок, переформульовуючи окремі кроки, щоб повторити попередній зведений результат. Це спрощує кожен крок до об’єднання лише однієї нової літери. І забезпечує високу продуктивність для 12 і більше слів.

Цей підхід може здатися дуже схожим на ланцюг думок, але концептуально він сильно відрізняється. Тут на кожному кроці ми вводимо попереднє об'єднання. У випадку «think, machine, learning» замість об’єднання літер «k», «e», «g» окремо, він об’єднає «k» і «e», потім «ke» і «g». У результаті цього повторного введення попередньої роботи модель тепер може узагальнюватися на набагато довші ланцюги, оскільки вона переносить результат поступово, і їй потрібно виконувати лише невелику кількість роботи на кожному кроці.

Результати

У задачі на об’єднання останньої літери з 12 словами точність ланцюга думок становить 34%, а запиту Least to Most – 74% (у документі використовується text-davinci-002 як модель).

Приклад: композиційне узагальнення (SCAN)

Бенчмарк SCAN вимагає, щоб модель перетворювала природну мову на послідовність дій. Наприклад, речення «бігти ліворуч і йти двічі» буде перекладено як «ПОВЕРНУТИ_ЛІВОРУЧ + БІГТИ + ЙТИ * 2». Мовні моделі працюють особливо погано, коли стикаються з послідовностями довшими, ніж у навчальному наборі.

Перша спроба: стандартні запити

Використовуючи прості стандартні запити, text-davinci-003 досягає вражаючих результатів, але все одно зазнає невдачі.

Друга спроба: від найменшого до найбільшого, перший крок – скорочення

Тут ми працюємо з 2-ма різними запитами. Перший запит використовується, щоб звести задачу введення до простішої послідовності кроків. Другий запит — для зіставлення цієї спрощеної послідовності кроків з реальними діями.

Обидва досить довгі та використовують стиснуту нотацію python для дії, щоб заощадити токени.

Перший крок розбиває опис природної мови на простішу, але все ще схожу на людську. Це допоможе етапу зіставлення зрозуміти все послідовно. Наприклад, «стрибнути навколо ліворуч двічі» скорочується до «стрибнути ліворуч» -> TURN_LEFT + JUMP і «стрибнути навколо ліворуч» -> (TURN_LEFT + JUMP) * 4. Подібним чином крок скорочення використовується для пояснення поняття повторення (двічі, тричі тощо).

Друга спроба: від найменшого до найбільшого, другий крок – зіставлення

На другому кроці ми використовуємо результат скорочення та знову використовуємо досить довгий запит (14 випадків), щоб перевести скорочений опис природною мовою в послідовність дій.

Тут ми вводимо результат першого кроку:

«стрибнути навколо ліворуч двічі» можна вирішити за допомогою: «стрибнути ліворуч», «стрибнути навколо ліворуч», «стрибнути навколо ліворуч двічі». «йти навпроти ліворуч тричі» можна вирішити за допомогою: «йти навпроти ліворуч», «йти навпроти ліворуч тричі». Отже, «стрибнути навколо ліворуч двічі після йти навпроти ліворуч тричі» можна вирішити за допомогою: «стрибнути ліворуч», «стрибнути навколо ліворуч», «стрибнути навколо ліворуч двічі», «пройти навпроти ліворуч», «пройти протилежно навпроти ліворуч тричі»

у ВММ.

Результати

LtM сприяє кільком покращенням:

  • покращена точність у порівнянні з ланцюгом думок;
  • посилене узагальнення в задачах, складніших за ті, що в запиті;
  • значно покращена продуктивність у композиційному узагальненні, зокрема в бенчмарку SCAN.

Стандартні запити за допомогою text-davinci-002 (модель, яка використовується в статті) призводять до 6% успішних розв’язаних проблем SCAN, тоді як запит LtM дає вражаючий показник успіху — 76%. Результати є більш значущими з code-davinci-002, де запит від найменшого до найбільшого досягає 99,7% успіху.

Сандер Шульхофф

Footnotes

  1. Zhou, D., Schärli, N., Hou, L., Wei, J., Scales, N., Wang, X., Schuurmans, D., Cui, C., Bousquet, O., Le, Q., & Chi, E. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models.

  2. Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.

  3. Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350 2

Copyright © 2024 Learn Prompting.