MMLU 0.6372. Это больше, чем Mistral, но меньше, чем Llama3. Обучена только на открытых данных: DCLM-BASELINE, StarCoder, ProofPile2. Всего видела 2.5Т токенов. Контекст – 2048.
Модель | Код | Датасет | Статья
#nlp #tools #models
Please open Telegram to view this post
VIEW IN TELEGRAM
huggingface.co
apple/DCLM-7B · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
ИИ открыл новый способ считать. Но вы всё равно продолжите пользоваться калькулятором
ИИ должен упростить нашу жизнь, да? Ну так вот, вместо того, чтобы просто запомнить, что 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
📝 Блог
💻 Код
#articles #models
ИИ должен упростить нашу жизнь, да? Ну так вот, вместо того, чтобы просто запомнить, что 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
📝 Блог
💻 Код
#articles #models
arXiv.org
Language Models Use Trigonometry to Do Addition
Mathematical reasoning is an increasingly important indicator of large language model (LLM) capabilities, yet we lack understanding of how LLMs process even simple mathematical tasks. To address...
🔥1