Написано во время работы в PIBBSS1. Работа началась на грант от Lightspeed Grant и продолжилась в PIBBSS. Написано в сотрудничестве с Полом Рихтерсом, Лукасом Тейшейрой, Александром Гителинком Олдензилем, и Сарой Марзен. Пол обучался в MATS на протяжении некоторой части этой работы. Благодарю Пола, Лукаса, Александра, Сару и Гийома Корлуэра за замечания к посту.
Какую вычислительную структуру мы встраиваем в LLM, когда обучаем их предсказанию следующего токена? В этом посте мы представляем свидетельство того, что это структура задаётся мета-закономерностями обновления убеждений о скрытых состояниях генерирующего данные процесса. Мы испытываем энтузиазм по поводу этих результатов, потому что:
Тут должна быть анимация по этой ссылке. Надпись слева – «Теоретическое предсказание», справа – «Остаточный поток»
В этом посте мы представляем, что обучающие данные сгенерированы Скрытой Марковской Моделью (СММ)[^2]. У СММ есть множество скрытых состояний и переходы между ними. Каждому переходу приписано, с какой вероятностью при нём выводится какой токен. Вот несколько примеров СММ и данных, которые они генерируют:
Мы рассматриваем, как связан трансформер с СММ, которая произвела данные, на которых он обучался. Это весьма обобщённо – любой набор данных, который состоит из последовательностей токенов, можно отобразить как сгенерированый СММ. Давайте для теоретической части возьмём простую СММ, которую мы называем Z1R2 («zero one random»). Вот её структура:
У Z1R три скрытых состояния: S0, S1 и SR. Стрелка из Sx в Sy, над которой написано a:p% означает, что, если процесс находится в состоянии Sx, то вероятность перехода в Sy с выводом токена a равна p%. Таким образом, переходы между состояниями стохастически генерируют бинарную строку вида …01R01R…, где на место R каждый раз случайно с равной вероятностью выбирается 0 или 1.
Структура СММ не выдаётся напрямую данными, которые она сгенерировала. Представьте себе разницу между списком строк, которые выдаёт эта СММ (с приписанными вероятностями) и самой структурой3. У трансформера есть доступ только к строкам, которые выдаёт эта СММ, но не напрямую к информации о скрытых состояниях. Поэтому, чтобы выучить что-то, связанное с скрытой структурой, ему надо вывести её из обучающих данных.
Мы покажем, что когда они хорошо предсказывают следующий токен, трансформеры совершают больше вычислительной работы, чем вывод скрытого генерирующего данные процесса!
Естественное предположение – что трансформеры должны отображать в себе скрытую структуру генерирующего данные процесса (т.е., «мира»4). В нашем случае это были бы три скрытых состояния и вероятностные переходы между ними.
Это предположение часто всплывает (и становится объектом споров) в обсуждениях о то, обладают ли LLM «настоящим пониманием». Например, Илья Суцкевер говорил:
Если подумать об этом, что это значит – достаточно хорошо предсказывать следующий токен? Это на самом деле куда более глубокий вопрос, чем кажется. Хорошее предсказание следующего токена означает, что ты понимаешь реальность, которая лежит в основе, которая привела к появлению этого токена. Это не статистические закономерности. То есть, это статистические закономерности, но что такое статистические закономерности? Чтобы понимать эти закономерности и их сжимать, надо понимать, что это за мир, который создаёт такие закономерности.
Такое представление естественно, но не очень формализовано. Вычислительная Механика – это формализация, которую разработали, чтобы изучать пределы предсказаний хаотичных и других сложных-для-предсказания систем. Она расширилась до глубокой и строгой теории о вычислительных структурах любых процессов. Помимо прочих достижений, она получила строгий ответ на вопрос о том, какие структуры нужны для оптимальных предсказаний. Интересно, что Вычислительная Механика показывает, что предсказание значительно сложнее генерации. Получается, нам следует ожидать, что трансформер, обученный предсказывать следующий токен, должен обладать более сложной структурой, чем процесс генерации данных!
Но что это за структура конкретно?
Представим, что вы в точности знаете структуру СММ, которая выдаёт данные вида …01R…. Вы ложитесь спать, потом просыпаетесь и видите, что СММ выдаёт 1. В каком она теперь состоянии? Сгенерировать 1 можно и из детерминированного перехода S1–>Sr, и из стохастического перехода Sr–>S0 с вероятностью в 50%. Так как детерминированный переход вдвое вероятнее выдаёт 1, лучшее, что вы можете – это заполучить убеждение-распределение о нынешнем состоянии СММ, в нашем случае это будет P([S0,S1,SR])=[13,0,23]5.
1 | 1 | 0 | 1… | ||
P(S0) | 1/3 | 1/3 | 1 | 0 | 0 |
P(S1) | 1/3 | 0 | 0 | 1 | 0… |
P(SR) | 1/3 | 2/3 | 0 | 0 | 1… |
Пусть после этого вы увидели, как СММ вывела ещё одну 1, так что вместе получается 11. Вы можете взять своё предыдущее убеждение о состоянии СММ (априорное распределение) и своё знание о структуре HMM вместе с выводом, который вы только что видели (соотношение вероятностей), чтобы вычислить новое убеждение (апостериорное распределение). Упражнение для читателя: каким уравнением описывается обновление состояния убеждений, если даны предыдущее состояние убеждений, наблюдаемый токен и матрица перехода СММ, которая выдаёт эти токены?6 В нашем случае есть только один способ, которым СММ может сгенерировать 11 – S1–>SR–>S0, так что вы точно знаете, что СММ теперь в состоянии S0. С этих пор каждый раз, когда вы будете видеть новый символ, вы будете точно знать, в каком состоянии СММ. Мы будем говорить, что вы синхронизировались с СММ.
В общем случае по мере того, как вы наблюдаете всё больше данных, которые сгенерировала СММ, вы постоянно обновляете своё убеждение о состоянии СММ. Даже в этом простом примере у этих обновлений есть нетривиальная структура. Например, двух выводов не всегда хватает, чтобы синхронизироваться с СММ. Если бы вместо 11… вы увидели 10…, вы бы не синхронизировались, потому что есть два разных способа, которыми СММ могла сгенерировать 10.
Структура обновления убеждений задаётся Представлением Смешанных Состояний.
Генерирующий данные процесс – СММ – в каждый конкретный момент находится в скрытом состоянии, а затем, выводя символ, переходит в другое скрытое состояние. Заметим, что аналогично ведёт себя и ваше убеждение об этом процессе при условии получения нового вывода. Вы находитесь в некотором состоянии убеждений, а затем, в зависимости от полученного вывода СММ, переходите в некоторое другое состояние убеждений.
Процесс генерации данных | Процесс обновления убеждений | |
Состояния принадлежат | Генерирующий данные механизм | Наблюдатель выводов процесса генерации данных |
Состояния | Множества последовательностей, определённым образом ограничивающие будущее | Убеждения наблюдателя о состоянии процесса генерации данных |
Последовательности скрытых состояний выводят | Разрешённые последовательности токенов | Разрешённые последовательности токенов |
Интерпретация вывода | Наблюдения/токены, которые выдаёт процесс генерации данных | Что наблюдатель видит из процесса генерации данных |
Мета-закономерности обновления состояний убеждений формально представляют из себя другую СММ, где скрытые состояния – ваши состояния убеждений. Эта мета-структура в Вычислительной Механике называется Представлением Скрытых Состояний (ПСС).
Заметим, что у ПСС есть переходные состояния (выше зелёные), которые ведут к повторяющемуся набору состояний убеждений, изоморфному генерирующему данные процессу. Это всегда так, хотя переходных состояний может быть бесконечно много. Синхронизация – это процесс движения через переходные состояния, сходящийся к генерирующему данные процессу.
Вычислительная Механика учит, что чтобы оптимально предсказывать следующий токен на основании конечной истории вывода токенов, надо реализовать Представление Смешанных Состояний (ПСС). То есть, чтобы хорошо предсказывать следующий токен, надо как можно лучше понимать, в каком состоянии находится генерирующий данные процесс, а для этого нужно ПСС.
С ПСС ассоциировано геометрическое представление, которое получается, если отметить значения состояний убеждений на симплексе. В общем случае, если наш генерирующий данные процесс имеет N состояний, распределения вероятностей на этих состояниях будут иметь N−1 степень свободы, потому что все вероятности должны быть между 0 и 1 [от переводчика: и суммироваться в единицу, это тоже важно, почему-то это не сказали]. Так что все возможные распределения вероятностей лежат на N-1-мерном симплексе. В случае Z1R это 2-симплекс, то есть, треугольник. Мы можем отобразить все возможные состояния на этот 2-симплекс, как показано ниже.
Мы обучили трансформер предсказывать следующий токен данных, сгенерированных СММ с тремя состояниями. Мы смогли найти линейное отображение геометрии ПСС в остаточном потоке. Это удивительно! Заметим, что точки на симплексе, состояния убеждений, это не вероятности, каким будет следующий токен. На самом деле, некоторым точкам тут соответствуют абсолютно одни и те же предсказания следующего токена. В частности, в нашем примере, η10, ηS, and η101 соответствуют одним и тем же оптимальным предсказаниям следующего токена.
Другой способ об этом думать: трансформеры отслеживают различия в ожидаемых распределениях на всё будущее, за пределами различий в предсказании следующего токена, хоть их в явном виде и обучают предсказанию следующего токена! Это означает, что трансформер хранит больше информации, чем необходимо только для локального предсказания следующего токена.
Ещё один способ думать о нашем утверждении: трансформеры совершают два вида рассуждений: одни выводят структуру процесса, который генерирует данные, а другие, мета-рассуждения, обновляют его внутреннее убеждение о том, в каком состоянии этот процесс находится, основываясь на некоторой конечной истории (т.е., контекстном окне).
Последняя теоретическая заметка о Вычислительной Механике и представленной тут теории, так как Вычислительная Механика – хорошо проработанный с чистого листа подход, который не зависит от конкретики архитектуры трансформера, мы можем применить его к любому оптимальному предсказателю, не только трансформерам.7
Повторим вопрос, на который мы пытаемся ответить:
Какую вычислительную структуру мы встраиваем в LLM, обучая их предсказывать следующий токен?
Для проверки наших теоретических предсказаний мы спланировали эксперимент с такими шагами:
Контроль структуры обучающих данных при помощи использования СММ, позволил нам сделать конкретное фальсифицируемое предсказание о вычислительной структуре, которая должна быть реализована в рассуждениях трансформера. Вычислительная Механика, как описано в разделе «Теоретическая База» выше, даёт способ совершать такие предсказания, основываясь на структуре СММ.
Конкретной СММ, которую мы выбрали, соответствует ПСС с бесконечно-фрактальной геометрией. Это даёт нам весьма нетривиальное предсказание о том, обнаружения чего следует ожидать в активациях остаточного потока трансформера, если наша теория верна.
Для этого эксперимента мы обучили трансформер на данных, сгенерированных простой ПСС под названием Mess3 с всего 3 скрытыми состояниями8. многократные переходы между этими состояниями генерируют строки, состоящие из токенов из множества {A, B, C}. СММ этого процесса изображена слева на рисунке ниже.
(Слева) Генерирующий данные процесс имеет три скрытых состояния и выводит строки-данные со словарём {A, B, C}. (Снизу) Пути по этой структуре генерируют строки для обучающих данных из токенов, приписанных к рёбрам, по которым эти пути проходят. Мы используем эти данные для обучения на них трансформера. (Справа) Соответствующая Mess3 ПСС – внутренние состояния системы, которая предсказывает будущие токены, которые выдаст генерирующий данные процесс, при условии наблюдения предыдущих токенов. Точки в этом пространстве соответствуют распределениям вероятностей скрытых состояний генерирующего данные процесса. Они лежат на двумерной плоскости, потому что пространство распределений вероятностей трёх вариантов двумерно. Важно, что эта структура – не структура предсказания следующего токена! Это мета-структура того, как обновляются убеждения наблюдателя о скрытых состояниях генерирующего процесса! Центральная точка треугольника соответствует максимальной неуверенности по поводу трёх скрытых состояний, а углы – полной уверенности в одном из них. Цвета присвоены сопоставлением вероятности каждого состояния одного из значений RGB.
Наш подход позволил нам совершить строгое и тестируемое предсказание о внутренней структуре трансформеров. В случае этой СММ, теория (обрисованная выше) заявляет, что обученный на этих данных трансформер должен реализовывать вычислительную структуру, ассоциированную с фрактальной геометрией, показанной справа на рисунке выше. Каждая цветная точка этого симплекса – отдельное состояние убеждений.
Мы выбрали СММ Mess3, потому что его ПСС обладает бесконечной фрактальной структурой, так что может послужить весьма нетривиальным предсказанием о том, какую геометрию мы обнаружим в остаточном потоке.
Мы обучили трансформер на данных, которые сгенерировала Mess3. Мы посмотрели на последний слой остаточного потока и нашли линейное двумерное подпространство, в котором активации обладали весьма похожей на наш предсказанный фрактал структурой. Мы сделали это при помощи обычной линейной регрессии от активаций остаточного потока (64-мерных векторов) к распределениям-убежденям (трёхмерным векторам), которые соответствуют им в ПСС.
(Слева) Наше предсказание внутренней геометрии обученного трансформера, то же, что и на предыдущем рисунке. (Справа) Результаты эксперимента. Мы нашли двумерную линейную проекцию активаций последнего слоя остаточного потока нашего обученного трансформера, геометрия которой схожа с нашим теоретическим предсказанием! Цвета присвоены согласно идеально верному распределению вероятностей (как показано слева).
Можно посмотреть и на то, как эта структура возникает при обучении. Это показывает (1) что найденная структура нетривиальна9, ведь на ранних этапах обучения она не столь подробна, и (2) что происходит постепенная подгонка активаций трансформера к предсказанной нами фрактальной структуре.
По ходу обучения видно оформление внутренних активаций остаточного потока трансформера в фрактальную геометрию, которую предсказал наш подход.
Можно посмотреть визуализацию на этом видео. Для обучения мы использовали стохастический градиентный спуск, поэтому двумерная проекция активаций подрагивает даже после того, как обучение уже сошлось. Можно видеть, что при подрагивании фрактальная структура остаётся.