Грант Сандерсон, создатель популярного математического YouTube-канала 3Blue1Brown, выступил на конференции TNG Big Tech Day '24 с глубоким визуальным разбором внутренней математики трансформеров. В своем докладе он детально объяснил, как работают механизмы внимания (attention), запросов (queries), ключей (keys) и значений (values), а также почему простая задача предсказания следующего токена порождает сложные интеллектуальные способности. Спикер продемонстрировал, как многомерная геометрия помогает моделям кодировать тончайшие смысловые оттенки и почему эта архитектура идеально приспособлена для параллельных вычислений на видеокартах.
🚀 От перевода к генерации: как работают современные LLM 0:00
Современные большие языковые модели (LLM) потребляют колоссальные объемы вычислительных ресурсов . Любой, кто следит за рыночной капитализацией компании Nvidia, понимает, что эти алгоритмы выполняются на графических процессорах (GPU) из-за их высокой приспособленности к параллельным вычислениям . Грант Сандерсон ставит своей целью дать слушателям интуитивное, «до мозга костей» физическое понимание того, какие именно математические операции происходят внутри нейросетей при обработке текста и почему они так легко распараллеливаются .
Архитектура трансформеров была представлена в теперь уже легендарной научной работе «Attention is all you need» («Внимание — это все, что вам нужно») в 2017 году . Изначально исследователи фокусировались на узкой задаче машинного перевода (например, для сервисов вроде Google Translate) . Однако с тех пор технология вышла далеко за рамки этой области. Она оказалась невероятно гибкой средой, применимой для множества типов данных .
Примерами таких задач выступают:
- Машинный перевод и локализация текстов.
- Транскрипция аудио в текст с помощью специализированных моделей (например, Whisper) .
- Синтез речи по текстовому описанию (Text-to-Speech) .
- Классификация и сегментация изображений .
В основе современных чат-ботов лежит упрощенная версия оригинальной архитектуры 2017 года . Эта модель обучается на простой задаче: принять на вход фрагмент текста и предсказать, какое слово должно идти следующим . Получая фразу вроде «To date, the cleverest thinker of all time was...» («На сегодняшний день самым умным мыслителем всех времен был...»), алгоритм не просто выдает один конкретный вариант . Он формирует распределение вероятностей по всему своему словарному запасу . В данном случае вероятности распределятся между множеством исторических фигур, а также вводными словами вроде «вероятно», «несомненно» или «спорно» .
Чтобы превратить такую предсказательную модель в генеративный ИИ (чат-бот), разработчики используют метод случайного сэмплирования из полученного распределения . Модель выбирает слово с учетом его вероятностного веса, присоединяет его к исходному тексту и запускает весь цикл вычислений заново, чтобы предсказать следующее слово . Этот процесс повторяется токен за токеном, требуя огромных вычислительных мощностей на каждом шаге .
Многие задаются вопросом: зачем выбирать случайные слова, а не брать всегда самый вероятный вариант? Грант Сандерсон объясняет, что если установить так называемую «температуру» модели на ноль (что означает жесткий выбор только самого вероятного токена), выводимый текст становится сухим, банальным и неестественным . Внесение искры случайности делает речь ИИ более живой, гибкой и творческой .
Чтобы превратить этот процесс в полноценный диалог, разработчики создают для модели контекст . В самое начало текстового окна (seed text) помещается описание среды: «Ниже приведен диалог между пользователем и полезным ИИ-ассистентом» . Затем туда добавляется реплика пользователя, после чего модель генерирует ответ от лица ассистента — строго по одному токену за раз . По мнению Гранта Сандерсона, удивительно, что столь простой механизм предсказания следующего слова способен имитировать долгосрочное планирование и глубокие логические рассуждения .
📊 Поток данных в трансформере: от токенов к векторным пространствам 4:17
Прежде чем углубляться в математические детали, Грант Сандерсон предлагает рассмотреть высокоуровневую схему движения данных через нейросеть .
Первым делом поступающий текст разбивается на минимальные единицы — токены . В случае текста это обычно целые слова, их части или знаки препинания . В моделях, работающих с другими модальностями (звук, изображения), токенами могут выступать небольшие фрагменты спектрограммы или патчи картинки . Возникает логичный вопрос: почему бы не разбивать текст просто на отдельные буквы (символы), ведь это кажется более естественным атомарным уровнем языка? Грант Сандерсон предлагает слушателям подумать над этим вопросом, обещая вернуться к нему позже .
После токенизации каждый токен сопоставляется с длинным списком чисел — вектором эмбеддинга (векторным представлением токена) . На первом этапе этот процесс представляет собой простой поиск по таблице (lookup table) . Каждый раз, когда модель встречает конкретное слово, она присваивает ему один и тот же базовый вектор, кодирующий исходное значение слова вне контекста .
Затем эти векторы последовательно проходят через цепочку из двух ключевых блоков:
- Блок внимания (Attention Block) — механизм, позволяющий векторам взаимодействовать друг с другом, обмениваться информацией и обновлять свои значения в зависимости от контекста .
- Многослойный перцептрон (Multi-Layer Perceptron, MLP) — стандартная полносвязная нейросеть, состоящая из нескольких матричных умножений с нелинейными функциями активации между ними .
Блок внимания критически важен для разрешения многозначности слов . Например, слово «mole» в английском языке имеет совершенно разные значения в контекстах: «американский крот» (животное), «один моль углекислого газа» (химическая единица) и «взять биопсию родинки» (медицинский термин) . Взаимодействие векторов в блоке внимания позволяет им корректировать свои направления в пространстве, впитывая смысл окружающих слов . Вектор не просто избавляется от двусмысленности — он вбирает в себя «эссенцию» всего контекста, необходимую для точного предсказания следующего токена .
После блока внимания данные попадают в многослойный перцептрон (MLP) . Несмотря на то что историческая статья называлась «Attention is all you need», с точки зрения количества параметров именно на MLP приходится львиная доля объема модели — около двух третей (в то время как на механизмы внимания уходит лишь одна треть параметров) .
Долгое время роль MLP оставалась не до конца понятной. Однако в декабре 2023 года исследователи из DeepMind опубликовали работу, посвященную интерпретируемости нейросетей . Они изучали, как и где модель хранит факты о реальном мире (например, ассоциации спортсменов с видами спорта) . Если модель успешно дополняет фразу «Michael Jordan plays the sport of...» словом «basketball», эта информация не могла прийти из текущего контекста — ее там просто нет . Модель должна была извлечь этот факт из своих внутренних весов, настроенных в процессе обучения . Исследование DeepMind показало, что подобные факты и долгосрочные знания о мире хранятся именно в параметрах многослойных перцептронов (MLP) .
По мнению Сандерсона, блоки внимания отвечают за сбор и интеграцию контекста, а перцептроны предоставляют модели емкость для хранения фактологической памяти .
Эти два блока чередуются многократно. Глубокое обучение называется «глубоким» именно из-за многократного повторения однотипных операций . В современных больших моделях число таких слоев может достигать сотни. Например, оригинальная модель GPT-3 содержит 96 слоев .
На выходе из последнего слоя модель анализирует только самый последний вектор последовательности . Изначально он кодировал лишь последнее слово входного текста (например, «was»), но пройдя через десятки блоков внимания и MLP, этот вектор вобрал в себя контекст всего предложения и накопленные базовые знания сети . К этому финальному вектору применяется простая математическая операция (линейная проекция и софтмакс), которая превращает его в итоговое распределение вероятностей для следующего токена .
При этом во время обучения модели для эффективности используются все промежуточные векторы последовательности одновременно — каждый из них учится предсказывать свой собственный последующий токен на исторических данных . Это позволяет из одного обучающего текста извлекать тысячи обучающих примеров .
📐 Магия многомерных пространств: геометрия смыслов 10:09
Идея перевода слов в векторы (числовые списки) обусловлена требованиями математического аппарата машинного обучения . Чтобы использовать математический анализ, вычислять градиенты и применять обратное распространение ошибки, входные данные должны быть непрерывными вещественными числами .
Удивительно то, какие геометрические свойства возникают в этих векторных пространствах в процессе обучения . Оказывается, слова с похожими значениями естественным образом группируются в кластеры . Если найти ближайших соседей для вектора слова «Tower» (башня) в простом пространстве Word2Vec, мы обнаружим векторы других строений и высоких объектов .
Более того, целые направления в этом пространстве начинают кодировать абстрактные семантические признаки . В работе исследователей из Google 2013 года «Efficient estimation of word representations in vector space» был описан классический пример : если из вектора слова «Woman» (женщина) вычесть вектор слова «Man» (мужчина) и прибавить полученную разницу к вектору слова «King» (король), то ближайшим вектором в этой точке пространства окажется вектор слова «Queen» (королева) .
Грант Сандерсон делится личным опытом: при попытке воспроизвести этот эксперимент на стандартной предобученной модели Word2Vec самым близким вектором все же оказался сам исходный «King», а «Queen» заняла лишь второе место . Спикер объясняет это тем, что слово «королева» в обучающих текстах встречается не только как женский аналог короля, но и в других контекстах (например, музыкальная группа Queen или словосочетание drag queen) . Однако при тестировании семейных отношений (например, разница между дядей и тетей в сопоставлении с разницей между мужчиной и женщиной) аналогия сработала безупречно .
В процессе градиентного спуска модель самостоятельно выделила в векторном пространстве конкретное направление, отвечающее за категорию гендера . Добавление вектора этого направления смещает значение слова из мужского рода в женский. Аналогично модель сопоставляет «Япония — суши» с «Германия — братвурст» .
Визуализировать такие пространства крайне сложно, поскольку они обладают колоссальной размерностью . В GPT-3 векторы токенов имеют 12 288 координат . Высокая размерность критически важна для того, чтобы модель могла кодировать огромное количество независимых концептов и смысловых оттенков .
Чтобы продемонстрировать удивительные свойства многомерных пространств, Грант Сандерсон предлагает слушателям решить две геометрические задачи .
Задача № 1 (простая): Какое максимальное количество векторов можно разместить в $N$-мерном пространстве так, чтобы все они были строго перпендикулярны (под углом 90 градусов) друг другу?
Ответ: Ровно $N$ векторов. Это базовое определение размерности векторного пространства . Если у нас 12 288 измерений, мы можем получить лишь 12 288 строго независимых понятий, что ничтожно мало для описания всего многообразия мира .
Задача № 2 (сложная и контринтуитивная): Сколько векторов можно разместить в $N$-мерном пространстве, если ослабить требование строгой перпендикулярности и разрешить им быть почти перпендикулярными — например, под углами в диапазоне от 88 до 92 градусов?
В двухмерном или трехмерном пространствах такое небольшое послабление практически не увеличивает количество возможных векторов . Однако в пространствах высокой размерности математические законы меняются: количество почти перпендикулярных векторов растет экспоненциально относительно числа измерений .
Грант Сандерсон отмечает, что при проведении численных экспериментов со 100-мерными векторами ему удалось без труда разместить сотни тысяч векторов, попарный угол между которыми находился в пределах $90 \pm 2$ градусов . Для 1000-мерных пространств это число исчисляется миллионами и миллиардами .
Этот математический феномен объясняет две важные вещи:
- Как ИИ удается упаковывать гигантское количество независимых идей, концептов и грамматических правил в относительно скромные 12 000 измерений без их взаимного искажения .
- Почему большие языковые модели демонстрируют сверхлинейный рост эффективности при увеличении размерности векторов в процессе масштабирования .
🔍 Запрос, ключ и значение: как устроен механизм внимания (Attention) 22:04
Чтобы детально разобрать механизм внимания, Грант Сандерсон предлагает использовать упрощенный учебный пример . Представим фразу: «A fluffy blue creature roamed the verdant forest» («Пушистое синее существо бродило по зеленеющему лесу») .
Нам необходимо понять, как информация от прилагательных («пушистое», «синее») передается существительному («существо»), чтобы обновить его векторное представление . Исходный базовый вектор слова «существо» абстрактен . Мы хотим, чтобы после прохождения слоя внимания этот вектор стал более специфичным и кодировал концепт именно пушистого синего существа .
Векторы исходно содержат не только информацию о значении самого слова, но и о его позиции в тексте (позиционное кодирование) . Это необходимо для сохранения полной параллелизуемости вычислений: модель должна обрабатывать все токены одновременно, не привязываясь к их последовательному чтению шаг за шагом .
Математический дизайн слоя внимания спроектирован так, чтобы все вычисления производились через операции матричного умножения . Это дает два ключевых преимущества:
- Матричное умножение чрезвычайно быстро выполняется на графических процессорах (GPU) за счет параллельных потоков вычислений .
- Линейные операции имеют простые производные, что значительно облегчает и ускоряет расчет градиентов при обратном распространении ошибки во время обучения .
Для реализации этого механизма используются три матрицы параметров, которые настраиваются в процессе обучения: матрица Запросов (Query), матрица Ключей (Key) и матрица Значений (Value) .
Вектор каждого слова умножается на матрицу Запросов $W_Q$, порождая вектор запроса (Query) . Вектор запроса обычно имеет гораздо меньшую размерность, чем исходный эмбеддинг — например, всего 64 или 128 измерений вместо 12 288 . Смысловая задача запроса — сформулировать «вопрос» от имени слова к своему контексту . Для слова «существо» (существительное в четвертой позиции) запрос может звучать так: «Есть ли передо мной прилагательные, описывающие меня?» .
Параллельно векторы всех слов умножаются на матрицу Ключей $W_K$, создавая векторы ключей (Key) в том же самом сжатом 64-мерном пространстве . Ключ — это «ответ» токена, описывающий его собственные характеристики . Для слов «пушистое» и «синее» ключи будут транслировать информацию: «Я прилагательное, стою на такой-то позиции» .
Связь между запросом и ключом устанавливается через их геометрическое выравнивание в пространстве . Если запрос одного слова («ищу прилагательные перед собой») совпадает по смыслу с ключом другого слова («я прилагательное перед тобой»), их векторы в 64-мерном пространстве должны указывать в одном направлении .
Степень их сонаправленности измеряется с помощью простейшей и вычислительно дешевой операции — скалярного произведения векторов (dot product) :
- Если векторы сонаправлены, скалярное произведение дает большое положительное число (слова тесно связаны) .
- Если они перпендикулярны, результат равен нулю (слова не связаны) .
- Если они указывают в противоположные стороны, результат отрицательный .
Вычислив скалярное произведение векторов запросов и ключей для всех пар слов в предложении, мы получаем квадратную матрицу (сетку) оценок внимания . В нашем примере ячейки на пересечении строки «существо» со столбцами «пушистое» и «синее» покажут высокие положительные значения, тогда как связь с другими словами будет близка к нулю .
🎭 От матрицы оценок к нормированным весам и маскированию 30:54
Полученные скалярные произведения еще не являются весами, так как они могут быть любыми вещественными числами . Для превращения их в нормированные коэффициенты (от 0 до 1, дающие в сумме 1 по каждому столбцу) применяется функция Софтмакс (SoftMax) . Она возводит значения в экспоненту и делит каждое на сумму всех экспонент столбца . Это математически сглаживает распределение, выделяя максимальные значения и устремляя к нулю мелкие отрицательные величины . При этом сохраняется непрерывность функции, что важно для расчета производных .
Перед применением Софтмакса значения скалярного произведения дополнительно делят на квадратный корень из размерности пространства ключей/запросов (в нашем примере — $\sqrt{64} = 8$) для предотвращения проблемы исчезающих градиентов при больших значениях .
Однако при обучении генеративных моделей возникает серьезная проблема . Поскольку модель обучается на параллельном предсказании каждого последующего токена для всех префиксов текста одновременно, она «видит» весь текст целиком . Если позволить всем токенам свободно общаться друг с другом, то при предсказании слова, следующего за «существо», модель просто подсмотрит правильный ответ, который уже содержится в следующих позициях входной строки .
Чтобы этого избежать, применяется механизм маскирования (Causal Attention) . Все связи, где более поздние токены (будущее) передают информацию более ранним (прошлое), принудительно зануляются .
Для сохранения нормировки Софтмакса зануление выполняют элегантно : всем элементам выше главной диагонали матрицы оценок (соответствующим влиянию будущих слов на прошлые) присваивается значение минус бесконечность ($-\infty$) . При прохождении через экспоненту в функции Софтмакса эти значения превращаются в строгие нули, и веса распределяются корректно только по доступным левым токенам .
Грант Сандерсон указывает на ключевую проблему классического механизма внимания — его квадратичную сложность $O(N^2)$ относительно длины контекста . Размер матрицы внимания растет пропорционально квадрату количества токенов . Именно поэтому простое увеличение контекстного окна в современных LLM требует внедрения сложных алгоритмических оптимизаций .
При генерации нового текста в режиме реального времени возникает избыточность вычислений: на каждом новом шаге модель заново обрабатывает всю предысторию . Для борьбы с этим применяется кэширование ключей и значений (KV-caching), что позволяет избежать квадратичного замедления на этапе вывода (inference), перенося основную тяжесть вычислений на этап обучения .
Спикер также возвращается к вопросу о символьной токенизации . Использование отдельных символов в качестве токенов привело бы к:
- Взрывному росту длины контекста и, как следствие, к колоссальным затратам памяти из-за квадратичной сложности матрицы внимания .
- Необходимости тратить первые слои сети просто на сборку букв в слова для понимания их базового смысла .
Современным золотым стандартом выступает метод побайтового парного кодирования (BPE), находящий оптимальный баланс между размером словаря и длиной контекста .
💎 Формирование вектора изменений и мультиголовое внимание 39:39
Когда матрица весов внимания сформирована, необходимо физически перенести смысл от слов-доноров («пушистое», «синее») к слову-реципиенту («существо») . Для этого применяется третья матрица — матрица Значений (Value) .
Векторы исходных токенов умножаются на эту матрицу. Полученный вектор значения (Value) определяет, что именно данный токон должен передать другим словам, если они обратят на него внимание . Вектор значения слова «пушистое» будет содержать математический сдвиг, добавляющий признак «пушистости» .
Если бы мы использовали прямое отображение из исходного 12 000-мерного пространства в него же, матрица Значений содержала бы слишком много параметров (в 100 раз больше, чем матрицы ключей и запросов) . Для оптимизации вычислений ее представляют в виде низкорангового преобразования : вектор сначала проецируется в промежуточное сжатое пространство малой размерности, а затем расширяется обратно до исходных 12 288 измерений .
Итоговое обновление вектора слова происходит следующим образом :
- Берутся векторы Значений (Value) для всех токенов.
- Находится их взвешенная сумма, где весами выступают нормированные коэффициенты из матрицы внимания . Для слова «существо» веса для всех слов, кроме «пушистое» и «синее», будут нулевыми .
- Полученный вектор изменений $\Delta E$ складывается с исходным базовым вектором токена .
На выходе из блока внимания мы получаем новый вектор, который теперь позиционируется в пространстве как «пушистое синее существо» . Этот процесс протекает параллельно для всех токенов в последовательности .
Описанная схема представляет работу одной головы внимания (Attention Head) . Однако за один проход через современную модель вычисляются тысячи таких голов параллельно . Один блок внимания большой модели может содержать около 100 независимых голов, и каждый слой содержит свой блок внимания .
Различные головы внимания обучаются фокусироваться на разных типах связей в языке :
- Одна голова связывает прилагательные с существительными.
- Другая сопоставляет глаголы с наречиями.
- Третья ищет местоимения и их антецеденты (к какому имени собственному относится слово «он» или «она»).
- Четвертая отслеживает логические и фактологические ассоциации.
Каждая голова вычисляет свои матрицы запросов, ключей и значений, создавая свой уникальный паттерн внимания . Векторы изменений $\Delta E$ от всех голов просто суммируются и прибавляются к исходному эмбеддингу токена . Пройдя через эту процедуру на десятках слоев, векторы приобретают невероятно глубокое смысловое наполнение .
📈 Почему трансформеры захватили мир? Сила масштабирования 46:07
Грант Сандерсон отмечает, что с 2017 года трансформеры практически вытеснили все остальные архитектуры в сфере обработки естественного языка и активно проникают в соседние области . Главная причина их тотального доминирования кроется в феномене масштабирования .
Эмпирические «законы масштабирования» (Scaling Laws) показывают, что простое увеличение объема обучающих данных и количества параметров модели предсказуемо снижает значение функции потерь (cost function) . А более низкие потери напрямую транслируются в качественный скачок возможностей модели — от простого автодополнения слов до ведения осмысленного диалога .
Трансформеры идеально подходят для масштабирования благодаря следующим факторам:
- Отказ от рекуррентности. Предыдущие архитектуры (RNN, LSTM) обрабатывали текст последовательно, слово за словом, накапливая скрытое состояние . Их невозможно было эффективно распараллелить на GPU . Трансформер обрабатывает весь контекст целиком в один проход, обеспечивая максимальную утилизацию вычислительной мощности современных чипов .
- Самообучение без учителя (Unsupervised Learning). Задача предсказания следующего токена не требует ручной разметки данных людьми . Модель может обучаться на терабайтах неразмеченных текстов из интернета . Ручная разметка (например, обучение с подкреплением на основе отзывов людей — RLHF) требуется лишь на финальном этапе тонкой настройки чат-бота .
- Универсальность токенизации. Поскольку токенизировать можно любой тип данных (звук, изображения, видео, генетический код), трансформер способен объединять разные модальности в рамках одной архитектуры без создания специфических гибридных систем .
❓ Вопросы и ответы: о глубоких раскопках, аналоговых вычислениях и двумерном внимании 49:58
После завершения основной лекции Грант Сандерсон ответил на вопросы аудитории.
Вопрос: Как много времени вы лично посвятили изучению этой темы за последние месяцы?
Грант Сандерсон: Гораздо больше, чем я планировал изначально, но это было невероятно увлекательно . Будучи математиком по образованию, я провел много часов в беседах с экспертами, особенно с исследователями в области интерпретируемости нейросетей . Моя цель — создавать наглядные педагогические визуализации, но сами темы, которые вскрываются в процессе, поражают .
Например, упомянутая ранее гипотеза суперпозиции (Superposition Hypothesis) — о том, как модель умудряется кодировать гораздо больше признаков, чем у нее есть физических измерений в пространстве, используя почти перпендикулярные направления . Это глубочайшая математическая кроличья нора, которая заслуживает отдельного видео .
Вопрос: В сверточных нейросетях исследователи когда-то столкнулись с проблемой затухающих градиентов и решили ее с помощью остаточных связей (ResNet), пропускающих сигнал без изменений. Есть ли подобные тренды в трансформерах?
Грант Сандерсон: В трансформерах эта идея (резидуальность) внедрена на самом базовом уровне с самого начала . Каждый блок внимания не заменяет исходный вектор новым значением, а вычисляет изменение $\Delta E$ и прибавляет его к исходному вектору . Это сохраняет стабильность размерности векторов на протяжении всех 100 слоев и обеспечивает высочайшую стабильность градиентов при обучении . Создатели архитектуры трансформеров изначально отлично понимали особенности аппаратного обеспечения и закладывали эти принципы в фундамент модели .
Вопрос: Есть ли у вас метрики для шуток во время длинных выступлений, чтобы люди не засыпали? Работает ли с вами команда креативщиков?
Грант Сандерсон: Нет, у меня нет команды креативных мыслителей . Я обычный ботаник (nerd), который просто глубоко погружается в тему . При подготовке материалов я руководствуюсь исключительно стремлением к ясности понимания, а не юмором . Я верю, что лучшая мотивация для зрителя досмотреть длинное видео до конца — это искреннее обещание того, что в финале он действительно разберется в сложной теме . Если люди верят в это обещание, они готовы удерживать внимание без всяких шуток .
Вопрос: Если вы используете GPU для вычислений, но при этом модель толерантна к небольшим ошибкам (ведь все вычисляется через мягкие ассоциации), почему бы не перейти на аналоговые компьютеры для решения проблемы энергоэффективности?
Грант Сандерсон: Это отличный вопрос, хотя я и не являюсь экспертом в области аналоговых вычислений . С точки зрения физики, использование аналоговых систем в ИИ выглядит крайне логично . В цифровых компьютерах 1940-х годов от аналоговых систем отказались в основном из-за лавинообразного накопления ошибок при последовательных вычислениях . В нейросетях, где все завязано на мягкие вероятностные ассоциации, строгая цифровая точность действительно не так важна .
По моему мнению, главная причина, почему аналоговые чипы до сих пор не вытеснили цифровые GPU — это колоссальный технологический задел последних . Огромное количество интеллектуальных и финансовых ресурсов было вложено в оптимизацию цифрового матричного умножения на GPU до предела . Аналоговым системам невероятно сложно догнать этот локомотив, даже если с фундаментальной физической точки зрения они более перспективны .
Вопрос: Звук и текст по своей природе одномерны — они разворачиваются во времени или слева направо. Но изображения изначально двумерны. Пиксели сверху и снизу важнее для контекста, чем пиксели в конце строки. Как токенизировать изображения для трансформера с учетом этого фактора?
Грант Сандерсон: При токенизации изображений картинка разбивается на небольшие квадратные фрагменты (патчи), которые и выступают в качестве токенов . Двумерность пространства учитывается на этапе позиционного кодирования (Positional Encoding) . Модель получает информацию о координатах патча сразу по осям X и Y, что позволяет вектору «знать», где именно на плоскости он находится .
Чтобы избежать вычислительного взрыва при расчете внимания на миллионах пикселей, разработчики идут на ухищрения — например, применяют маскированное внимание, которое сначала вычисляется по строкам, а затем по столбцам . Существует множество подходов, но все они опираются на двумерное позиционное кодирование .