Статьи · arXiv 2109.01652
Finetuned Language Models Are Zero-Shot Learners
Кратко в трёх строках
- 🎯 Большие языковые модели без дообучения плохо справляются с задачами zero-shot, поскольку сырые промпты отклоняются от распределения токенов при предобучении.
- 🔧 Instruction tuning: дообучение 137B декодерной языковой модели на 62 NLP-датасетах, описанных шаблонами на естественном языке, с исключением целевых кластеров для оценки.
- 📈 Zero-shot FLAN превосходит zero-shot 175B GPT-3 на 20 из 25 оцениваемых датасетов и обходит few-shot GPT-3 на таких задачах, как ANLI и BoolQ.
Аннотация
В этой статье исследуется простой метод улучшения способностей языковых моделей к zero-shot обучению. Мы показываем, что instruction tuning — дообучение языковых моделей на наборе задач, описанных с помощью инструкций, — существенно повышает zero-shot качество на новых задачах. Мы берем предобученную языковую модель со 137 млрд параметров и дообучаем ее на более чем 60 задачах NLP, сформулированных с помощью шаблонов инструкций на естественном языке. Мы оцениваем эту дообученную на инструкциях модель, названную FLAN, на неизвестных типах задач. FLAN значительно превосходит базовую немодифицированную модель и обходит 175B GPT-3 в режиме zero-shot на 20 из 25 оцениваемых задач. FLAN также с большим отрывом опережает few-shot GPT-3 на ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA и StoryCloze. Абляционные исследования показывают, что количество датасетов для дообучения, масштаб модели и инструкции на естественном языке имеют ключевое значение для успеха instruction tuning.
Оригинальная аннотация (англ.)
This paper explores a simple method for improving the zero-shot learning abilities of language models. We show that instruction tuning -- finetuning language models on a collection of tasks described via instructions -- substantially improves zero-shot performance on unseen tasks. We take a 137B parameter pretrained language model and instruction-tune it on over 60 NLP tasks verbalized via natural language instruction templates. We evaluate this instruction-tuned model, which we call FLAN, on unseen task types. FLAN substantially improves the performance of its unmodified counterpart and surpasses zero-shot 175B GPT-3 on 20 of 25 tasks that we evaluate. FLAN even outperforms few-shot GPT-3 by a large margin on ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA, and StoryCloze. Ablation studies reveal that number of finetuning datasets, model scale, and natural language instructions are key to the success of instruction tuning.
Разбор статьи
Проблема и мотивация
Большие языковые модели (такие как GPT-3 175B) превосходно справляются с few-shot обучением, используя примеры прямо в контексте. Однако их возможности в режиме zero-shot остаются существенно слабее на сложных NLP-бенчмарках, таких как понимание прочитанного, логический вывод на естественном языке (NLI) и ответы на вопросы. Модели без дообучения опираются на промпты, оформленные как продолжение данных предобучения, что является неестественным и нестабильным форматом для задач, обычно формулируемых в виде явных указаний или запросов.
Авторы исследуют, позволяет ли контролируемое дообучение (supervised finetuning) на широком наборе разнообразных NLP-задач, явно сформулированных в виде инструкций на естественном языке, обобщаться в режиме zero-shot на абсолютно новые типы задач во время инференса.
Ключевые идеи
- Instruction Tuning: преобразование существующих NLP-датасетов в формат «инструкция–ответ» с использованием шаблонов промптов на естественном языке, объединяющее многозадачное обучение (multitask supervision) и промптинг.
- Task Cluster Holdout: объединение датасетов в тематические кластеры (например, NLI, Closed-Book QA, Translation, Sentiment). При проверке zero-shot обобщения на целевом кластере все входящие в него (и тесно связанные с ним) датасеты исключаются из обучения, чтобы гарантировать честную кросс-задачную zero-shot оценку.
- Classification with Options: для задач классификации в конец промпта добавляется суффикс
OPTIONS:, перечисляющий допустимые метки-кандидаты прямо в запросе. Это направляет выходное распределение генеративной модели, не ограничивая ее исключительно сравнением логитов для классификации ранжированием.
Метод
Базовой моделью является LaMDA-PT — плотный (dense) авторегрессионный декодерный трансформер со 137 миллиардами параметров, предобученный на 2,49 трлн токенов BPE из веб-документов, программного кода, Википедии и диалоговых данных (около 10% не на английском языке).
- Сбор данных: 62 датасета из TensorFlow Datasets сгруппированы в 12 кластеров. Для каждого датасета составлено 10 уникальных шаблонов инструкций на естественном языке (включая до 3 «инвертированных» шаблонов, например, генерация текста по заданной тональности).
- Конфигурация обучения: число обучающих примеров на датасет ограничено 30k. Батчи формируются по схеме сэмплирования, пропорционального числу примеров (examples-proportional mixing), с максимальным лимитом 3 000, чтобы большие датасеты не доминировали в процессе. Обучение длится 30k градиентных шагов с размером батча 8 192 токена с использованием оптимизатора Adafactor (скорость обучения ), длиной последовательности 1024 (вход) и 256 (выход), а также упаковкой последовательностей (sequence packing).
- Протокол оценки: для оценки по отложенным кластерам обучаются отдельных моделей FLAN. Качество измеряется как среднее по всем шаблонам инструкций, а также по лучшему шаблону, выбранному на валидационной выборке.
- Инференс с few-shot примерами: когда доступны примеров , входные данные форматируются следующим образом: где означает конкатенацию с токеном-разделителем; максимум составляет 16 примеров и 960 токенов.
Результаты
- Сравнение Zero-Shot с GPT-3: при использовании лучшего валидационного шаблона zero-shot FLAN 137B превосходит zero-shot GPT-3 175B на 20 из 25 оцениваемых бенчмарков и обходит few-shot GPT-3 на 10 датасетах, включая ANLI R1–R3, RTE, BoolQ, OpenbookQA и StoryCloze.
- Типы задач: наибольший прирост наблюдается на задачах, естественно формулируемых в виде инструкций (например, NLI, понимание прочитанного, closed-book QA, машинный перевод). На RTE FLAN достигает 84,1% (лучший валидационный шаблон) против 63,5% у zero-shot GPT-3 и 72,9% у few-shot GPT-3. На BoolQ FLAN демонстрирует 82,9% против 60,5% у zero-shot GPT-3 и 77,5% у few-shot.
- Зависимость от масштаба: абляционные эксперименты на моделях с 422M, 2B, 8B, 68B и 137B параметров показывают, что instruction tuning ухудшает zero-shot обобщение на неизвестных задачах для моделей параметров. Положительный перенос начинает проявляться только при больших масштабах ( и ).
- Значимость инструкций: дообучение без шаблонов инструкций (только вход-выход: средняя точность 37,3% по 4 кластерам) или только с названиями датасетов (46,6%) дает значительно худшие zero-shot результаты, чем использование естественных инструкций (55,2%).
- Совместимость с Prompt Tuning: применение эффективного по параметрам prompt tuning к FLAN дает более высокую точность на SuperGLUE, чем при применении к исходной модели LaMDA-PT, особенно в условиях дефицита данных (32 обучающих примера).
Ограничения и открытые вопросы
- Задачи продолжения предложений: instruction tuning практически не дает преимуществ (а иногда вредит) на задачах в стиле моделирования языка, где инструкции избыточны — например, Winogrande или дополнение предложений в тестах на здравый смысл (commonsense reasoning).
- Сложность инструкций: в статье исследовались только короткие инструкции из одного предложения, а не подробные развернутые руководства, которые обычно предоставляются разметчикам-людям.
- Контекстное окно и вычислительные ресурсы: длина контекста FLAN в 1024 токена помешала провести строгую оценку на задачах суммаризации. Кроме того, запуск и обслуживание плотной модели со 137 млрд параметров требуют значительных вычислительных мощностей.
Ключевые термины
- instruction tuning (дообучение на инструкциях)
- Дообучение предобученной языковой модели на разнородном наборе датасетов, оформленных с использованием инструкций на естественном языке, для улучшения обобщения на неизвестные задачи.
- FLAN
- Finetuned Language Net; модель со 137 млрд параметров, дообученная на инструкциях и основанная на декодерной архитектуре LaMDA-PT.
- task clusters (кластеры задач)
- Группировки NLP-датасетов по типу задач (например, NLI, Closed-Book QA), используемые для создания строгих разбиений типа leave-one-cluster-out для честной zero-shot оценки.
- LaMDA-PT
- Плотный авторегрессионный декодерный трансформер со 137 млрд параметров, предобученный на 2,49 трлн токенов веб-документов, кода, Википедии и диалогов.
- classification with options (классификация с вариантами выбора)
- Стратегия форматирования вывода, при которой токен «OPTIONS:» с перечислением возможных классов добавляется к классификационному промпту для направления генерации свободного текста.
- examples-proportional mixing (смешивание пропорционально числу примеров)
- Стратегия взвешивания датасетов при многозадачном обучении, при которой сэмплирование датасета пропорционально его объему вплоть до заданного верхнего порога (3 000 примеров).
- data contamination analysis (анализ загрязнения данных)
- Апостериорная оценка, измеряющая пересечение n-грамм предобучающего корпуса с тестовыми наборами бенчмарков для подтверждения того, что рост качества не связан с простым запоминанием.
Вопросы
Чем instruction tuning отличается от стандартного многозадачного дообучения?
Традиционное многозадачное дообучение направлено на оптимизацию качества на конкретных целевых задачах или адаптацию к новым доменам. Instruction tuning использует инструкции на естественном языке, чтобы научить модель понимать описания задач, преследуя цель обобщения в режиме zero-shot на абсолютно новые типы задач, исключенные из обучения.
Почему instruction tuning ухудшает качество на небольших языковых моделях?
У моделей размером до 8B параметров попытка выучить около 40 различных задач с инструкциями, по-видимому, исчерпывает всю емкость параметров, что ухудшает обобщение на неизвестные задачи. Только при достижении и 137B параметров емкости сети становится достаточно для одновременного выполнения задач и усвоения общего принципа следования инструкциям.
На каких задачах FLAN не превосходит базовую модель без дообучения?
Instruction tuning почти не приносит пользы на задачах, сформулированных напрямую как продолжение текста (языковое моделирование), таких как разрешение кореферентности (например, Winogrande) и бенчмарки на здравый смысл с дополнением предложений, где формулировка инструкций оказывается избыточной по сравнению с базовой целью предобучения.
Как исследователи контролировали возможное загрязнение обучающих данных (data contamination)?
Авторы проверили пересечения по 13-граммам между тестовыми примерами и корпусом предобучения объемом 2,49 трлн токенов, сформировав очищенные подмножества без совпадений. Результаты на чистых данных не показали падения качества, подтвердив, что успехи FLAN в режиме zero-shot не были обусловлены простым запоминанием.
Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.