Zero-Shot Z

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

English Zero-Shot Learning, Zero-Shot
Синонимы ZSL, обучение без примеров, zero-shot learning, zero-shot inference

Zero-shot (от англ. zero — «ноль», shot — «попытка») — это режим работы модели, при котором она решает задачу, не имея ни одного примера её выполнения. Модель получает только текстовую инструкцию — промт — и на основе своих предобученных знаний выдаёт результат. Термин пришёл из академической литературы по машинному обучению: в 2009 году исследователи Palatucci, Hinton, Pomerleau и Mitchell впервые использовали его для описания распознавания классов, которые не встречались в обучающей выборке.

Как это работает — В основе zero-shot лежит идея семантического пространства. Модель обучается на огромном объёме текстов, изображений и других данных, извлекая из них не только конкретные факты, но и абстрактные связи между понятиями. Когда приходит новая задача, модель сопоставляет инструкцию с уже известными ей концепциями и строит ответ через аналогии.

В контексте больших языковых моделей (LLM) механизм ещё проще: модель получает промт без примеров и генерирует ответ, опираясь исключительно на свои веса, сформированные во время предобучения. Как отмечает Microsoft Learn, zero-shot learning «полностью полагается на существующие знания модели для генерации ответов, что сокращает количество создаваемых токенов и помогает контролировать затраты». При этом модель не добавляет новых знаний в свой контекст — она лишь извлекает то, что уже было усвоено.

В академической литературе zero-shot часто рассматривается как подвид transfer learning — переноса знаний. Исследование, опубликованное в ACM Transactions on Intelligent Systems and Technology, определяет zero-shot learning как парадигму, «в которой классы, охваченные обучающими экземплярами, и классы, которые мы хотим классифицировать, не пересекаются». То есть модель учится различать одни объекты, а затем применяет это умение к совершенно новым категориям, которые никогда не видела.

Зачем это нужно — Zero-shot решает фундаментальную проблему машинного обучения: нехватку размеченных данных. Сбор и аннотирование данных — дорогостоящий и трудоёмкий процесс. В задачах, где данные редки или их появление непредсказуемо — например, диагностика редких заболеваний, категоризация новых продуктов, анализ постоянно меняющихся новостных тем — zero-shot позволяет модели работать без дополнительного обучения.

Для промт-инжиниринга zero-shot — это базовый и самый экономичный режим. Вы просто описываете задачу словами, не приводя примеров. Это снижает расход токенов и ускоряет генерацию. Microsoft Learn рекомендует zero-shot для двух сценариев: работа с уже дообученными (fine-tuned) моделями и установление базовой линии производительности перед экспериментами с few-shot.

Примеры 

  • Классификация текста без обучения: вы просите модель определить тональность отзыва «Этот фильм — пустая трата времени», и она отвечает «негативная», хотя не проходила специального обучения на задаче анализа тональности.

  • Zero-shot в компьютерном зрении: модель, обученная распознавать лошадей, но никогда не видевшая зебру, может идентифицировать зебру, если знает, что «зебра выглядит как полосатая лошадь» — классический пример из академической литературы.

  • Генерация контента: запрос «Напиши код на Python для сортировки списка» без примеров кода — модель генерирует рабочий код, опираясь на знания, полученные при предобучении.

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

Формула или метрика — В строгом академическом смысле zero-shot — это не метрика, а режим обучения. Однако для оценки качества zero-shot предсказаний используется стандартная точность классификации (accuracy): доля правильных ответов на тестовой выборке, где классы не встречались при обучении. В задачах NLP дополнительно измеряют F1-score и precision/recall. Для LLM-промтов сравнивают точность zero-shot и few-shot на одинаковых задачах — разница показывает, насколько модели не хватает примеров.

Типичные ошибки 

  • Ожидание, что zero-shot сработает так же хорошо, как fine-tuning. Для сложных узкоспециализированных задач zero-shot часто уступает дообученным моделям.

  • Слишком размытая инструкция. Если промт не содержит чёткой задачи и контекста, модель может «додумать» не то, что нужно.

  • Игнорирование ограничений модели. Zero-shot не добавляет модели новых знаний — если информации нет в предобучении, ответ будет неверным или галлюцинацией.

  • Использование zero-shot для задач, где критична точность на редких классах. Без примеров модель может «перекосить» в сторону более частых категорий.

Как улучшить 

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

  • Добавляйте в промт контекст: описание аудитории, стиля, ограничений. Модель использует эту информацию для уточнения ответа без дополнительного обучения.

  • Используйте zero-shot как базовую линию: сначала замерьте точность без примеров, затем добавьте 1–3 примера (few-shot) и сравните. Это покажет, нужны ли модели подсказки.

  • Для сложных задач комбинируйте zero-shot с цепочкой рассуждений (Chain-of-Thought): попросите модель «думать пошагово». Исследования показывают, что zero-shot CoT может быть эффективнее few-shot CoT на некоторых задачах.

  • Проверяйте ответы на фактологические ошибки. Zero-shot не гарантирует достоверность — модель может уверенно сгенерировать неверный факт, если он правдоподобно звучит.

Источники

Wang, W., Zheng, V. W., Yu, H., & Miao, C. (2019). A Survey of Zero-Shot Learning: Settings, Methods, and Applications. ACM Transactions on Intelligent Systems and Technology — обзорная научная статья, DOI: 10.1145/3293318

Microsoft Learn. Zero-shot and few-shot learning — официальная документация по промт-инжинирингу

Palatucci, M., Hinton, G., Pomerleau, D., & Mitchell, T. (2009). Zero-Shot Learning with Semantic Output Codes. NIPS'09 — первая работа, закрепившая термин