Введение: как нейросети хранят знания о мире?
Миллиарды параметров языковой модели образуют чёрный ящик. Мы подаём на вход текст, получаем на выходе предсказание, а внутренности остаются недоступными для прямого наблюдения. Однако заглянуть внутрь можно. Извлекая активации скрытых слоёв, мы обнаруживаем, что концепты не разбросаны хаотично по пространству высокой размерности. Они организованы в структуры, напоминающие геометрические объекты - многообразия.
На примере GPT-2 и циклических концептов (дни недели, месяцы, часы) это становится наглядным. Модель формирует петлю в пространстве активаций, сохраняя циклический порядок: понедельник ближе к вторнику, чем к пятнице, а воскресенье замыкает круг на понедельник. Теорема Уитни о вложении гладких многообразий даёт математическое обоснование: любое многообразие размерности n можно вложить в евклидово пространство размерности 2n+1 без самопересечений. Для нейросети это означает, что пространства активаций с размерностью 768 или 1024 достаточно, чтобы разместить в нём низкоразмерные структуры, кодирующие концепты.
Практический результат экспериментов: модель сохраняет циклический порядок, но не строит идеальную геометрическую окружность. Контекстуализированные состояния (выходы верхних слоёв) дают более чёткую структуру, чем эмбеддинги. Метрики Angular Tau и Circle R² позволяют измерить это численно. Мы разбираем, как именно устроена эта упаковка, и даём инструмент для анализа собственных моделей - без воды, с конкретными цифрами и выводами.
Теорема Уитни о вложении многообразий: математический фундамент
Теорема Уитни (Whitney embedding theorem) утверждает: любое гладкое многообразие размерности n можно гладко вложить в евклидово пространство R^{2n+1}. Вложение означает, что многообразие отображается в пространство большей размерности без самопересечений и с сохранением всех топологических свойств. Окружность (одномерное многообразие) вкладывается в R³, но для нейросети с размерностью скрытого состояния 768 этого более чем достаточно.
Применительно к языковым моделям это работает так: пространство активаций слоя - это многомерное евклидово пространство. Концепт «дни недели» - это множество из семи точек, которые модель может расположить в виде петли, аппроксимирующей окружность. Теорема гарантирует, что размерности хватит для размещения этой петли без искажений, но не гарантирует, что модель действительно построит идеальную геометрическую фигуру. На практике модель находит представление, достаточное для решения задачи предсказания следующего токена, и этим представлением оказывается топологически корректная, но геометрически несовершенная петля.
Аналогия: представьте, что вы упаковываете нитку бус в большую коробку. Теорема Уитни говорит, что коробка достаточно велика, чтобы разложить бусы ровным кругом. Но модель, оптимизируя функцию потерь, может слегка смять этот круг - порядок бусин сохранится, а идеальной формы не будет.
От многообразий к пространству активаций GPT-2
Скрытые состояния GPT-2 на каждом слое - это векторы размерности 768 (для базовой версии). Когда модель обрабатывает токен «Monday», она вычисляет его контекстуализированное представление - точку в R⁷⁶⁸. Семь точек для семи дней недели образуют облако. Проекция этого облака на первые две главные компоненты (PCA) показывает петлю.
Модель не обязана строить идеальную окружность. Ей достаточно, чтобы расстояния между точками отражали семантическую близость: Monday близок к Tuesday и Sunday, далёк от Friday. Это топологическое ограничение - соседство в цикле - оказывается сильнее геометрического. Теорема Уитни объясняет, почему такой структуры вообще можно достичь: размерность пространства активаций избыточна для кодирования одномерного циклического концепта, и модель использует эту избыточность для размещения множества концептов одновременно, потенциально пересекающихся в каких-то измерениях, но разделённых в других.
Эксперимент: как GPT-2 представляет дни недели и месяцы
Постановка эксперимента проста. Берём предобученную GPT-2 (small, 124M параметров). Подаём на вход контекст, содержащий день недели, например: «The day after Monday is». Извлекаем скрытые состояния для токена дня недели на разных слоях. Повторяем для всех семи дней. Получаем семь точек в 768-мерном пространстве для каждого слоя. Применяем PCA для визуализации в 2D.
Результат: точки образуют петлю. Monday переходит в Tuesday, Tuesday в Wednesday, и так далее до Sunday, которая замыкается обратно на Monday. Но петля не круглая - она сплюснута, имеет утолщения, иногда пересекается. Порядок следования дней вдоль петли соответствует реальному календарному порядку. Это главный результат: модель выучила циклическую структуру времени.
Задача с календарным сдвигом подтверждает это. Если подать «The day after Friday is», модель должна предсказать Saturday. Анализ активаций показывает, что вектор для Friday в контексте задачи смещается в направлении Saturday - модель использует выученную циклическую структуру для выполнения операции сдвига.
Визуализация циклических структур: от эмбеддингов к скрытым состояниям
Эмбеддинги (входной слой) уже несут циклическую информацию. Проекция эмбеддингов дней недели на 2D показывает намёк на петлю, но точки расположены рыхло, порядок местами нарушен. Angular Tau для эмбеддингов составляет около 0.7 - корреляция циклического порядка присутствует, но не идеальна.
Контекстуализированные состояния с верхних слоёв (слои 8-11 для GPT-2 small) дают значительно более чёткую картину. Петля становится выраженной, точки выстраиваются в правильном порядке. Angular Tau вырастает до ~0.9. Причина в том, что контекст («The day after X is») активирует именно циклический аспект концепта. Без контекста «Monday» может активировать и другие ассоциации: начало рабочей недели, название группы, день луны. Контекст фокусирует представление на календарном значении, и циклическая структура проступает явно. Это согласуется с тем, как работают механизмы внимания в трансформерах: контекст перевзвешивает признаки, усиливая релевантные и подавляя нерелевантные.
Метрики для оценки циклической структуры: Angular Tau и Circle R²
Визуализация - хорошо, но нужны числа. Две метрики дают количественную оценку: Angular Tau измеряет сохранность циклического порядка, Circle R² - близость к идеальной окружности.
Angular Tau - это ранговая корреляция, адаптированная для циклических данных. Берём точки в 2D-проекции, вычисляем их углы относительно центра масс. Сортируем точки по углу. Сравниваем полученный порядок с идеальным циклическим порядком дней недели. Значение +1 означает полное совпадение порядка, 0 - случайный порядок, -1 - обратный порядок. Высокий Angular Tau (~0.9 для контекстуализированных состояний) подтверждает: модель хранит именно циклический порядок, а не произвольное соседство.
Circle R² оценивает, насколько точки в 2D-проекции ложатся на окружность. Подгоняем окружность методом наименьших квадратов и считаем коэффициент детерминации. R²=1 - идеальная окружность, R²=0 - точки не образуют круг. Для лучших слоёв GPT-2 Circle R² составляет около 0.6. Это ключевой результат: даже при отличном циклическом порядке геометрия далека от идеала. Модель не строит окружность - она строит топологически корректную петлю, которой достаточно для различения дней и выполнения операций сдвига.
Angular Tau: проверка циклического порядка
Расчёт Angular Tau для дней недели: после PCA-проекции получаем семь точек с координатами (x_i, y_i). Вычисляем углы θ_i = atan2(y_i - y_c, x_i - x_c), где (x_c, y_c) - центр масс. Сортируем дни по возрастанию угла и сравниваем с эталонным порядком (Monday, Tuesday, ..., Sunday). Для циклических данных используем круговую корреляцию: сдвигаем эталонный порядок на k позиций и находим максимум корреляции.
Результаты для GPT-2 small: эмбеддинги дают Angular Tau ~0.72, слой 0 - ~0.68 (контекстуализация ещё не помогла), слои 8-10 - ~0.91, слой 11 - ~0.89. Рост от эмбеддингов к верхним слоям составляет около 0.2, что существенно. Модель в процессе обработки контекста уточняет циклическую структуру, делая её более выраженной.
Circle R²: насколько точки близки к окружности
Circle R² вычисляется так: находим центр (a, b) и радиус R окружности, минимизируя сумму квадратов расстояний от точек до окружности. Затем считаем R² = 1 - SS_res / SS_tot, где SS_res - сумма квадратов отклонений точек от подогнанной окружности, SS_tot - сумма квадратов отклонений от среднего радиуса.
Для GPT-2 small Circle R² составляет ~0.62 на лучших слоях. Это означает, что только 62% вариации расстояний до центра объясняется моделью идеальной окружности. Остальные 38% - отклонения, которые модель допускает. Петля имеет неравномерную толщину, точки не равноудалены от центра. Модель жертвует геометрическим совершенством ради других задач: те же нейроны участвуют в кодировании других концептов, и идеальная окружность для дней недели могла бы помешать представлению месяцев или часов. Это практический компромисс, найденный градиентным спуском.
Практические выводы: что это значит для работы с нейросетями
Модели хранят концепты как многообразия, сохраняя отношения, а не точные координаты. Это фундаментальное наблюдение имеет практические следствия для интерпретируемости, отладки и дизайна промптов.
Для интерпретируемости: анализ геометрии скрытых состояний даёт инструмент для проверки, что модель действительно выучила нужное отношение. Если вы ожидаете, что модель понимает циклическую природу дней недели, Angular Tau покажет это числом. Низкое значение - сигнал, что концепт не сформирован, и модель может ошибаться на задачах, требующих этого понимания.
Для отладки: метрики типа Angular Tau и Circle R² можно использовать как диагностические. При дообучении модели на новых данных можно отслеживать, не разрушается ли структура уже выученных концептов. Падение Angular Tau для дней недели после файнтюнинга на специализированном корпусе укажет на катастрофическое забывание циклического отношения.
Для дизайна промптов: понимание, что контекст усиливает нужную структуру, объясняет, почему промпты с явным указанием отношения работают лучше. «Расположи дни недели по порядку» активирует циклическое многообразие сильнее, чем простое перечисление дней. Инженерия промптов становится, в частности, управлением тем, какое подмногообразие активируется в пространстве скрытых состояний.
Связь с практикой усиливается, если посмотреть на проблему шире. Когда модели сталкиваются с задачами, где инструкция конфликтует с полезной нагрузкой, происходит сбой границы между ними - форма непреднамеренной инъекции промпта. Мы разбирали этот эффект в статье о нейросетях для перевода, которые начинают решать задачи. Понимание внутренних представлений помогает предсказывать и предотвращать такие сбои.
Ограничения и следующие шаги
Эксперименты проводились на GPT-2 small. Другие архитектуры и масштабы могут вести себя иначе. Более крупные модели имеют большую размерность скрытого состояния, что может приводить к более чётким геометрическим структурам. С другой стороны, у них больше концептов конкурируют за те же нейроны через суперпозицию, и это может размывать индивидуальные многообразия. Проверка на современных архитектурах (Llama, Gemma, Qwen) - прямое продолжение этой работы.
Не все концепты циклические. Иерархические отношения (страна-город), аналогии (король-королева), линейные шкалы (холодный-горячий) требуют других метрик и геометрических моделей. Методология анализа через геометрию скрытых состояний универсальна, но конкретные метрики нужно адаптировать под тип отношения.
Метрики Angular Tau и Circle R² применимы для анализа любых циклических концептов в любых моделях. Часы (1-12), месяцы, времена года, фазы луны, ноты в октаве - везде, где есть циклический порядок, можно оценить, насколько модель его усвоила. Это практический инструмент, который читатель может применить к своей модели уже сегодня. Если вы работаете с RAG-системами, которые галлюцинируют даже при идеальном промпте, анализ внутренних представлений поможет понять, на каком этапе пайплайна теряется структура знания.
Понимание того, как модели хранят концепты, перестаёт быть чистой теорией. Это рабочий инструмент для инженеров, внедряющих AI в production. Дисциплина и терпение в ML окупаются именно в таких детальных анализах, которые отделяют работающее решение от демо-прототипа.