Исследование по классификации
Clavié и др., 2023 (opens in a new tab) представляют исследование по инженерии промптов, примененное к среднемасштабному случаю классификации текста в системе производства. Используя задачу классификации работы на настоящую "рабочую позицию для выпускников", подходящую для недавно выпустившихся выпускников, они оценили ряд техник инженерии промптов и сообщают о своих результатах с использованием GPT-3.5 (gpt-3.5-turbo
).
Работа показывает, что LLM превосходит все другие протестированные модели, включая крайне сильный базовый уровень в DeBERTa-V3. gpt-3.5-turbo
также заметно превосходит более старые варианты GPT3 по всем основным метрикам, но требует дополнительного анализа вывода, так как его способность следовать шаблону кажется хуже, чем у других вариантов.
Основные результаты их подхода к инженерии промптов:
- Для задач, в которых не требуется специалистические знания, метод CoT с малым количеством примеров показывал худшие результаты по сравнению с методом Zero-shot во всех экспериментах.
- Влияние промпта на правильное рассуждение огромно. Простое задание модели классифицировать данную работу дает значение F1-меры 65,6, тогда как модель с инженерией промпта достигает значения F1-меры 91,7.
- Попытка заставить модель следовать шаблону снижает производительность во всех случаях (это поведение исчезает в ранних тестах с GPT-4, которые являются последующими по отношению к статье).
- Множество небольших модификаций имеют значительное влияние на производительность.
- Таблицы ниже показывают все протестированные модификации.
- Правильное формулирование инструкций и повторение ключевых моментов, кажется, являются наиболее важными факторами успеха.
- Даже такая простая вещь, как дать модели (человеческое) имя и обращаться к ней таким образом, повысила значение F1-меры на 0,6 пункта.
Протестированные модификации промпта
Краткое название | Описание |
---|---|
Базовый | Предоставить объявление о работе и спросить, подходит ли оно выпускнику. |
CoT | Дать несколько примеров точной классификации перед запросом. |
Zero-CoT | Попросить модель рассуждать пошагово перед предоставлением ответа. |
rawinst | Дать инструкции о роли и задаче, добавив их к пользовательскому сообщению. |
sysinst | Дать инструкции о роли и задаче в системном сообщении. |
bothinst | Разделить инструкции с указанием роли в системном сообщении и задачи в пользовательском сообщении. |
mock | Дать задание с помощью имитации дискуссии, где оно их учитывает. |
reit | Укрепить ключевые элементы в инструкциях путем их повторения. |
strict | Попросить модель ответить, строго следуя заданному шаблону. |
loose | Попросить только предоставить окончательный ответ, следуя заданному шаблону. |
right | Попросить модель прийти к правильному выводу. |
info | Предоставить дополнительную информацию, чтобы устранить типичные ошибки рассуждения. |
name | Дать модели имя, которым мы обращаемся к ней в разговоре. |
pos | Предоставить модели положительную обратную связь перед запросом. |
Влияние всех модификаций промпта на производительность
Точность | Полнота | F1 | Соответствие шаблону | |
---|---|---|---|---|
Базовый | 61.2 | 70.6 | 65.6 | 79% |
CoT | 72.6 | 85.1 | 78.4 | 87% |
Zero-CoT | 75.5 | 88.3 | 81.4 | 65% |
+rawinst | 80 | 92.4 | 85.8 | 68% |
+sysinst | 77.7 | 90.9 | 83.8 | 69% |
+bothinst | 81.9 | _ |
93.9_ | 87.5 | 71% | | +bothinst+mock | 83.3 | 95.1 | 88.8 | 74% | | +bothinst+mock+reit | 83.8 | 95.5 | 89.3 | 75% | | +bothinst+mock+reit+strict | 79.9 | 93.7 | 86.3 | 98% | | +bothinst+mock+reit+loose | 80.5 | 94.8 | 87.1 | 95% | | +bothinst+mock+reit+right | 84 | 95.9 | 89.6 | 77% | | +bothinst+mock+reit+right+info | 84.9 | 96.5 | 90.3 | 77% | | +bothinst+mock+reit+right+info+name | 85.7 | 96.8 | 90.9 | 79% | | +bothinst+mock+reit+right+info+name+pos| 86.9 | 97 | 91.7 | 81% |
Соответствие шаблону относится к тому, насколько часто модель отвечает в желаемом формате.