Emergent Abilities of Large Language Models
Jason Wei, Yi Tay, Rishi Bommasani, Colin Raffel, Barret Zoph, Sebastian Borgeaud, Dani Yogatama, Maarten Bosma, Denny Zhou, Donald Metzler, Ed H. Chi, Tatsunori Hashimoto, Oriol Vinyals, Percy Liang, Jeff Dean, William Fedus
Статья: https://arxiv.org/abs/2206.07682
Пост в блоге: https://ai.googleblog.com/2022/11/characterizing-emergent-phenomena-in.html
Свежая работа про эмерджентные свойства больших языковых моделей. Здесь эмерджентными свойствами считают такие, которые не проявляются на малых размерах модели, а появляются в более крупных моделях только после превышения какого-то порога. Поэтому их нельзя получить экстраполяцией.
Почему это важно? Потому что скорее всего при дальнейшем скейлинге проявятся ещё какие-то свойства, не наблюдаемые сейчас.
Есть интересное наблюдение, что с одной стороны scaling laws для больших языковых (и не только) моделей дают довольно простую степенную модель улучшения какой-либо метрики (обычно лосс), но с другой стороны, аналогичного скейлинга по улучшению качества на какой-нибудь конкретной задаче часто нет. Правда в работе https://arxiv.org/abs/2109.10686 показали, что скейлить надо правильно, тогда и ситуация здесь выправляется. Но это не отменяет наличия эмерджентных свойств.
Свойства эти проявляются интересно — до какого-то значения параметра скейлинга перформанс на выбранной задаче обычно в районе случайного, затем после превышения этого порога происходит фазовый переход и перформанс становится существенно лучше.
Параметром скейлинга может выступать количество вычислений (FLOPS), число параметров сети, размер датасета. Это три наиболее частых параметра. В работе берут первый, FLOPS. Также есть графики в зависимости от числа параметров, потому что часто они связаны — на более тяжёлую модель и вычислений тратят пропорционально больше (но это не всегда, Chinchilla, например, выбивается из такого подхода, там на сравнительно лёгкую модель потратили вычислений как на большую Gopher, потому что датасет был сильно больше). В общем, правильную прокси-метрику для обнаружения эмерджентности ещё надо найти, а пока так.
Сначала эмерджентность ищут в режиме работы с большой предобученной языковой моделью и последующим её промптингом (задавая в модель правильный текст-затравку с задачей, который она продолжит и, hopefully, даст ответ, этот режим активно использовался в GPT-3). То есть файнтюнинга нет, модель после предобучения заморожена. Промптинг часто бывает few-shot, когда в промпте даётся несколько примеров решения задачи.
Способность решать задачу через few-shot prompting эмерджентная и не проявляется до определённого размера модели. Авторы показали это на восьми задачах (4 задачи из BIG-Bench, TruthfulQA, Grounded conceptual mappings, Multi-task NLU, Word in Context) и пяти моделях (GPT-3, Gopher, Chinchilla, LaMDA, PaLM).
Другой способ поиска эмерджентности — это использование дополнительных стратегий промптинга и файнтюнинга. Эмерджентность здесь в том, что до какого-то порога эта дополнительная техника не улучшает результат модели (или ухудшает его). А начиная с некоторого порога, начинает работать.
Один из таких примеров — это multi-step reasoning или chain-of-thought prompting, когда проблема решается через последовательность промежуточных шагов. Он начинает превосходить обычный промптинг только начиная с какого-то порога, примерно 100B параметров.
Другая техника, instruction following, вместо нескольких примеров подаёт в модель инструкцию по решению задачи. Модель файнтюнится на смеси задач, поданных в виде инструкций, а потом применяется к новой задаче, которой не видела. Эта техника улучшает качество тоже где-то со 100B параметров (хотя сейчас появились и модели поменьше, с которыми тоже ок).
Задачи на сложение больших чисел и выполнение программ можно улучшить, если файнтюнить модель на получение промежуточных результатов (это называется “scratchpad”). Тут в зависимости от задачи порог 40-100М параметров.
>>Click here to continue<<