Эпоха 5 · Эра LLM · 2020

38 GPT-3

Language Models are Few-Shot Learners · Brown, Mann, Ryder и др. (31 автор) · OpenAI · NeurIPS
🟧 оригинал выборочно~2 чоригинал ↗
Суть за 20 секунд. LM на 175B параметров с прорывной способностью — in-context few-shot learning: даёшь в промпте пару примеров, и модель выполняет новую задачу БЕЗ обновления весов. Одна замороженная модель решает массу задач через текст. Сместил парадигму к prompting.

Контекст

GPT-2 намекнул, что масштаб даёт zero-shot; scaling laws сказали, как масштабировать. OpenAI строит модель на 175B параметров.

Идея и механизм

Главное открытие — in-context few-shot learning: если дать в ПРОМПТЕ несколько примеров задачи (вход→выход), модель выполняет новую задачу, просто уловив паттерн из контекста, БЕЗ обновления весов. Одна замороженная модель решает массу задач только через текстовый промпт (zero/one/few-shot).

теория вероятностей In-context learning без обновления весов

Few-shot — это просто условная вероятность от замороженной модели, где в условие подставлены примеры:

P(y | (x1,y1), …, (xk,yk), xquery)

Ключевое отличие от классического обучения: веса не меняются. «Обучение» происходит целиком в прямом проходе — attention считывает закономерность из примеров в контексте и применяет её к запросу. Градиентного шага нет вообще. Это качественно новое явление: одна модель адаптируется к задаче из нескольких примеров «на лету», эмерджентно проявляясь с масштабом (на 175B заметно сильнее, чем на меньших).

Python Few-shot через промпт (без дообучения)
# k примеров прямо в промпте; веса модели не трогаем
prompt = """2 + 2 = 4
7 + 5 = 12
3 + 9 ="""
out = lm.generate(prompt)     # модель продолжает: " 12"
# та же модель, другой промпт → другая задача
примеры: cat ⟹ chatdog ⟹ chien запрос: house ⟹ ? LM (заморож.) maison никакого обучения — только контекст
Few-shot: примеры лежат в промпте, модель выводит ответ на новый запрос. Веса не меняются — «обучение» в прямом проходе.
Аналогия. Сообразительный человек, которому вы показываете два-три примера незнакомой игры и говорите «теперь ты». Он не «переучивает мозг» — он схватывает правило по образцам и сразу применяет. GPT-3 делает так же: примеры в промпте — это «покажи, а не объясняй», и модель подхватывает паттерн с лёта.

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

Сместил всю парадигму использования — от «обучи под задачу» к «опиши задачу в промпте» (in-context learning, prompt engineering). Заложил продуктовую модель GPT-3 API → ChatGPT. Слабости (честно отмечены): арифметика, длинная согласованность, фактологичность, чувствительность к формулировке промпта.

Связи

← масштабирует36. GPT-2

GPT-2 показал zero-shot на 1.5B; GPT-3 поднял масштаб до 175B и обнаружил few-shot in-context learning — качественно новую способность, эмерджентно проявившуюся с масштабом. Та же decoder-only схема, ещё два порядка.

→ ведёт к44. InstructGPT (RLHF)

GPT-3 мощная, но «сырая» — продолжает текст, а не следует инструкциям. RLHF выравнивает её под намерение человека и превращает в ассистента (ChatGPT). Few-shot модель — фундамент, выравнивание — то, что сделало её полезной массам.

→ раскрывается через43. Chain-of-Thought

Few-shot-промптинг GPT-3 — это интерфейс, через который позже обнаружат Chain-of-Thought: добавив в примеры шаги рассуждения, можно резко поднять способность к арифметике и логике. CoT — это «продвинутый few-shot», выросший прямо из этой парадигмы.

Вопросы пытливого ума

Как модель «учится» из примеров без изменения весов — это вообще обучение?

В строгом смысле — нет: параметры неизменны. Это условный вывод — attention находит закономерность в примерах и экстраполирует. Есть гипотезы, что внутри прямого прохода модель неявно реализует что-то вроде шага оптимизации («mesa-optimization»), но это спорно. Корректнее называть in-context learning адаптацией по контексту, а не обучением в обычном смысле.

Few-shot чувствителен к формулировке и порядку примеров — насколько он надёжен?

Хрупок. Перестановка примеров, их формат, даже выбор разделителей могут заметно менять ответ; иногда «случайные» метки в примерах работают почти так же, как правильные (модель ловит формат, а не только содержание). Это породило целую дисциплину prompt engineering. Few-shot — мощный, но капризный интерфейс, и его надёжность — отдельная инженерная забота.

175B параметров — это было «слишком много» или закономерный шаг?

По scaling laws — закономерный: лосс предсказуемо падал, и 175B давали ожидаемый выигрыш. Но few-shot как качественная способность стала сюрпризом — её не предсказывал гладкий лосс. Позже Chinchilla покажет, что 175B при тех данных были недообучены: можно было взять модель меньше, но на большем числе токенов. Так что «закономерный по лоссу, но неоптимальный по рецепту».

Что читать в оригинале

Читать ключевое — intro, механизм few-shot, секции limitations и broader impacts; 40+ страниц таблиц по задачам — справочно.