В чём секрет успеха трансформеров?
В последние годы трансформеры стали самой успешной архитектурой нейронных сетей, особенно в задачах обработки естественного языка. Теперь они близки к тому, чтобы стать SOTA для задач компьютерного зрения тоже. Успех трансформеров обусловлен несколькими ключевыми факторами: их механизм внимания, возможность легкой параллелизации, предварительное обучение без учителя и большое количество параметров.
Механизм внимания
Self-attention механизм, используемый в трансформерах, является одним из ключевых компонентов архитектуры, которые сделали LLM на основе трансформеров столь успешными. Однако, трансформеры далеко не первая архитектура, в которой применяются механизмы внимания.
Механизмы внимания впервые были разработаны в контексте распознавания изображения в далеком 2010, до того, как их адаптировали для помощи машинному переводу длинных последовательностей в рекуррентных нейронных сетях.
Вышеупомянутый механизм внимания был вдохновлен человеческим зрением, фокусирующимся на конкретных частях изображения (фовеальное зрение) в любой момент, что позволяет ему обрабатывать информацию в иерархическом и последовательном порядке. С другой стороны, фундаментальный механизм, заложенный в трансформерах - механизм self-attention. Он предназначен для задач sequence-to-sequence, таких как машинный перевод или генерация текста. Он позволяет каждому токену в последовательности взаимодействовать со всеми остальными токенами, обеспечивая таким образом контекст для представлений каждого отдельного токена.
В чём же уникальность и полезность механизмов внимания? Для примера рассмотрим энкодер, который может работать с представлениями входной последовательности или изображениями фиксированной длины. Он может быть реализован в виде полносвязной сети, сверточной сети или сети, основанной на механизме внимания.
В трансформерах энкодер использует механизм self-attention для вычисления важности каждого токена в последовательности относительно других токенов в последовательности, позволяя модели фокусироваться на наиболее релевантных частях входной последовательности. На первый взгляд, работа механизмов внимания напоминает процессы, происходящие в полносвязных нейронных сетях, где каждый входной элемент связан с входным элементом следующего слоя с определенным весом. Однако, в механизмах внимания веса вычисляются путем сравнения каждого входного элемента со всеми остальными. В результате, веса внимания становятся динамическими и зависят от самих входных данных. В полносвязных и сверточных сетях, напротив, веса остаются фиксированными после обучения, как показано на Рисунке 1.1.

Как показано на верхней части Рисунка 1.1, после завершения процесса обучения веса в полносвязном слое остаются неизменными, независимо от входных данных. С другой стороны, как показано снизу, веса внимания механизма self-attention меняются в зависимости от входных данных даже после окончания обучения трансформера.
Механизмы внимания позволяют нейронной сети произвольно оценивать важность различных входных данных, так что модель может сосредоточиться на наиболее важных для конкретной задачи частях. Таким образом, у модели появляется контекстное понимание каждого слова или токена изображения, позволяя создавать более точные интерпретации входных данных, что объясняет высокую эффективность трансформеров.
Предварительное обучение через Self-Supervised Learning
Успех трансформеров также обусловлен предварительным обучением, которое осуществляется с помощью self-supervised обучение на больших неразмеченных наборах данных. В процессе предварительного обучения трансформеры обучаются предсказывать пропущенные слова в последовательности или, к примеру, следующее предложение в документе. Чтобы успешно справляться с этой задачей, модели учат общие представления о языке, которые затем могут быть использованы для дообучения в различных целевых задачах.
В то время как предварительное обучение без учителя уже показало свою высокую эффективность для обработки естественного языка, его потенциал для задач компьютерного зрения остается активной областью исследований.
Большое количество параметров
Стоит отметить, что одной из особенностей трансформеров является большой размер моделей. Например, популярная в 2020 году модель GPT-3 содержит 175 миллиардов обучаемых параметров, в то время как другие трансформеры, такие как трансформеры с переключением, включают триллионы параметров.
Размер и количество обучаемых параметров в трансформерах - ключевые факторы, которые определяют качество модели, особенно для больших задач обработки естественного языка. Согласно закону линейного масштабирования, обучающая функция потерь снижается пропорционально с увеличением размера модели. Это означает, что увеличение размера модели в два раза может привести к соответствующему уменьшению обучающей функции потерь.
Это, в свою очередь, может привести к улучшению качества модели на целевых задачах. Однако, очень важно, чтобы размер модели и количество обучающих токенов масштабировались проопорционально. Это означает, что количество обучающих токенов должно увеличиваться в два раза при увеличении размера модели вдвое.
Поскольку количество размеченных данных ограничено, использование большого количества данных во время предварительного обучения без учителя является необходимым.
В заключение, можно сказать, что успех трансформеров во многом обусловлен их большими размерами и внушительными наборами данных. Благодаря использованию self-supervised алгоритмов, способность трансформеров к предварительному обучению тесно связана с их внушительными габаритами и большими датасетами. Это сочетание факторов стало ключевым для достижения впечатляющих результатов в самых разных задачах обработки естественного языка.
Простота параллелизма
Обучение больших моделей на больших датасетах требует огромного количества вычислительных ресурсов. Однако, чтобы в полной мере использовать эти ресурсы, вычисления могут быть распределены между несколькими процессорами.
К счастью, трансформеры очень хорошо поддаются параллелизации, так как они работают с последовательностями слов или токенов изображения фиксированной длины. В частности, механизм self-attention, который используется в архитектуре большинства трансформеров, включает в себя вычисление взвешенной суммы между парами входных элементов. Эти парные вычисления могут быть выполнены независимо друг от друга, как показано на Рисунке 1.2. Благодаря этому, механизм self-attention можно легко распределить между различными ядрами GPU, что значительно повышает производительность модели.

Кроме того, отдельные весовые матрицы, используемые в механизме self-attention (не показанные на Рисунке 1.2) могут быть распределены между несколькими устройствами для организации распределенных и параллельных вычислений.