Одна ошибка и ты ошибся (с)
Народные мудрецы
Как мне кажется, одной из ярких и важных технологий в механистической интерпретируемости в этом году стали SAE — Sparse AutoEncoders. Помимо того, что я сейчас с ними плотно работаю, мы как-то летом обсуждали SAE в подкасте AI Security Lab «Интерпретируемости моделей ИИ: как, зачем и насколько это реально?»
Методологически SAE всегда помогают нам найти атомарные признаки, устраняя полисемантичность — явление, когда один нейрон кодирует много признаков. И этот эффект происходит за счет создания разреженного базиса. Но это — энкодер + разреженная проекция — только лицевая часть SAE. Есть ещё и менее лицевая — если хотите, задняя, часть — декодер. 🍑
Декодер возвращает реконструкцию примера, максимально близкую к исходному эмбеддингу. Близкую, но никогда не ту же самую. Отсюда имеем факт: SAE обладает ошибкой реконструкции.
Но что такое ошибка?
Ошибка в любой прогностической задаче должна быть хорошей — это часть данных, которую мы не можем предсказать. Так, для линейной регрессии мы требуем нормальности ошибок, а для ARIMA моделей для временных рядов — нормальность и стационарность остатков (ошибок) — «зеленый флаг» обучения модели.
А что такое ошибка в SAE?
Исследовать ошибку как самостоятельный объект додумались раньше меня, так что, к счастью, мой вопрос не остался без ответа. Рассмотреть ошибку реконструкции как объект исследования предлагает работа “Decomposing The Dark Matter of Sparse Autoencoders”. Результаты работы просто невероятно красивы:
1. Существует линейное преобразование уменьшающее ошибку реконструкции — следовательно существует линейная часть разложения, которую SAE не могут изучить.
2. Существует постоянная нелинейная часть, являющаяся частью ошибки SAE реконструкции.
То есть, с такой стороны — ошибка SAE — это структурный объект, который можно декомпозировать на линейно предсказуемую и нелинейную части, с разным влиянием на поведение модели. И хотя SAE эмпирически эффективны, влияние ошибок и их природу не стоит опускать из анализа.
Ещё одна интересная работа на эту тему — пост на AI Alignment forum “SAE reconstruction errors are (empirically) pathological”. В этом блог-посте анализируется структура ответа модели при условии SAE ошибки. То есть, анализируется вопрос — что будет, если вместо x поставить x’ с ошибкой реконструкции против x’’ — со случайно ошибкой.
Результат измеряют при помощи KL-дивергенции — интуитивно отвечающей на вопрос насколько далеки распределения друг от друга (то есть 0 тут — наш идеал). Показано, что при одной и той же норме возмущения SAE-ошибка влечёт больший KL / рост loss, чем случайный шум.
При этом, если мы просто уменьшим ошибку — успех не придет. Во-первых, SAE может не улавливать ещё более атомарные концепции (можно поиграть с Meta Feature Explorer, делающий ровно это тут, по мотивам работы Sparse Autoencoders Do Not Find Canonical Units of Analysis ). Кроме того, успех реконструкции по MSE — не значит, что мы нашли важные признаки с точки зрения производительности модели (это исследуют тут) .
И вот смотрю я на всё это, кручу свои SAE признаки в дипломном проекте и чувствую, что впереди ещё безумного много интересного.
Ну и ещё один важный тейк поста — всегда важно оценивать заднюю часть и любые другие детали за спиной main контента метода.
Post #11785
54
Forwarded from Data Blog