gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Всем привет!

Как-то постепенно из моих выступлений про трансформеры набрался почти уже мини-курс :)

0. Лекция про трансформеры из курса, который я читал в магистратуре ВШЭ для биоинформатиков (https://github.com/che-shr-cat/deep-learning-for-biology-hse-2019-course).

Лекция:
https://www.youtube.com/watch?v=uP_aL_78BcY

Слайды:
https://github.com/che-shr-cat/deep-learning-for-biology-hse-2019-course/blob/master/slides/%2312.%20Transformers.pdf

1. Transformer Zoo — рассказ про разнообразие трансформеров и их применений
https://www.youtube.com/watch?v=KZ9NXYcXVBY

2. Transformer Zoo (a deeper dive) — более глубокий рассказ про архитектуру и что в ней можно варьировать
https://www.youtube.com/watch?v=7e4LxIVENZA

3. Свежий рассказ про трансформеры в 2021 году
https://www.youtube.com/watch?v=8dN6ZVnDArk

Ссылки на слайды во всех выступлениях есть либо в комментариях, либо в описании.
1
Scaling Language Models: Methods, Analysis & Insights from Training Gopher
Авторы: Jack W. Rae, и множество других
Статья: https://storage.googleapis.com/deepmind-media/research/language-research/Training%20Gopher.pdf
Пост в блоге: https://deepmind.com/blog/article/language-modelling-at-scale
Кода нет, модели нет, датасета нет :(

Мы ждали в этом году GPT-4 от OpenAI, а вместо неё вчера DeepMind опубликовала статью про Gopher, свою большую модель с той же архитектурой, что и GPT-3, но в 1.6 раза более тяжёлую. Как и GPT-3, Gopher это семейство моделей: 44M, 117M, 417M, 1.4B, 7.1B, 280B (у GPT-3 самая тяжёлая была 175B, https://news.1rj.ru/str/gonzo_ML/305).

На самом деле модель была обучена ещё в ноябре-декабре 2020, то есть год назад, но статья вышла только сейчас.

Авторов много, но пользуясь случаем передаю привет Коле Григорьеву :)

Архитектура заявлена практически как у GPT-2, но с двумя модификациями: RMSNorm вместо LayerNorm, да относительные позиционные эмбеддинги вместо абсолютных (что по идее позволяет оцениваться на последовательностях длиннее, чем были в обучении).

Текст токенизируется SentencePiece (32К словарь, у GPT-3 было 50К) с backoff до отдельных байтов, чтобы можно было работать с любым словарём. Размер контекста 2048, обучали Adam (что интересно, пробовали Adafactor, но не взлетело, оказался менее стабильным и итоговое качество давал хуже) с ухищрениями в виде прогрева и косинусного затухания.

Код модели на JAX (ну точно уже стал фреймворком №3, а дальше имеет шансы и обойти сладкую парочку TF/PyTorch, подробнее про JAX тут https://moocaholic.medium.com/jax-a13e83f49897), обучали на TPUv3.

Активно использовали формат bfloat16 (https://moocaholic.medium.com/fp64-fp32-fp16-bfloat16-tf32-and-other-members-of-the-zoo-a1ca7897d407).

Датасет собрали свой под названием MassiveText, куда замешали разные другие датасеты (MassiveWeb, Books, C4, News, Wikipedia и GitHub -- да-да, код). Всё тщательно пофильтровали, дедуплицировали, убрали повторы текста, порнографию, всячески упирали на качество датасета (что помогло). Всего датасет получился на 2.35B документов и примерно 10.5Тб текста. Обучали на 300B токенов, что примерно 12.8% всего датасета (ну то есть полностью по датасету не прошлись и раза), для этого сабсэмплили с заданными отдельно пропорциями.

Обучили, проверили на 152 задачах, взяли бейзлайны в виде GPT-3 (175B), Jurassic-1 (178B) и Megatron-Turing NLG (530B).

На 100 из 124 задач языкового моделирования Gopher лучше всех, бьёт GPT-3 и Jurassic-1.

На reading comprehension в лице RACE-m и RACE-h, экзамены middle- и high-school с задачами на множественный выбор, Gopher существенно превзошёл GPT-3 и Megatron-Turing NLG. До человека или до ансамблированной supervised модели не дотягивает, но зато сравним с Amazon Turk. Авторы считают, что здесь заслуга и размера модели, и датасета.

На commonsense reasoning Megatron-Turing NLG несколько обходит Gopher’а, но в целом все далеки от человека. Есть ещё где улучшаться!

На датасете FEVER для факт-чекинга обошёл supervised SOTA.

На корпусе задач MMLU (57 штук, вопросы экзаменов по разным дисциплинам) Gopher с 60% обошёл GPT-3 (43.9%) и зафайнтюненный T5 (48.9%, правда в 20+ раз меньшего размера), а также среднего человека (34.5%, кто этот средний, интересно, что лишь немногим выше рандома в 25%?), но до среднего эксперта с 89.8% далеко. Что интересно, оценки попали между предсказаниями на июнь 2022 и 2023 годов, то есть прогресс быстрее, чем ожидали спецы по прогнозированию (что, кстати, уже не в первый раз, когда реальный прогресс идёт быстрее, чем думают https://bair.berkeley.edu/blog/2021/10/14/forecasting/).

Отдельно авторы померяли, что даёт именно размер модели, когда датасет и число токенов в обучении строго одинаковые, но размер меняется. При сравнении 280B модели с 7.1B хорошо видны улучшения. Они почти везде, но всё-таки не везде (на abstract algebra, temporal sequences и high school math).
👍1
Интересно, что на TruthfulQA Gopher первый, кто улучшает результат от увеличения размера модели. GPT-2, 3, J и T5 наоборот деградируют. И вообще модель с 280B первая, кто существенно превосходит случайное угадывание.

В работе большая секция про токсичность и bias’ы. В целом токсичность сгенерированного текста хорошо коррелирует с токсичностью промпта, который в неё подали, и большие модели реагируют сильнее. Но при отсутствии токсичности на входе, она низка и на выходе и не увеличивается с ростом модели.

Bias’ы ожидаемо присутствуют, рост модели их не устраняет. Из интересного, качество модели на малопредставленных в датасете диалектах (African American) хуже на всех размерах модели.

Также модель попробовали в диалоге. Хоть она на такие задачи и не обучалась, есть примеры прям хорошие. Но и плохие она тоже умеет генерить.

Отдельный большой блок экспериментов в работе посвящён эффективным архитектурам. Это, конечно, логично и важно. И так уже дошли до точки, когда единицы компаний в мире могут такое делать. И то не помногу раз.

Попробовали разные варианты файнтюнинга: полный, верхние 40% слоёв или только смещения. Для заданного вычислительного бюджета файнтюнинг полной модели работает лучше.

Попробовали дистилляцию, для начала классическую, предсказывающую выходы модели и из большой модели в меньшую. Модель-студент получалась лучше, чем если её обучать с нуля, но всё равно далеко до оригинальной более тяжёлой модели. Также пробовали добавлять в дистилляцию внимание, было чуть получше, но возни очень много, процедуру сильно усложняло.

Сделали прунинг, классический на основе магнитуды весов, но особого профита не получили. Также попробовали динамическое разреженное обучение RigL (https://news.1rj.ru/str/gonzo_ML/204), также получили минимальный профит.

Пробовали обратную дистилляцию, когда из маленькой модели обучают бОльшую, на старте оно ускоряет процесс обучения, но дальше профит малый, а возня снова требуется.

Неплохо сработало то, что авторы называют warm starting, когда начинают с маленькой модели, а потом её расширяют, каким-то образом заполняя новые веса — лучше всего сработала процедура, когда с увеличением глубины слои реплицируют, а с увеличением ширины делают tiling (больше деталей в приложении G.3.3). Это сработало лучше, чем новая инициализация, с сохранением распределения или же очень малыми значениями для сохранения поведения модели.

Это вот интересный блок подходов, здесь ещё явно поле непаханное.

Отдельная работа (https://deepmind.com/research/publications/2021/improving-language-models-by-retrieving-from-trillions-of-tokens) посвящена другому интересному ответвлению — специальному варианту языковой модели под названием Retro (Retrieval-Enhanced Transformer), которая умеет делать conditioning на куски текста, поднятые из обучающего датасета по похожести на входную последовательность.

Короче, результат интересный, но для нас, простых смертных, до кого эта модель скорее всего ни в каком виде не долетит, ограниченно полезный. Из Gopher’а foundation model не получится, останется в закромах. Хотя всё про масштабы скейлинга всё равно ценно.
👍1