Введение
Few-shot (буквально «несколько выстрелов») – режим работы языковой модели, при котором задача задаётся несколькими демонстрационными парами «входной текст – ожидаемый выход», включёнными непосредственно в промпт. Модель не обновляет веса через градиентный спуск; вся «адаптация» происходит внутри контекстного окна. Этот механизм называют in-context learning – обучение в контексте.
Концепция была систематизирована в статье OpenAI «Language Models are Few-Shot Learners» (Brown et al., 2020, NeurIPS), посвящённой GPT-3 – модели с 175 млрд параметров. Авторы показали, что масштабные модели способны адаптироваться к новым задачам по нескольким примерам в промпте без каких-либо gradient updates.
История и контекст
До GPT-3 few-shot learning в классическом ML означало обучение на малых датасетах (методы мета-обучения MAML, Prototypical Networks). В контексте LLM термин приобрёл принципиально иной смысл: GPT-3 впервые продемонстрировал, что 175-миллиардная модель способна «понять» задачу из нескольких примеров в тексте запроса. На бенчмарке TriviaQA few-shot GPT-3 достиг 71,2% точности, вплотную приблизившись к fine-tuned SOTA (75,4%) – без единого обновления параметров.
Это открытие изменило парадигму работы с языковыми моделями: вместо сбора датасетов и многодневного обучения разработчики получили возможность прототипировать NLP-решения за минуты. Сегодня few-shot промптинг – стандартный инструмент в арсенале ML-инженеров и prompt engineer'ов.
Как это работает
Структура few-shot промпта: несколько пар «входной текст → выход» (демонстрации), разделённых разделителем, после которых следует новый входной текст без выхода. Модель продолжает последовательность по выученному паттерну.
- 1-shot – один пример; достаточно для демонстрации формата, но нестабилен.
- 2–5 shot – оптимальный диапазон для большинства задач, хороший баланс качества и затрат токенов.
- 10–32 shot – применяется на сложных задачах в рамках контекстного окна; GPT-3 тестировался с K до 32 примеров.
Исследования показали удивительный факт: даже если метки в примерах случайны или неверны, прирост качества от few-shot сохраняется – важнее демонстрация формата ответа, а не правильность меток. Ключевые параметры: выбор репрезентативных примеров, порядок следования и близость к целевой задаче.
Few-shot vs. fine-tuning
Fine-tuning обновляет веса модели через тысячи примеров и градиентный спуск – занимает часы и требует GPU. Few-shot не трогает веса, работает через API за секунды. Компромисс: при наличии тысяч размеченных примеров fine-tuning обычно превосходит few-shot по точности.
Где применяется
- Извлечение информации – разметка именованных сущностей, атрибутов продуктов из неструктурированного текста.
- Классификация текста – тональный анализ, рубрикация обращений в поддержку по 2–3 примерам на категорию.
- Генерация кода – демонстрация желаемого стиля или API-паттерна через примеры функций.
- Форматирование данных – конвертация свободного текста в JSON/CSV по образцу структуры.
- Машинный перевод со специализированной терминологией – адаптация к отраслевому словарю через примеры.
- Оценка документов – классификация договоров, заявок, медицинских записей по критериям.
Преимущества и ограничения
Преимущества: нет необходимости в GPU и датасете; мгновенное итерирование; работает с любыми проприетарными API; низкий порог входа.
Ограничения: качество зависит от выбора примеров; ограничен размером контекстного окна; каждый пример потребляет токены и увеличивает стоимость; уступает fine-tuning при наличии больших размеченных корпусов. Эффективен прежде всего для крупных моделей – малые модели плохо улавливают паттерн.
Связь с другими понятиями
Few-shot – частный случай в-контекстного обучения (in-context learning): модель учится из контекста без обновления весов. Противоположный полюс – zero-shot (вообще без примеров). Chain-of-Thought комбинируется с few-shot: примеры содержат не только ответ, но и пошаговые рассуждения, что резко повышает точность на математических и логических задачах (Wei et al., 2022). Качество few-shot адаптации оценивается стандартными метриками: F1, Precision, Recall. Hallucination снижается при наличии хорошо подобранных примеров, ограничивающих область допустимых ответов.