mirror of
https://github.com/dair-ai/Prompt-Engineering-Guide
synced 2024-11-10 01:13:36 +00:00
58 lines
7.8 KiB
Plaintext
58 lines
7.8 KiB
Plaintext
|
# Исследование по классификации
|
|||
|
|
|||
|
[Clavié и др., 2023](https://arxiv.org/abs/2303.07142) представляют исследование по инженерии промптов, примененное к среднемасштабному случаю классификации текста в системе производства. Используя задачу классификации работы на настоящую "рабочую позицию для выпускников", подходящую для недавно выпустившихся выпускников, они оценили ряд техник инженерии промптов и сообщают о своих результатах с использованием 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% |
|
|||
|
|
|||
|
Соответствие шаблону относится к тому, насколько часто модель отвечает в желаемом формате.
|