Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1
В этой статье мы рассмотрим различные доказательные техники работы с промптами, актуальные на 2024 год.
Освоение и практика этих техник помогут улучшить ваш пользовательский опыт при работе с LLM (ChatGPT, Claude, LLama и др.), а также позволят получать более точные и эффективные ответы.
Все эти методы описаны в исследовательской работе, проведенной VILA Lab «Mohamed bin Zayed University of AI». Каждая техника была протестирована и оценена исследователями на пяти разных моделях (LLaMA-1-{7, 13}, LLaMA-2-{7, 13}, LLaMA-2-70B-chat, GPT-3.5 (ChatGPT) и GPT-4).
Оригинал исследовательской работы доступен по ссылке. В этой статье я попытался рассмотреть каждый принцип с примерами, а также представил некоторые советы и трюки.
Промпт-инжиниринг (по определению самого ChatGPT) - это искусство общения с LLM. Стать настоящим мастером в этом важнейшем виде искусства 21-го века в настоящее время действительно очень ценно!
Принципы разбиты на 5 категорий:
- Структура и ясность подсказки (Prompt Structure and Clarity) - общие советы
- Конкретность и информативность (Specificity and Information) - Создание контента, креативное написание текста
- Взаимодействие и вовлеченность пользователя (User Interaction and Engagement) - Чат боты
- Содержание и стиль языка (Content and Language Style) - Креативное написание текста, соответствующее особому тону письма
- Сложные задания и подсказки для программирования (Complex Tasks and Coding Prompts) - Сложные задачи для рассуждения, а также генерация и аудит кода
В каждой технике указано, насколько она повышает результат по сравнению с простым запросом.
Улучшение %: Это улучшение ответов LLM по сравнению с базовым уровнем, оцененным людьми, используя указанные принципы. Оригинальные промпты служат эталоном для измерения улучшения.
Корректность %: Это частота, с которой выходные данные были точными, актуальными и без ошибок. Эксперты оценивают этот аспект, который важен для проверки точности модели. Корректность показывает, что модель соответствует ожидаемым стандартам точности.
Структура и ясность подсказки (Prompt Structure and Clarity)
Включите в промпт аудиторию, на которую должен быть ориентирован ответ (Integrate the intended audience in the prompt.)
Integrate the intended audience in the prompt.
📈 Улучшение - 100%
📈 Корректность - 86,7 %
Принцип "Вовлечение аудитории в промпт" означает включение предполагаемой аудитории в инструкции для больших языковых моделей.
Например, в промпте можно указать "аудитория - эксперт в области" или "аудитория - 5-летний ребенок". Это помогает LLM лучше понять, для кого предназначен ответ, и какой стиль, тон или уровень сложности будет наиболее подходящим.
Примеры промптов, использующих этот принцип, включают запросы на объяснение сложных концепций с указанием аудитории, например:
Говори «что делать», а не «чего не делать».
Employ affirmative directives such as ‘do’ while steering clear of negative language like ‘don’t’.
📈 Улучшение - 55%
📈 Корректность - 66.7%
Принцип "Говорите «что делать», а не «что не делать»" означает, что мы должны использовать утвердительные высказывания в инструкциях для больших языковых моделей, а не отрицательные.
Это подход, который подчеркивает действия, которые нужно предпринять, вместо того чтобы сосредотачиваться на том, чего следует избегать.
Например, вместо "не используйте сложные термины" следует использовать "используйте простой язык". Это помогает модели лучше понимать требования и является более эффективным способом коммуникации.
Вместо
Пример от OpenAI
вместо
При форматировании промпта начинайте с '###Инструкция###', за которой следует '###Пример##' или '###Вопрос###'. Используйте один или несколько переносов строк для разделения инструкций, примеров, вопросов, контекста и входных данных.
When formatting your prompt, start with ‘###Instruction ###’, followed by either ‘###Example ###’ or ‘###Question ###’. Use one or more line breaks to separate instructions, examples, questions, context, and input data.
📈 Улучшение - 30%
📈 Корректность - 86.7%
Техника, начинающаяся с "###Instruction ###", за которой следует либо "###Example ###", либо "###Question ###", предназначена для структурирования запросов (промптов) таким образом, чтобы максимально упростить их понимание и обработку.
Это особенно полезно в контекстах, где требуется ясность и точность, например, при обучении модели искусственного интеллекта или в инструкциях для программирования.
Разделение инструкций, примеров, вопросов, контекста и входных данных с помощью одного или нескольких переводов строки помогает визуально отделить различные части промпта, делая информацию более доступной для пользователя и понятнее для LLM.
Используй разделители в промпте.
Use Delimiters.
📈 Улучшение - 35%
📈 Корректность - 93.3%
Это почти то же самое, что и предыдущая техника, но в исследованиях она выделяется как отдельная техника.
В этой технике особое внимание уделяется разделению специальных блоков с помощью тройных символов, например кавычек (”””текст”””) или решёток (###текст ###).
Пример из предыдущей техники также демонстрирует, что каждый блок можно обернуть в тройные символы, но на практике GPT часто понимает и без них.
Используй фразу: «Действуй пошагово».
Use leading words like writing “think step by step”.
📈 Улучшение - 50%
📈 Корректность - 86.7%
Техника промптинга "step-by-step" (пошагово) предполагает разбиение запроса на последовательные шаги, чтобы упростить решение задачи или улучшить понимание процесса. Этот подход помогает языковым моделям, таким как GPT, более точно и последовательно обрабатывать информацию, особенно в сложных или многоэтапных задачах.
Эту технику часто называют “Цепочка мыслей” (Chain-of-thought, CoT), в которой генерируется цепочка рассуждений, а не только ответов. Чаще всего встречается для решения математических или логических задач.
Усиливается, если добавить “обосновывай каждый свой шаг”.
Как использовать технику
- Четко определите задачу, которую хотите решить.
- Сформулируйте промпт, указывая на необходимость думать пошагово.
- Укажите конкретные шаги или попросите модель их предложить, если не знаете, с чего начать.
- Адаптируйте промпт под вашу задачу, добавляя или убирая шаги в зависимости от сложности задачи.
- Think step-by-step на английском вместо “думай пошагово” для корректного понимания модели думать шаг за шагом.
Напишите в конце вашего промпта первую фразу «идеального» для вас ожидаемого ответа.
Use output primers, which involve concluding your prompt with the beginning of the desired output
📈 Улучшение - 75%
📈 Корректность - 80%
Техника использования "output primers" заключается в завершении вашего запроса началом желаемого вывода. Это способ подсказать системе или адресату запроса, в каком формате или стиле вы ожидаете получить ответ.
Это особенно полезно при работе с искусственным интеллектом или автоматизированными системами обработки запросов, поскольку помогает уточнить ожидания и улучшить точность ответов.
Например, “начни свой ответ с фразы…”, “начинай каждый пункт с фразы …”.
Спасибо, что дочитали до конца, надеюсь это было полезно для вас!
Подписывайтесь на мой телеграм канал, в нем я описываю процесс как с помощью нейросетей я создаю новый бизнес с нуля.
В следующих статьях мы рассмотрим другие техники из исследования.