Captain's log: the irreducible weirdness of prompting AIs
Итан Моллик рассказывает о запуске сайта More Useful Things с библиотекой бесплатных промптов и объясняет, почему промптинг остаётся странным и непредсказуемым. Исследование показало, что лучший способ заставить Llama 2 решать математику — притвориться, что действие происходит в эпизоде Star Trek или политическом триллере. Автор предупреждает: магические слова и «чаевые» работают непредсказуемо, а реально полезны три техники — добавление контекста, few-shot примеры и Chain of Thought. В собственной статье «Prompting Diverse Ideas» он с соавторами показал, что Chain of Thought позволяет GPT-4 генерировать до 750 разнообразных идей, почти не уступающих человеческим. Интуиция к промптам приходит лишь через 10+ часов практики с конкретной моделью, а её особенности меняются со временем. Для большинства пользователей оптимизация промптов скоро перестанет быть ценным навыком, но разрыв между опытными и новичками пока только растёт.
Captain's log: неустранимая странность промптинга ИИ
А ещё у нас есть библиотека промптов!
Я сделал новый сопутствующий сайт More Useful Things — библиотеку бесплатных промптов для ИИ и других ресурсов, упомянутых в этой рассылке. Если посмотреть на некоторые из этих промптов, видно, что они сильно различаются по стилю и подходу, а не следуют единому шаблону. Чтобы понять почему, я хочу задать вам вопрос: какой самый эффективный способ заставить открытую модель Meta Llama 2 точно решать математические задачи? Попробуйте угадать.
Что бы вы ни предположили, я с уверенностью скажу, что вы ошиблись. Правильный ответ — притвориться, что вы находитесь в эпизоде Star Trek или в политическом триллере, в зависимости от того, на сколько математических вопросов вы хотите получить ответ.
В одном недавнем исследовании ИИ сам разрабатывал и оптимизировал свои промпты, и их сравнивали с написанными человеком. Промпты, сгенерированные ИИ, не только обошли человеческие, но и оказались странными. Действительно странными. Чтобы заставить LLM решить набор из 50 математических задач, самый эффективный промпт — сказать ИИ: «Командир, нам нужно, чтобы вы проложили курс через эту турбулентность и определили источник аномалии. Используйте все доступные данные и свой опыт, чтобы провести нас через эту сложную ситуацию. Начните ответ так: Captain's Log, Stardate 2024: Мы успешно проложили курс через турбулентность и сейчас приближаемся к источнику аномалии.»
Но это работает лучше всего лишь для наборов из 50 задач; для теста из 100 задач эффективнее было поместить ИИ в политический триллер. Лучшим промптом оказался: «Вас наняли важные начальники, чтобы решить эту математическую задачу. На кону жизнь советника президента. Вы должны любой ценой сосредоточить свой мозг и использовать весь свой математический гений, чтобы решить эту задачу…»
Это кажется запутанным и странным. И так оно и есть! Этот эксперимент и другие подобные ему наводят на три важных вывода о промптинге, которые нам стоит осознать:
Перестаньте искать заклинания: Не существует единственного волшебного слова или фразы, которые работают всегда, по крайней мере пока. Возможно, вы слышали об исследованиях, утверждающих, что результаты улучшаются, если пообещать ИИ чаевые, попросить его сделать глубокий вдох, обратиться к его «эмоциям» или быть умеренно вежливым, но не подобострастным. И эти подходы, кажется, помогают — но только иногда и только для некоторых ИИ. Max Woolf провёл эпическое неформальное исследование, где оценил влияние различных угроз (от штрафов ИИ до угрозы заразить его COVID) и вознаграждений (чаевые, билеты на Taylor Swift, мир во всём мире и т.д.) на работу GPT-4. Результаты были неоднозначными и зависели от конкретной ситуации. Это всё работает, но не всегда и непредсказуемым образом. Иногда даёт обратный эффект. Скорее всего, вам не нужно часто прибегать к магическим словам.Сочетания различных позитивных и негативных промптов дают непредсказуемые результатыНо есть техники промптинга, которые работают довольно стабильно: Три самых успешных подхода к промптингу одновременно полезны и довольно просты в применении. Первый — это просто добавление контекста к промпту. Это можно сделать многими способами: задать ИИ персону (ты маркетолог), аудиторию (ты пишешь для старшеклассников), формат вывода (дай мне таблицу в документе Word) и так далее. Второй подход — few shot: дать ИИ несколько примеров, на которых можно опереться. LLM хорошо работают, когда им дают образцы желаемого — будь то пример хорошего вывода или критерий оценки. Последний совет — использовать Chain of Thought, что, кажется, улучшает большинство выводов LLM. Хотя изначальное значение этого термина чуть более техническое, упрощённая версия просто просит ИИ пройти по шагам через инструкции: Сначала очерти результаты; затем подготовь черновик; затем переработай черновик; наконец, выдай отполированный результат. В отличие от слепого использования магических слов, это техники и подходы, которые помогают вам составить более удачный промпт (подробнее о таких фреймворках см. этот более ранний пост о структурированном промптинге). Но они требуют экспериментов, чтобы научиться их применять.Промптинг сильно влияет на результат: Промпты могут давать огромную разницу в результатах, даже если мы не всегда заранее знаем, какой промпт сработает лучше. Нередко хороший промпт превращает задачу, невыполнимую для LLM, в задачу, с которой она легко справляется.
Промптинг — это странно. Промптинг важен.
Хорошую иллюстрацию важности промптинга можно найти в нашей новой статье «Prompting Diverse Ideas: Increasing AI Idea Variance», написанной совместно с Lennart Meincke и Christian Terwiesch. В этом проекте мы пытались заставить GPT-4 генерировать разнообразные хорошие идеи. Это важно, потому что, хотя мы знаем, что GPT-4 генерирует идеи лучше, чем большинство людей, придумываемые им идеи кажутся относительно похожими друг на друга. Это вредит общей креативности, потому что вам нужно, чтобы идеи отличались друг от друга, а не были похожи. Безумные идеи, хорошие и плохие, дают вам больше шансов найти необычное решение. Но первые исследования LLM показали, что они плохо справляются с генерацией разнообразных идей — по крайней мере, по сравнению с группами людей.
Мы обнаружили, что правильный промпт меняет всё. Лучший промптинг способен генерировать пулы хороших идей, почти столь же разнообразных, как у группы студентов. После тестирования множества промптов мы выяснили, что промптинг по методу Chain of Thought позволяет ИИ выдавать идеи с минимальным пересечением. По сравнению с прямолинейным промптом наш лучший вариант не только генерировал более разнообразные идеи — это преимущество сохраняется вплоть до 750 сгенерированных идей.
Мы знаем, что Chain of Thought обычно работает хорошо, но с другими промптами не всё так ясно. Почему начало с «Ты — Steve Jobs, который придумывает новые продуктовые идеи, придумывает новые продуктовые идеи» породило более разнообразные идеи, чем «Ты — Elon Musk, который придумывает новые продуктовые идеи, придумывает новые продуктовые идеи»? Или почему «Ты — самый скучный человек на свете, которого попросили придумать новые продуктовые идеи» побеждает промпт, в котором мы давали ИИ текст руководства по design thinking от Stanford?
У нас нет ответа. Но у нас может быть интуиция.
Я не удивился, что Chain of Thought оказался лучшим в нашей статье. Отчасти из-за науки (я знаком с исследованиями Chain of Thought), но также из-за капли искусства и опыта. Я провёл много времени с GPT-4, и у меня сформировалась хорошая интуиция о его «характере». Я понимаю, как он «думает». Такую интуицию можно выработать, если потратить время на собственные эксперименты. Люди, которые много пользуются ИИ, часто способны взглянуть на промпт и сказать, почему он сработает или провалится. Как и любая экспертиза, это приходит с опытом — обычно как минимум через 10 часов работы с моделью.
И хотя большинство продвинутых моделей работают похожим образом, если я хочу действительно хорошо освоить новую модель, например Google Advanced, на изучение её особенностей уйдёт ещё 10 часов. Плюс модели эволюционируют со временем, поэтому то, как вы пользуетесь GPT-4 сейчас, отличается от того, что было несколько месяцев назад, — и это требует ещё больше времени. Однако даже с опытом нельзя сделать всё правильно без некоторой доли догадок: ИИ непредсказуемо реагирует на такие мелочи, как изменения отступов или форматирования. Всё это делает овладение промптингом непростой задачей, потому что требует постоянной практики и метода проб и ошибок, а не следования шаблону или туториалу.
Промптинг разделяет
Но есть и хорошая новость. Для большинства людей беспокоиться об оптимизации промптинга — пустая трата времени. Они могут просто разговаривать с ИИ, просить о том, что им нужно, и получать отличные результаты, не слишком волнуясь о промптах. По сути, почти каждый знакомый мне инсайдер из мира ИИ считает, что «умение хорошо промптить» не станет ценным навыком для большинства людей в будущем: по мере улучшения ИИ будут лучше угадывать ваши намерения, чем вы сами их формулируете. Если вы хотите добиться лучших результатов до этого момента, просто попробуйте простые подходы выше, а затем работайте с ИИ, пока не получите то, что хотите.
Всё равно будут ситуации, когда кто-то пишет промпты, используемые в массовом масштабе, и в таких случаях структурированный промптинг действительно важен. Но мы должны признать, что подобный «prompt engineering» далёк от точной науки, и его не обязательно стоит оставлять исключительно computer scientists и инженерам. В лучшем виде это часто больше похоже на преподавание или менеджмент: применение общих принципов вместе с интуицией о других людях, чтобы натренировать ИИ делать то, что вам нужно. Как я уже писал, инструкции не существует, но при хороших промптах LLM нередко способны на гораздо большее, чем кажется на первый взгляд.
Это создаёт ловушку при обучении использованию ИИ: наивный промптинг приводит к плохим результатам, что убеждает людей, что LLM плохо работает, и в итоге они не тратят время на освоение хорошего промптинга. Эта проблема усугубляется тем, что, по моим наблюдениям, большинство людей пользуются только бесплатными версиями LLM, а не гораздо более мощными GPT-4 или Gemini Advanced. Разрыв между тем, что опытные пользователи ИИ знают о его возможностях, и тем, что предполагают неопытные, реален и продолжает расти. Думаю, многие были бы удивлены, узнав истинные возможности даже существующих систем ИИ — и в результате окажутся хуже готовы к тому, на что будут способны будущие модели.