Оперативные стратегии проектирования

Оперативный дизайн позволяет пользователям, которые плохо знакомы с машинным обучением (ML), выводить модели управления с минимальными накладными расходами. Тщательно создавая подсказки, вы можете подтолкнуть модель к достижению желаемого результата. Оперативное проектирование — это эффективный способ поэкспериментировать с адаптацией языковой модели к конкретному варианту использования.

Языковые модели, особенно большие языковые модели (LLM), обучаются на огромных объемах текстовых данных для изучения закономерностей и связей между словами. При получении некоторого текста (подсказки) языковые модели могут предсказать, что будет дальше, подобно сложному инструменту автозаполнения. Поэтому при разработке подсказок учитывайте различные факторы, которые могут повлиять на то, что предсказывает модель дальше.

Хотя не существует правильного или неправильного способа создания подсказки, существуют общие стратегии, которые можно использовать, чтобы повлиять на ответы модели. В этом разделе вы познакомитесь с некоторыми распространенными стратегиями создания подсказок.

Дайте четкие инструкции

Давать инструкции модели — значит говорить ей, что делать. Эта стратегия может быть эффективным способом настройки поведения модели. Убедитесь, что инструкции, которые вы даете, ясны и кратки.

В следующем приглашении представлен блок текста и указание модели суммировать его:

Модель предоставила краткое изложение, но, возможно, вы хотите, чтобы оно было написано так, чтобы его было легче понять. Например, следующая подсказка содержит инструкцию по написанию краткого изложения, достаточно простого для понимания пятиклассником:

Инструкция написать резюме так, чтобы его мог понять пятиклассник, привела к более легкому для понимания ответу.

Краткое содержание:

  • Дайте моделям инструкции по настройке ее поведения.
  • Сделайте каждую инструкцию ясной и краткой.

Включить примеры

Вы можете включить в подсказку примеры, которые покажут модели, как выглядит правильная работа. Модель пытается выявить закономерности и взаимосвязи в примерах и применить их для формирования ответа. Подсказки, содержащие несколько примеров, называются подсказками с несколькими примерами , а подсказки, не содержащие примеров, называются подсказками с нулевым количеством примеров . Кратковременные подсказки часто используются для регулирования форматирования, формулировки, объема или общей структуры ответов модели.

Подсказки с нулевым выстрелом и с несколькими выстрелами

Следующая подсказка с нулевым результатом предлагает модели выбрать лучшее объяснение.

Если ваш вариант использования требует, чтобы модель выдавала краткие ответы, вы можете включить в подсказку примеры, отдающие предпочтение кратким ответам.

В следующей подсказке представлены два примера, в которых предпочтение отдается более коротким объяснениям. В ответе вы можете видеть, что примеры помогли модели выбрать более короткое объяснение (Объяснение 2), а не более длинное объяснение (Объяснение 1), как это было раньше.

Найдите оптимальное количество примеров

Вы можете поэкспериментировать с количеством примеров, которые нужно указать в подсказке, для получения наиболее желаемых результатов. Такие модели, как PaLM, часто позволяют выявить закономерности на нескольких примерах, хотя вам, возможно, придется поэкспериментировать с тем, какое количество примеров приведет к желаемым результатам. Для более простых моделей, таких как BERT, вам может понадобиться больше примеров. В то же время, если вы включите слишком много примеров, модель может начать подстраиваться под ответ на примеры.

Используйте примеры, чтобы показать шаблоны вместо антипаттернов.

Использование примеров, чтобы показать модели шаблон, которому следует следовать, более эффективно, чем использование примеров, чтобы показать модели антипаттерн, которого следует избегать.

Негативный паттерн :

Позитивный паттерн :

Краткое содержание:

  • Включение примеров подсказок в подсказку помогает модели научиться реагировать.
  • Приведите модельные примеры шаблонов, которым следует следовать, а не примеры шаблонов, которых следует избегать.
  • Поэкспериментируйте с количеством включенных подсказок. В зависимости от модели слишком мало примеров неэффективно для изменения поведения модели. Слишком большое количество примеров приводит к переобучению модели.

