Промпт-інжиніринг
Останні сучасні досягнення в інженерії промпта: Комплексний гід

Інженерія промпта, мистецтво та наука створення промптів, які викликають бажані відповіді з боку великих мовних моделей (LLM), стала важливою областю досліджень та розробок.
Від покращення можливостей розуміння до забезпечення безперебійного інтегрування з зовнішніми інструментами та програмами, останні досягнення в інженерії промпта відкривають нові горизонти в галузі штучного інтелекту. Нижче ми обговорюємо останні передові техніки та стратегії, які формують майбутнє інженерії промпта.
Розширені стратегії промпта для складного розв’язання проблем
Хоча CoT промпт довів свою ефективність для багатьох завдань розуміння, дослідники вивчили більш розширені стратегії промпта для вирішення ще більш складних проблем. Одним із таких підходів є промпт “від меншого до більшого”, який розбиває складну проблему на менші, більш керованиі підпроблеми, які розв’язуються незалежно та потім об’єднуються для отримання остаточного розв’язку.
Інноваційна техніка – це “Дерево думок” (ToT) промпт, який дозволяє LLM генерувати кілька ліній розуміння або “думок” паралельно, оцінювати свій прогрес до розв’язку та повертатися назад або досліджувати альтернативні шляхи за потреби. Цей підхід використовує алгоритми пошуку, такі як пошук в ширину або пошук в глибину, що дозволяє LLM займатися пошуком та поверненням під час процесу розв’язання проблем.
Інтеграція LLM з зовнішніми інструментами та програмами
Хоча LLM надзвичайно потужні, вони мають вроджені обмеження, такі як неможливість доступу до актуальної інформації або виконання точних математичних обчислень. Для подолання цих недоліків дослідники розробили техніки, які дозволяють LLM безперебійно інтегруватися із зовнішніми інструментами та програмами.
Одним із помітних прикладів є Toolformer, який вчить LLM ідентифікувати сценарії, які вимагають використання зовнішніх інструментів, вказувати, який інструмент використовувати, надавати відповідний вхід та включати вивід інструменту в остаточну відповідь. Цей підхід涉ує створення синтетичної навчальної бази даних, яка демонструє правильне використання різних текст-до-текст API.
Інноваційна рамка Chameleon використовує “підключення та відключення” підхід, дозволяючи центральному LLM-контролеру генерувати природні мовні програми, які складаються та виконують широкий спектр інструментів, включаючи LLM, моделі бачення, пошукові системи та функції Python. Цей модульний підхід дозволяє Chameleon вирішувати складні, багатомодальні завдання розуміння, використовуючи сильні сторони різних інструментів та моделей.
Фундаментальні стратегії промпта
Промпт без прикладів
Промпт без прикладів涉ує опис завдання в промпті та запитання моделі розв’язати його без прикладів. Наприклад, для перекладу “cheese” на французьку мову промпт без прикладів міг би бути:
Перекладіть наступне англійське слово на французьку: cheese.
Цей підхід простий, але може бути обмежений неоднозначністю описів завдань.
Промпт з кількома прикладами
Промпт з кількома прикладами покращує промпт без прикладів, включаючи кілька прикладів завдання. Наприклад:
Перекладіть наступні англійські слова на французьку:
1. apple => pomme
2. house => maison
3. cheese => fromage
Цей метод зменшує неоднозначність та надає моделі більш чітке керівництво.
Промпт з інструкціями
Промпт з інструкціями явно описує бажану відповідь, що особливо ефективно для моделей, навчених слідувати інструкціям. Наприклад:
Перекладіть слово "cheese" на французьку. Правильний переклад - "fromage".
Моделі, такі як GPT-4, були спеціально дофіновані для точного виконання таких інструкцій.
Розширені техніки промпта
Покращення можливостей розуміння з промптом ланцюга думок
Одним із найважливіших проривів в інженерії промпта став розвиток промпта ланцюга думок (CoT). Цей підхід спрямований на виклик та покращення можливостей розуміння LLM, заохочуючи їх генерувати крок за кроком процес думок або раціоналізації перед тим, як надати остаточну відповідь.

