Быстрая разработка для генеративного ИИ

Быстрая разработка — это искусство задавать правильные вопросы, чтобы получить наилучшие результаты от LLM. Это позволяет напрямую взаимодействовать с LLM, используя только подсказки на простом языке.

В прошлом для работы с моделями машинного обучения обычно требовалось глубокое знание наборов данных, статистики и методов моделирования. Сегодня LLM можно «запрограммировать» на английском, а также на других языках .

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

Подсказка передового опыта

  1. Четко сообщайте, какой контент или информация наиболее важны.

  2. Структурируйте подсказку: начните с определения ее роли, задайте контекст/входные данные, затем предоставьте инструкцию.

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

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

  5. Разбейте сложные задачи на последовательность более простых подсказок.

  6. Поручите модели оценить или проверить свои собственные ответы перед их созданием. («Обязательно ограничьте свой ответ 3 предложениями», «Оцените свою работу по шкале от 1 до 10 за лаконичность», «Как вы думаете, это правильно?»).

И, пожалуй, самое главное:

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

Типы подсказок

Прямая подсказка (нулевой выстрел)

Прямая подсказка (также известная как Zero-shot) — самый простой тип подсказки. В нем нет примеров для модели, только инструкция. Вы также можете сформулировать инструкцию как вопрос или дать модели «роль», как показано во втором примере ниже.

Предоставлять:

  1. Инструкция
  2. Некоторый контекст

Генерация идей:

Prompt: Can you give me a list of ideas for blog posts for tourists visiting
New York City for the first time?

Побуждение к роли:

Prompt: You are a mighty and powerful prompt-generating robot. You need to
understand my goals and objectives and then design a prompt. The prompt should
include all the relevant information context and data that was provided to you.
You must continue asking questions until you are confident that you can produce
the best prompt for the best outcome. Your final prompt must be optimized for
chat interactions. Start by asking me to describe my goal, then continue with
follow-up questions to design the best prompt.

Организация данных:

Prompt: Create a four-column spreadsheet of 10 highly-rated science fiction
movies, year of release, average audience rating, and top 3 keywords from
audience reviews.

Make sure to cite the source of the audience rating.

Подсказка с примерами (один, несколько и несколько выстрелов)

Одноразовая подсказка показывает модели один четкий описательный пример того, что вы хотите имитировать.

Генерация идей на одном примере:

Prompt:

Come up with a list of ideas for blog posts for tourists visiting
New York City for the first time.

1. Fuggedaboutit! Where to Stay in New York City On Your First Visit

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

Небольшая классификация настроений:

Prompt:

Great product, 10/10: Positive
Didn't work very well: Negative
Super helpful, worth it: Positive
It doesn't work!:

При запуске этого приглашения модель ответит на классификацию «Это не работает» как положительное или отрицательное, как показано в примерах.

Многократный предсказатель ответа эмодзи:

Prompt: Predict up to 5 emojis as a response to a text chat message. The output
should only include emojis.

input: The new visual design is blowing my mind 🤯
output: ➕,💘, ❤‍🔥

input: Well that looks great regardless
output: ❤️,🪄

input: Unfortunately this won't work
output: 💔,😔

input: sounds good, I'll look into that
output: 🙏,👍

input: 10hr cut of jeff goldblum laughing URL
output: 😂,💀,⚰️

input: Woo! Launch time!

Здесь тот же процесс, но поскольку подсказка более сложная, модели дано больше примеров для подражания.

Подсказка по цепочке мыслей

Подсказка «Цепь мыслей» (CoT) побуждает LLM объяснять свои рассуждения. Объедините это с несколькими подсказками, чтобы получить лучшие результаты в более сложных задачах, требующих рассуждений перед ответом.

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:

CoT с нулевым выстрелом

Вспоминая подсказку с нулевым выстрелом из предыдущего, этот подход берет подсказку с нулевым выстрелом и добавляет инструкцию: «Давайте думать шаг за шагом». LLM может сгенерировать цепочку мыслей из этой инструкции и, как правило, также более точный ответ. Это отличный способ заставить LLM генерировать правильные ответы на такие вещи, как текстовые задачи.

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and
2 to the repairman. I then went and bought 5 more apples and ate 1. How many
apples was I left with?

Let's think step by step.

Стратегии быстрой итерации

Научитесь любить реальность, переписывая подсказки несколько (возможно, десятки) раз. Вот несколько идей для уточнения подсказок, если вы застряли:

Примечание. Эти стратегии могут стать менее полезными или необходимыми с течением времени по мере улучшения моделей.

  1. Повторяйте ключевые слова, фразы или идеи

  2. Укажите желаемый формат вывода (CSV, JSON и т. д.)

  3. Используйте все заглавные буквы, чтобы подчеркнуть важные моменты или инструкции. Вы также можете попробовать преувеличения или гиперболический язык; например: «Ваше объяснение должно быть абсолютно невозможно неправильно истолковать. Каждое слово должно излучать ясность!»

  4. Используйте синонимы или альтернативные фразы (например, вместо «Обобщить» попробуйте добавить «tldr» к входному тексту). Меняйте местами разные слова или фразы и документируйте, какие из них работают лучше, а какие хуже.

  5. Попробуйте технику сэндвича с длинными подсказками: добавьте одно и то же утверждение в разных местах.

  6. Используйте быструю библиотеку для вдохновения. Prompt Hero и эта галерея подсказок — два хороших места для начала.

Дополнительные ресурсы

Подсказка передового опыта

Изучите подсказку (внешняя)