Как стать автором
Обновить

Краткий пересказ Towards Pretrained Transformers As universal Computation Engines

Время на прочтение4 мин
Количество просмотров1.6K

Данная статья представляет собой краткий пересказ https://arxiv.org/abs/2103.05247

Аннотация

Данная статья является разбором свежей статьи от исследователей из университета Беркли "Pretrained Transformers As Universal Computation Engines". В статье решается задача дообучения трансформеров на новые виды информации, такие как: изображения, битовые операции, математические выражения и последовательности белков. 

Архитектура трансформер стала основой существующих успехов глубокого обучения, породив череду моделей обработки естественного языка таких как GPT, BERT или T5, которые сейчас представлены в зоопарке русскоязычных моделей Cбера. Впоследствии архитектура трансформера стала применяться и в задачах  задачах компьютерного зрения (CLIP, ImageGPT, Dall·E).

Идея данной статьи происходит из того, что гигантские языковые модели обучаются на больших массивах данных, в том числе, Википедии, Reddit и т. д. Поэтому модели обладают широкими фактологическим знаниями, например, о годах рождения известных личностей. 


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

Помимо того, поскольку модели обучаются предсказывать следующий токен в последовательности, она также может поддерживать типы входных данных, которые сводимы к обычным последовательностям (например, картинки также можно представить как численный вектор). 

Universal computational engines on Transformers

Авторы статьи предположили, что количество весов в трансформере может быть достаточным для того, чтобы эффективно решать широкий спектр задач после до обучения под конкретные данных. Например GPT может быть дообучена на задачах перевода текста, его упрощения (simplification), суммаризации (выделения ключевых тем текста), или на поддержание диалога.

Ранее многие исследователи занимались задачами генерации специфических форматов данных, которые, тем не менее, были близки к тексту - например, ноты в модели MuseNet.

Но предыдущие исследования не пытались дообучать модель обработки естественного языка (NLP) на задачах принципиально других форматов, таких как изображения или битовые последовательности. 

Задача, решаемая в статье, была следующей - есть набор классических задач классификации: 

  • MNIST - классификация изображений рукописного написания цифр 

  • CIFAR - классификация картинок, принадлежащих 10 разным классам

  • C10 LRA - тот же датасет Cifar, но изображения переведены в оттенки серого и в последовательность длины 1024

  • Bit XOR - задача предсказания результата выполнения функции XOR для двух строк

  • ListOps - задача парсинга математических выражений, в качестве ответа единственное число. Например: [MAX 4 3 [ MIN 2 3 ] 1 0 ] Ответ: 4 

  • Remote homology detection - задача предсказания сворачивания белка

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

Авторы заморозили все слои, кроме входного и выходного. Классическая архитектура GPT работает с текстовыми последовательностями на входе. В свою очередь, данные, которые использовались в статье, отличались форматом (как сказано выше, это были, в том числе изображения, логические выражения, цепочки белков), но при этом представимые в виде последовательностей.

Рассмотрим, какие операции были проведены

Входной слой инициализировался по-своему для каждой задачи, поскольку данные имеют разный формат входа (в первую очередь, размерность). Поскольку входной слой представлял собой линейную функцию (а, например, не свертки), это позволило значительно упростить вычисления без значительного дообучения входного и выходного слоя. 

Выходной слой также линейный, он выполняет задачу классификации в этой архитектуре. 

Признаки позиций (positional embeddings) также оставались одинаковыми для всех модальностей работы модели. 

Рассмотрим результаты на тестовых данных

Обычная LSTM и FULL (общая архитектура трансформера) тренировались с нуля на датасетах различного формата, которые были описаны выше (под каждый датасет модель обучалась отдельно). Можно заметить что разница с FPT, то есть дообученной GPT, архитектуру которой авторы представляют в статье, не значительна, а в некоторых задачах FPT превосходит и FULL, и LSTM (например, в предсказании сворачивания белка). То есть в сущности дообученная модель не проигрывает по точности полному переобучению для конкретной задачи. 

Авторы статьи не остановились на этом, и решили проверить, что будет, если по-разному инициализировать веса в замороженных слоях трансформера.  

Для инициализации использовались: 

  • случайная инициализация, которая ставится по-дефолту в GPT2 без дообучения сетки (Random)

  • веса из модели, обученной с нуля под задачу BitMemory, то есть для сжатия данных (Bit)

  • веса из трансформера (Vision Transformer), тренированного под классификацию картинок (ViT)

Как видно, различные инициализации только ухудшили результат, сравнительно с исходной языковой моделью. Единственное исключение - ViT-веса позволили лучше справляться с задачей классификации изображений, что логично так как модель VIT предназначена для изображений.

На пути к Multitask AI

В заключение, авторы представляют первые наработки на пути к полноценным multimodal моделям, которые были бы в состоянии решать широкий спектр разноплановых задач и обращаться с любыми типами входных данных. С приходом таких моделей появиться возможность не обучать архитектуры с нуля, а лишь дообучить их на необходимую задачу и получать хорошие значения точности.

Теги:
Хабы:
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

Публикации