Ліворуч: Традиційні методи промпту LLM засновані на загальних вхідних даних (0-шот CoT) або вимагають позначених прикладів (кілька шотів CoT). Праворуч: Новый підхід промпту LLM створює відповідні приклади перед розв’язанням проблеми, усуваючи потребу в позначенні, а також налаштовуючи приклади для кожної унікальної проблеми
Промпт ланцюга думок працює шляхом надання LLM прикладів, які включають не тільки вхідні та вихідні дані, але й проміжні кроки розуміння або “ланцюг думок”, який веде до розв’язку. Навчаючись на цих прикладах, LLM може потім генерувати свій власний ланцюг думок, коли йому надаються нові завдання, покращуючи свою здатність вирішувати складні завдання розуміння.
Приклад:
Вхідні дані: Наталі має 3 яблука, і вона хоче розділити їх порівну між своїми 2 друзями. Скільки яблук отримає кожна людина? Ланцюг думок: Окей, давайте розберемо це крок за кроком:
- Наталі має 3 яблука
- Вона хоче розділити їх порівну між своїми 2 друзями
- Тому тут 3 людини (Наталі та її 2 друзі)
- Щоб розділити яблука порівну, ми ділимо загальну кількість яблук (3) на кількість людей (3)
- 3 розділено на 3 дорівнює 1
- Тому кожна людина отримає 1 яблуко. Вихідні дані: Кожна людина отримає 1 яблуко.
Генеруючи явний процес думок, LLM, такі як GPT-3 та Codex, продемонстрували значне покращення арифметичних, загальних та символічних завдань розуміння.
Самоузгодженість
Самоузгодженість покращує надійність промпта ланцюга думок, генеруючи кілька ланцюгів думок та приймаючи рішення більшості щодо остаточної відповіді. Цей метод пом’якшує вплив будь-якої окремої неправильної лінії розуміння.
Промпт від меншого до найбільшого
Промпт від меншого до найбільшого розбиває складні проблеми на менші, більш керованиі підпроблеми, розв’язуючи кожну з них послідовно та використовуючи контекст попередніх розв’язків для інформування наступних кроків. Цей підхід є корисним для завдань багатокрокового розуміння.
Останні досягнення в інженерії промпта
Інженерія промпта швидко розвивається, і кілька інноваційних технік з’явилися для покращення продуктивності великих мовних моделей (LLM). Давайте розглянемо деякі з цих передових методів детально:
Автоматичний промпт ланцюга думок (Auto-CoT)
Що це таке: Auto-CoT – це метод, який автоматизує генерацію ланцюгів думок для LLM, усуваючи потребу в ручному створенні прикладів. Цей підхід використовує промпт ланцюга думок без прикладів (0-шот CoT), коли модель спрямовується на генерацію крок за кроком ланцюга думок.
Як це працює:
- Промпт ланцюга думок без прикладів: Модель отримує простий промпт, такий як “Давайте подумаємо крок за кроком”, щоб заохотити детальне розуміння.
- Різноманітність демонстрацій: Auto-CoT вибирає різноманітні питання та генерує ланцюги думок для цих питань, забезпечуючи різноманітність типів задач та ліній розуміння.
Переваги:
- Автоматизація: Зменшує ручну роботу, необхідну для створення демонстраційних прикладів.
- Продуктивність: На різних завданнях розуміння Auto-CoT показав продуктивність, порівнянну з ручним промптом ланцюга думок.
Промпт на основі складності
Що це таке: Цей підхід вибирає приклади з найбільшою складністю (тобто найбільшою кількістю кроків розуміння) для включення в промпт. Він спрямований на покращення продуктивності моделі на завданнях, які вимагають кількох кроків розуміння.
Як це працює:
- Вибір прикладів: Промпти вибираються на основі кількості кроків розуміння, які вони містять.
- Узгодженість на основі складності: Під час декодування генеруються кілька ланцюгів думок, і приймається рішення більшості з найбільш складних ланцюгів.
Переваги:
- Покращена продуктивність: Значно краща точність на завданнях багатокрокового розуміння.
- Стабільність: Ефективна навіть з різними розподілами промптів та шумними даними.
Промпт прогресивних підказок (PHP)
Що це таке: PHP ітеративно уточнює відповіді моделі, використовуючи раніше згенеровані раціоналізації як підказки. Цей метод використовує попередні відповіді моделі для направлення її до правильної відповіді через кілька ітерацій.
Як це працює:
- Початкова відповідь: Модель генерує базову відповідь, використовуючи стандартний промпт.
- Підказки та уточнення: Ця базова відповідь потім використовується як підказка в наступних промптах для уточнення відповіді.
- Ітеративний процес: Цей процес продовжується до тих пір, поки відповідь не стабілізується протягом послідовних ітерацій.
Переваги:
- Точність: Значне покращення точності розуміння.
- Ефективність: Зменшує кількість необхідних шляхів вибірки, покращуючи обчислювальну ефективність.
Розкладний промпт (DecomP)
Що це таке: DecomP розбиває складні завдання на простіші підзадачі, кожна з яких обробляється окремим промптом або моделлю. Цей модульний підхід дозволяє більш ефективно обробляти складні завдання.
Як це працює:
- Розкладання завдань: Головне завдання розбивається на простіші підзадачі.
- Обробники підзадач: Кожна підзадача обробляється окремим промптом або моделлю.
- Модульна інтеграція: Ці обробники можуть бути оптимізовані, замінені або поєднані за необхідності для розв’язання складної задачі.
Переваги:
- Гнучкість: Легше відлажувати та покращувати окремі підзадачі.
- Масштабованість: Ефективно обробляє завдання з довгими контекстами та складними підзадачами.
Промпт гіпотез до теорій (HtT)
Що це таке: HtT використовує процес наукового відкриття, коли модель генерує та верифікує гіпотези для розв’язання складних задач. Цей метод涉ує створення бібліотеки правил з верифікованих гіпотез, яку модель використовує для розуміння.
Як це працює:
- Індуктивна стадія: Модель генерує потенційні правила та верифікує їх проти навчальних прикладів.
- Створення бібліотеки правил: Верифіковані правила збираються для формування бібліотеки правил.
- Дедуктивна стадія: Модель застосовує ці правила до нових задач, використовуючи бібліотеку правил для направлення свого розуміння.
Переваги:
- Точність: Зменшує ймовірність помилок, спираючись на верифікований набір правил.
- Переносимість: Навчені правила можуть бути перенесені на різні моделі та форми задач.
Техніки промпта з підтримкою інструментів
Toolformer
Toolformer інтегрує LLM з зовнішніми інструментами через текст-до-текст API, дозволяючи моделі використовувати ці інструменти для розв’язання проблем, які вона не могла б розв’язати самостійно. Наприклад, LLM могла б викликати API калькулятора для виконання арифметичних операцій.
Chameleon
Chameleon використовує центральний LLM-контролер для генерації програми, яка складається з декількох інструментів для розв’язання складних завдань розуміння. Цей підхід використовує широкий спектр інструментів, включаючи моделі бачення та пошукові системи, для покращення можливостей розв’язання проблем.
GPT4Tools
GPT4Tools дофінує відкриті LLM для використання багатомодальних інструментів через самонавчальний підхід, демонструючи, що навіть не-пropriетарні моделі можуть ефективно використовувати зовнішні інструменти для покращення продуктивності.
Gorilla і HuggingGPT
Обидва Gorilla та HuggingGPT інтегрують LLM з спеціалізованими моделями глибокого навчання, доступними в Інтернеті. Ці системи використовують процес дофінування з урахуванням пошуку та підходи планування та координації, відповідно, для розв’язання складних задач, що включають кілька моделей.
Програмно-допоміжні мовні моделі (PALs) та програми думок (PoTs)
Крім інтеграції з зовнішніми інструментами, дослідники вивчили способи покращення можливостей розв’язання проблем LLM шляхом поєднання природної мови з програмними конструкціями. Програмно-допоміжні мовні моделі (PALs) та програми думок (PoTs) – це два таких підходи, які використовують код для доповнення процесу розуміння LLM.
PALs промптують LLM генерувати раціоналізацію, яка чередує природну мову з кодом (наприклад, Python), який потім може бути виконаний для отримання остаточного розв’язку. Цей підхід вирішує поширений випадок, коли LLM генерує правильну раціоналізацію, але надає неправильну остаточну відповідь.
Аналогічно, PoTs використовують символьну бібліотеку математики, таку як SymPy, дозволяючи LLM визначати математичні символи та вирази, які можуть бути поєднані та оцінені за допомогою функції розв’язання SymPy. Делегуючи складні обчислення кодовому інтерпретатору, ці техніки відокремлюють розуміння від обчислень, дозволяючи LLM ефективно розв’язувати складніші завдання.
Поняття та використання контекстних вікі
Продуктивність LLM сильно залежить від їх здатності обробляти та використовувати контекст, наданий у промпті. Дослідники вивчили, як LLM обробляють довгі контексти та вплив неpertinентної чи відволікаючої інформації на їхні виводи.
Явище “Загублені в середині” підкреслює, як LLM схильні приділяти більше уваги інформації на початку та в кінці свого контексту, тоді як інформація в середині часто ігнорується або “загубляється”. Це відкриття має наслідки для інженерії промпта, оскільки ретельне розміщення відповідної інформації всередині контексту може суттєво вплинути на продуктивність.
Інший напрямок досліджень зосереджується на пом’якшенні негативних ефектів неpertinентного контексту, який може суттєво погіршити продуктивність LLM. Техніки, такі як самоузгодженість, явні інструкції ігнорувати неpertinентну інформацію, а також включення прикладів, які демонструють розв’язання задач з неpertinентним контекстом, можуть допомогти LLM навчитися фокусуватися на найбільш відповідній інформації.
Покращення можливостей письма з промптом стратегіями
Хоча LLM добре генерують текст, подібний до людського, їхні можливості письма можна ще більше покращити за допомогою спеціалізованих промпт стратегій. Одним із таких підходів є промпт “Шкіряна структура думок” (SoT), який спрямований на зменшення затримки послідовної декодифікації, імітуючи людський процес письма.
SoT промпт涉ує промптування LLM генерувати скелет або план своєї відповіді спочатку, після чого йдуть паралельні API-виклики для заповнення деталей кожного елементу плану. Цей підхід не тільки покращує затримку інференсу, але й може покращити якість письма, заохочуючи LLM планувати та структурувати свій вивід більш ефективно.
Інша промпт стратегія, промпт “Ланцюг густини” (CoD), зосереджується на покращенні густини інформації в підсумках, згенерованих LLM. Ітеративно додаючи сутності до підсумку при фіксованій довжині, CoD промпт дозволяє користувачам досліджувати компроміс між лаконічністю та повнотою, в кінцевому підсумку генеруючи більш інформативні та читабельні підсумки.
Нові напрямки та майбутній погляд
Область інженерії промпта швидко розвивається, і дослідники продовжують досліджувати нові горизонти та розширювати межі того, що можливо з великими мовними моделями. Деякими з нових напрямків є:
- Активний промпт: Техніки, які використовують принципи активного навчання на основі неоднозначності для ідентифікації та позначення найбільш корисних прикладів для розв’язання конкретних завдань розуміння.
- Багатомодальний промпт: Розширення стратегій промпта для обробки багатомодальних вхідних даних, які поєднують текст, зображення та інші модальності даних.
- Автоматична генерація промпта: Розробка оптимізаційних технік для автоматичної генерації ефективних промптів, адаптованих до конкретних завдань або доменів.
- Інтерпретація та пояснюваність: Дослідження методів промпта, які покращують інтерпретацію та пояснюваність виводів LLM, забезпечуючи більшу прозорість та довіру до їхніх процесів прийняття рішень.
Поки LLM продовжують розвиватися та знаходитися застосування в різних областях, інженерія промпта відігратиме важливу роль у розблокуванні їхнього повного потенціалу. Використовуючи останні техніки та стратегії промпта, дослідники та практики можуть розробляти більш потужні, надійні та спеціалізовані рішення штучного інтелекту, які розширюють межі того, що можливо з обробкою природної мови.
Висновок
Область інженерії промпта для великих мовних моделей швидко розвивається, і дослідники продовжують розширювати межі того, що можливо. Від покращення можливостей розуміння з промптом ланцюга думок до інтеграції LLM з зовнішніми інструментами та програмами, останні досягнення в інженерії промпта відкривають нові горизонти в галузі штучного інтелекту.














