tgoop.com/nn_for_science/2360
Last Update:
ИИ открыл новый способ считать. Но вы всё равно продолжите пользоваться калькулятором
ИИ должен упростить нашу жизнь, да? Ну так вот, вместо того, чтобы просто запомнить, что 2+2=4, GPT-J делает что-то похожее на тригонометрический ритуал. Он кодирует числа на многомерной спирали, раскладывает в базис косинусов, а сложение выполняет через преобразования, которые нормальный человек даже на экзамене по линалу не вспомнит.
Исследователи попытались разобраться, как LLM складывают числа, и обнаружили, что модели вроде GPT-J-6B кодируют и обнаружили метод, который назвали Clock algorithm, потому что сложение выполняется как сложение углов: через cos(a), cos(b) → cos(a+b) и напоминает сложение углов на циферблате.
Векторные представления чисел исследовали через остаточный поток модели, прогоняя GPT-J-6B на всех числах из диапазона [0,360]. Спектральный анализ показал, что представление разрежено в пространстве Фурье, а главная компонента PCA оказалась линейной. А что у нас такое периодическое и линейное? Спираль!🌀
x = r cos t
y = r sin t
y = c t
Проверили это гипотезу, подбирая параметры спирали для представления каждого числа. Оказалось, что токены, представляющие суммы (a+b), хорошо описываются этой же основой, что говорит о реальном использовании модели такого механизма.
🛠️ Как проверить, что модель действительно так считает?
✔️ Intervention patching: заменили активации слоёв модели на вычисленные вручную спиральные представления и обнаружили, что это почти так же хорошо, как полная подмена слоя! Значит, модель действительно использует эту структуру.
✔️ Разделение ролей между слоями: слои MLP 14-18 формируют спиральное представление (a+b), а слои 19-27 считывают его и поднимают соответствующий токен в логитах.
✔️ Разбор нейронов: используя атрибуционные техники, исследователи выяснили, что активации нейронов MLP тоже следуют периодическим паттернам, что дополнительно подтверждает гипотезу о геликоидальном (спиральном) сложении.
Почему это важно?
Оказывается, вместо того, чтобы просто запоминать суммы, модель самостоятельно выучивает сложную, но универсальную алгоритмическую структуру! Этот же метод ранее встречался в исследованиях модульного сложения в трансформерах, который раньше описывал Neel Nanda. LLM не просто таблицы с вероятностями, а какие-то самоорганизующиеся вычислительные системы.
В любом случае, может, машинное обучение и не всегда дает интуитивно понятные решения, но точно умеет находить красивые и неожиданные пути.
🔗 Источники:
📜 arxiv
📝 Блог
💻 Код
BY AI для Всех
Share with your friend now:
tgoop.com/nn_for_science/2360