group-telegram.com/gonzo_ML/305
Last Update:
GPT-3 (настоящее название: Language Models are Few-Shot Learners)
Tom B. Brown, и множество других
Статья: https://arxiv.org/abs/2005.14165
Код (модели, конечно, нет, а когда будет, то с её размером, видимо, сразу на торрентах): https://github.com/openai/gpt-3
Невозможно не написать про GPT-3. С ним наверняка ещё светит много хайпа.
Работа исповедует принцип “Быстрее! Выше! Сильнее!”.
Примерно год назад, в феврале 2019 OpenAI анонсировали семейство моделей GPT-2 (https://openai.com/blog/better-language-models/), огромную авторегрессионную языковую модель, постороенную на декодере трансформера, самую тяжёлую из которых (1.5B на 1.5 млрд параметров) зарелизили только в ноябре. Её предшественник, GPT, был анонсирован в июне 2018. Ну то есть примерно через год очередная новая инкарнация. Ставлю на GPT-4 в июне следующего года.
Новая модель тоже является целым семейством моделей разной жирности, от скромной 125М параметров до монстрической 175B, которую дальше и зовут просто “GPT-3” без всяких суффиксов.
Технических изменений немного, это всё та же архитектура GPT-2, но теперь слои полного внимания чередуются со слоями разреженного внимания, похожего на Sparse Transformer, (https://arxiv.org/abs/1904.10509), тот же метод обучения со всеми хитростями, и всего пропорционально побольше — слоёв (до 96), размерности (до 12288), окно контекста (до 2048 токенов, у GPT-2 было 1024, а у GPT — 512).
Для обучения такой модели использовался model parallelism по разным GPU (кластер Microsoft с V100, видимо, этот https://blogs.microsoft.com/ai/openai-azure-supercomputer/).
Датасет тоже сильно вырос, теперь это 570Gb отфильрованного CommonCrawl (из 45Tb нефильтрованного и сжатого текста), плюс добавка нескольких высококачественных датасетов (WebText2, Books1, Books2, Wikipedia). Итого примерно 500B токенов BPE. У GPT-2 был датасет с вроде как 40Gb текста.
Давно был вопрос, как скейлятся все эти модели. Кроме самого толстого из GPT-2 на 1.5B параметров в прошлом году появились Megatron-LM от Нвидии на 8.3B (https://arxiv.org/abs/1909.08053), гугловый T5 на 11B (https://arxiv.org/abs/1910.10683) и вот недавно Turing-NLG от Microsoft на 17B (https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/). И вот скачок в 10 раз, 175B.
Далее, подход к оценке модели на разных задачах такой же, как в GPT-2 — никакого файнтюнинга и вообще обучения модели под конкретную задачу (кроме LM) не производится, модели делается conditioning описанием задачи (на английском языке) и может быть одним или несколькими (обычно от 10 до 100) примерами решения этой задачи, и затравкой для продолжения под новую задачу. Всё. Это называется “in-context learning”.
Если модель достаточно богатая, то она может всё “понять” и решить задачу. Эти три варианта conditioning’а зовутся Zero-Shot (на вход дано только описание задачи), One-Shot (описание + 1 пример) и Few-Shot (описание + несколько примеров).
Год назад на GPT-2 такой метод давал результаты сравнительно скромные и хуже файн-тюнинга, но с ростом модели в 100 раз (по сравнению с GPT-2 1.5B) всё оказалось весьма и весьма неплохо.
Fine-tuning вообще в этой работе не рассматривается, эта тема остаётся на будущее. Когда такая модель окажется в доступности, конечно, будет интересно её пофайнтюнить и подистиллировать. Результаты обещают быть интересными.
Собственно, значимая часть работы посвящена прогону этой модели на разных задачах в вариантах c Zero/One/Few-Shot. Результаты весьма достойны, кое-где получен новый SoTA. Перформанс хорошо растёт с увеличением сложности модели, а также обычно и с увеличением количества показанных (на входе, не при обучении!) примеров. В каких-то случаях модель и на Zero-Shot неплохо справляется, а в каких-то плохо, но при предъявлении примеров научается сносно решать задачу.
BY gonzo-обзоры ML статей

Share with your friend now:
group-telegram.com/gonzo_ML/305