Пусть модель завершит частичный ввод

Генеративные языковые модели работают как расширенный инструмент автодополнения. Когда вы предоставляете частичный контент, модель может предоставить в качестве ответа остальную часть контента или то, что она считает продолжением этого контента. Если при этом вы включите какие-либо примеры или контекст, модель сможет принять во внимание эти примеры или контекст.

В следующем примере представлено приглашение с инструкцией и вводом сущности:

Хотя модель выполнила подсказку, записать инструкции на естественном языке иногда может быть непросто. В этом случае вы можете указать пример и префикс ответа и позволить модели завершить его:

Обратите внимание, что слово «вафли» было исключено из вывода, поскольку оно не было указано в контексте как допустимое поле.

Предложите модели отформатировать свой ответ

Стратегия завершения также может помочь сформулировать ответ. В следующем примере модели предлагается создать план эссе:

В подсказке не указан формат контура, и модель выбрала формат за вас. Чтобы модель возвращала структуру в определенном формате, вы можете добавить текст, обозначающий начало структуры, и позволить модели завершить ее на основе инициированного вами шаблона.

Краткое содержание:

  • Если вы предоставляете модели частичные входные данные, модель завершает эти входные данные на основе любых доступных примеров или контекста в подсказке.
  • Иногда бывает проще, чтобы модель завершила ввод данных, чем описывать задачу на естественном языке.
  • Добавление частичного ответа на запрос может помочь модели следовать желаемому шаблону или формату.

Добавьте контекстную информацию

Вы можете включить в подсказку инструкции и информацию, необходимую модели для решения проблемы, вместо того, чтобы предполагать, что модель содержит всю необходимую информацию.

В следующем примере модель запрашивает рекомендации по устранению неполадок маршрутизатора:

Ответ выглядит как общая информация по устранению неполадок, не относящаяся к маршрутизатору или состоянию светодиодных индикаторов.

Чтобы настроить ответ для конкретного маршрутизатора, вы можете добавить к запросу руководство по устранению неполадок маршрутизатора в качестве контекста, на который он будет ссылаться при предоставлении ответа.

Краткое содержание:

  • Включите в приглашение информацию (контекст), которую вы хотите, чтобы модель использовала при генерации ответа.
  • Дайте модели инструкции, что делать.

Добавить префиксы

Префикс — это слово или фраза, которые вы добавляете к содержимому приглашения и которое может служить нескольким целям, в зависимости от того, где вы поместили префикс:

  • Входной префикс: добавление префикса к входным сигналам сигнализирует о семантически значимых частях входных данных модели. Например, префиксы «Английский:» и «Французский:» обозначают два разных языка.
  • Префикс вывода. Несмотря на то, что выходные данные создаются моделью, вы можете добавить префикс для выходных данных в приглашении. Выходной префикс предоставляет модели информацию о том, что ожидается в качестве ответа. Например, выходной префикс «JSON:» сигнализирует модели, что выходные данные должны быть в формате JSON.
  • Пример префикса. В подсказках с несколькими фрагментами добавление префиксов к примерам обеспечивает метки, которые модель может использовать при создании выходных данных, что упрощает анализ выходного содержимого.

В следующем примере «Текст:» — это входной префикс, а «Ответ:» — выходной префикс.

Экспериментируйте с разными значениями параметров

Каждый вызов, который вы отправляете модели, включает значения параметров, которые управляют тем, как модель генерирует ответ. Модель может генерировать разные результаты для разных значений параметров. Поэкспериментируйте с различными значениями параметров, чтобы получить наилучшие значения для задачи. Параметры, доступные для разных моделей, могут отличаться. Наиболее распространенными параметрами являются следующие:

  • Максимальное количество выходных токенов
  • Температура
  • Топ-К
  • Топ-П

Максимальное количество выходных токенов

Максимальное количество токенов, которое может быть сгенерировано в ответе. Токен состоит примерно из четырех символов. 100 токенов соответствуют примерно 60-80 словам.

Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.

