📖

Что такое Few-Shot Learning?

Few-shot learning позволяет моделям ИИ осваивать новые задачи всего по нескольким примерам. Узнайте, как это работает, почему это важно и где применяется.

Few-shot learning — это парадигма машинного обучения, в которой модель должна обобщать новую задачу или класс, увидев лишь небольшое число размеченных примеров — зачастую всего один (one-shot) или ни одного (zero-shot). Это противопоставляется классическому обучению с учителем, которому для достижения высокого качества обычно требуются большие размеченные наборы данных. Данный подход стал особенно заметен с появлением больших языковых моделей, способных интерпретировать инструкции и примеры, передаваемые напрямую во входном промпте.

Как работает few-shot learning

Большинство современных систем few-shot learning опираются на большую предобученную модель, которая уже усвоила обширные знания из массивных наборов данных. Для выполнения новой задачи модели подаётся небольшой набор демонстраций прямо во входных данных — техника, известная как in-context learning (обучение в контексте). Например, чтобы научить модель классифицировать отзывы клиентов как положительные, отрицательные или нейтральные, разработчик может включить в промпт три размеченных примера: «Отличный сервис!» → положительный, «Медленный ответ.» → отрицательный и «Было нормально.» → нейтральный. Затем модель применяет тот же шаблон к новым неразмеченным входным данным без какого-либо обновления весов.

Помимо промптинга, few-shot learning можно реализовать путём дообучения (fine-tuning) предобученной модели на небольшом размеченном наборе данных или с помощью подходов мета-обучения, которые явно тренируют модель быстро осваивать новые задачи. Во всех случаях цель одна: задействовать ранее полученные знания так, чтобы нескольких примеров было достаточно для задания нового поведения.

Почему это важно

Few-shot learning радикально снижает стоимость и время, необходимые для адаптации ИИ к специализированным задачам. В областях, где размеченные данные редки, дороги или чувствительны — например, в медицинской диагностике, юридическом анализе или переводе на редкие языки, — сбор тысяч примеров зачастую непрактичен. Методы few-shot позволяют строить полезные приложения на основе небольших, тщательно подобранных примеров. Они также ускоряют итерации: команды могут прототипировать и дорабатывать промпты или дообучение, не дожидаясь масштабных проектов по разметке.

Основные типы

  • One-shot learning (однопримерное обучение): модели даётся один пример на класс для обучения.
  • Few-shot learning (k-shot): модели даётся небольшое число примеров на класс — обычно от 2 до 10.
  • Zero-shot learning (обучение без примеров): модель выполняет задачу вообще без примеров, опираясь только на инструкции или описания.
  • Prompt-based few-shot learning (промптовое few-shot обучение): примеры передаются напрямую во входном промпте — подход, популяризированный GPT-3 и последующими моделями.
  • Meta-learning (мета-обучение): модель явно обучается на множестве связанных задач, чтобы адаптироваться к новым при минимальном объёме данных — семейство, включающее методы вроде MAML и прототипных сетей.

Few-shot learning — одна из определяющих возможностей современных фундаментальных моделей, и она лежит в основе таких техник, как prompt engineering, retrieval-augmented generation (RAG) и лёгкое дообучение вроде LoRA. По мере того как базовые модели продолжают совершенствоваться, число примеров, необходимое для надёжного выполнения задачи, как правило, сокращается, что делает кастомизацию ИИ доступной командам без выделенных пайплайнов разметки данных.

Часто задаваемые вопросы

How is few-shot learning different from transfer learning?
Transfer learning is the broader practice of reusing knowledge from one task to help with another, usually by fine-tuning a pre-trained model. Few-shot learning is a specific goal within that umbrella: succeeding at a new task when only a handful of examples are available. Many few-shot systems use transfer learning, but the defining feature is the small data size, not the transfer mechanism itself.
What is the difference between few-shot and zero-shot learning?
Zero-shot learning requires the model to perform a task with no examples at all, relying on instructions, task descriptions, or general world knowledge. Few-shot learning provides a small number of demonstrations, typically 1 to 10, so the model can infer the desired pattern. Zero-shot is more demanding of the base model's reasoning ability, while few-shot tends to be more reliable for narrow or unusual tasks.
How many examples do you need for few-shot learning?
There is no fixed number, but few-shot learning generally uses between 1 and about 10 labeled examples per class, often provided directly in the prompt. More examples usually improve performance up to a point, after which the model's context window or diminishing returns set in. The exact sweet spot depends on the task, the base model, and the quality of the examples.
Is few-shot learning the same as prompt engineering?
Not exactly. Prompt engineering is the practice of crafting inputs to get the best results from a model, and it often includes adding few-shot examples as part of the prompt. Few-shot learning is the broader capability of learning from a few examples, which can be exercised through prompt engineering, fine-tuning, or meta-learning. They overlap heavily in practice but are distinct concepts.