Промтинг Few-Shot
Хотя крупные языковые модели демонстрируют отличные способности в режиме Zero-shot, они все еще не справляются со сложными задачами. Промтинг Few-shot промтинг можно использовать как технику для обучения в контексте, где для повышения качества результатов модели предоставляются примеры, на которых она обучается.
Согласно Touvron et al. 2023
Рассмотрим пример из работы Brown et al. 2020
Промт
"Котопес" — это мифическое существо, которое является наполовину котом, наполовину собакой. Пример предложения, использующего слово "котопес":
Мы гуляли по лесу и увидели странного котопса.
"Фырчать" означает издавать короткие, резкие звуки. Пример предложения, использующего слово "фырчать":
Ответ
Когда мы подошли ближе, котопес начал фырчать на нас.
Модель научилась выполнять задачу, хотя имела всего один пример (т.е. 1-shot). Для более сложных задач можно экспериментировать с увеличением количества примеров (например, 3-shot, 5-shot, 10-shot и т.д.).
Из работы Min et al. (2022)
Рассмотрим промт с неправильными примерами, в котором метки «Негативный» и «Позитивный» случайным образом присваиваются входным данным:
Промт
Это потрясающе! // Негативный
Это плохо! // Позитивный
Вау, этот фильм был классный! // Позитивный
Какое ужасное шоу! //
Ответ
Негативный
Мы все равно получаем верный ответ и формат, хотя метки были случайными. Также эксперименты подтверждают, что новые модели YandexGPT становятся более устойчивыми к формату входных данных:
Промт
Позитивный Это потрясающе!
Это плохо! Негативный
Вау, этот фильм был классный!
Позитивный
Какое ужасное шоу! --
Ответ
Негативный
Каждый пример из промта имеет разный формат, но модель все равно указала правильную метку. Однако, для сложных задач и разных вариаций промтов требуется более тщательный анализ.
Примечание
При использовании промтов Few-shot в слишком сложных задачах модель может переобучиться. Это значит, что она случайным образом запомнит ответ на какой-либо вопрос и будет отвечать так в любых ситуациях.
Ограничения промтов Few-shot
Стандартный промтинг Few-shot хорошо работает для многих задач, но все же не является идеальной техникой, особенно при работе со сложными задачами, требующими рассуждений. Рассмотрим пример из арифметики:
Промт
Нечетные числа в этой группе складываются в четное число: 15, 32, 5, 13, 82, 7, 1.
Ответ:
Ответ
Да, нечетные числа в этой группе складываются в 107, что является четным числом.
Добавим несколько примеров, чтобы увидеть, улучшит ли результаты Few-shot-промт:
Промт
Нечетные числа в этой группе складываются в четное число: 4, 8, 9, 15, 12, 2, 1.
Ответ: Ответ — Ложь.
Нечетные числа в этой группе складываются в четное число: 17, 10, 19, 4, 8, 12, 24.
Ответ: Ответ — Правда.
Нечетные числа в этой группе складываются в четное число: 16, 11, 14, 4, 8, 13, 24.
Ответ: Ответ — Правда.
Нечетные числа в этой группе складываются в четное число: 17, 9, 10, 12, 13, 4, 2.
Ответ: Ответ — Ложь.
Нечетные числа в этой группе складываются в четное число: 15, 32, 5, 13, 82, 7, 1.
Ответ:
Ответ
Ответ — Правда.
Это неверный ответ. Кажется, что промта Few-shot недостаточно, чтобы получить надежный результат в задачах рассуждения. Техника CoT справляется с такими задачами лучше.
Если промтов Zero-shot и Few-shot недостаточно, возможно, модель не обладает достаточными знаниями для решения задачи. В этом случае рекомендуем попробовать дообучить модель или поэкспериментировать с другими техниками промтинга.