Температура

Температура используется для выборки во время генерации ответа, которая происходит при применении topP и topK . Температура контролирует степень случайности при выборе токенов. Более низкие температуры хороши для подсказок, требующих более детерминированного и менее открытого или творческого ответа, в то время как более высокие температуры могут привести к более разнообразным и творческим результатам. Температура 0 является детерминированной, что означает, что всегда выбирается ответ с наибольшей вероятностью.

В большинстве случаев попробуйте начать с температуры 0.2 . Если модель возвращает слишком общий или слишком короткий ответ или модель дает запасной ответ, попробуйте увеличить температуру.

Топ-К

Top-K меняет способ выбора токенов моделью для вывода. Значение top-K, равное 1 , означает, что следующий выбранный токен является наиболее вероятным среди всех токенов в словаре модели (также называемое жадным декодированием), а значение top-K, равное 3 , означает, что следующий токен выбирается из трех наиболее вероятных токенов. с помощью температуры.

На каждом этапе выбора токенов отбираются топ-K токенов с наибольшей вероятностью. Затем токены дополнительно фильтруются на основе top-P, причем последний токен выбирается с использованием температурной выборки.

Укажите меньшее значение для менее случайных ответов и более высокое значение для более случайных ответов. Значение top-K по умолчанию равно 40 .

Топ-П

Top-P меняет способ выбора токенов моделью для вывода. Токены выбираются от наиболее (см. top-K) до наименее вероятных до тех пор, пока сумма их вероятностей не станет равна значению top-P. Например, если токены A, B и C имеют вероятность 0,3, 0,2 и 0,1, а значение top-P равно 0.5 , то модель выберет A или B в качестве следующего токена, используя температуру, и исключит C как кандидат.

Укажите меньшее значение для менее случайных ответов и более высокое значение для более случайных ответов. Значение top-P по умолчанию равно 0.95 .

Подскажите стратегии итерации

Оперативное проектирование — это итеративный процесс, который часто требует нескольких итераций, прежде чем вы последовательно получите желаемый ответ. В этом разделе представлены рекомендации по некоторым вещам, которые можно попробовать при повторении подсказок.

Используйте разные формулировки

Использование разных слов или формулировок в подсказках часто приводит к разным ответам модели, хотя все они означают одно и то же. Если вы не получили ожидаемых результатов от подсказки, попробуйте перефразировать ее.

Переключиться на аналогичную задачу

Если вы не можете заставить модель следовать вашим инструкциям по решению задачи, попробуйте дать ей инструкции для аналогичной задачи, которая дает тот же результат.

Это приглашение сообщает модели классифицировать книгу, используя предопределенные категории.

Ответ правильный, но модель не уложилась в рамки вариантов. Вы также хотите моделировать, чтобы просто отвечать одним из вариантов, а не полным предложением. В этом случае вы можете перефразировать инструкции в виде вопроса с несколькими вариантами ответов и попросить модель выбрать вариант.

Изменение порядка содержимого приглашений

Порядок содержимого в подсказке иногда может влиять на ответ. Попробуйте изменить порядок контента и посмотрите, как это повлияет на ответ.

Version 1:
[examples]
[context]
[input]

Version 2:
[input]
[examples]
[context]

Version 3:
[examples]
[input]
[context]

Резервные ответы

Резервный ответ — это ответ, возвращаемый моделью, когда подсказка или ответ запускает фильтр безопасности. Пример запасного ответа: «Я не могу с этим помочь, поскольку я всего лишь языковая модель».

Если модель отвечает аварийным ответом, попробуйте увеличить температуру.

Чего следует избегать

  • Не полагайтесь на модели для получения фактической информации.
  • Используйте с осторожностью при решении математических и логических задач.

Следующие шаги

  • Теперь, когда вы имеете более глубокое представление о дизайне подсказок, попробуйте написать свои собственные подсказки с помощью Google AI Studio .
  • Чтобы узнать о мультимодальных подсказках, см. обзор мультимодальных концепций .