Sparse Hash AI
176 subscribers
189 photos
279 videos
4 files
623 links
AI обогатительная разработка ML месторождений. Осторожно, в канале ведутся подрывные работы!
Download Telegram
Muon as a Residual Connection
Мюон как остаточная связь
https://www.alphaxiv.org/overview/2607.01124

Исследователи предполагают, что оптимизатор Muon функционирует как неявная остаточная связь во время обучения нейронных сетей. Эта интерпретация позволяет предположить, что Muon балансирует немедленное локальное снижение потерь с сохранением пригодных промежуточных представлений, что приводит к более быстрой общей сквозной оптимизации за счет создания лучше обусловленных последующих задач.

———

Работа интерпретирует Muon как неявное остаточное соединение. Основная причина, по которой Muon помогает нижележащим слоям, связана с числом обусловленности матриц весов. Muon естественным образом способствует «спектральной плоскостности» — он держит сингулярные значения весов близко друг к другу.

Когда Muon ортогонализует градиент, он неизбежно отклоняется от направления наискорейшего спуска локального слоя. Это означает, что он жертвует некоторой "точностью градиента" — локальные потери могут уменьшаться не так быстро, как при использовании SGD. Однако результирующая матрица весов, как правило, имеет более плоский спектр сингулярных значений (лучшую обусловленность). Это "сохранение представления", и оно окупается позже, потому что последующие слои сталкиваются с гораздо более простой задачей оптимизации.
Если известно, что выход A головы внимания есть сумма, например, пары токенов из входной последовательности x, то можно ли только по выходу и входу найти эти токены – паттерн внимания?

att_weights = softmax(Q K.T)
A = att_weights x


Заморозим входные токены x, возьмём оценки схожести ключей-запросов как оптимизируемые параметры, а не вычислимые. Таргетом будет сумма двух входных токенов (первого и последнего), для лосса выберем функцию MSE.

Сойдётся? Да, выход будет очень точно соответствовать таргету – на первой картинке результирующая ошибка e-7, но результат при этом совершенно бесполезен.

Есть несчётное число паттернов внимания для этой последовательности токенов, которые дадут выходные вектора близкие к целевому. MSE вытаскивает первый попавшийся, но нам (мне) нужен именно тот паттерн, из которого был сделан таргет. Тупичок. (

Но... мне в итоге удалось (не с первого подхода) заставить оптимизатор восстанавливать единственный правильный паттерн. Вдаваться как это сделано пока не буду, просто хочу показать скрин – насколько чистым можно восстановить исходный паттерн – вторая картинка.

——

С некоторым небольшим шумом эта схема работает и с проекциями матрицы Wv.

A = att_weights x Wv


А это значит, что если есть доступ только к входным активациям x слоя внимания и выходам его голов A, то можно вначале восстановить паттерны внимания, а затем по ним обучить/прошить свои проекционные матрицы ключей-запросов, тем самым получив (утащив) копию слоя внимания. ) * но нужен доступ к Wv
Beyond Backpropagation: Monte Carlo Method Can Train Deep Neural Networks
За пределами обратного распространения: Метод Монте-Карло может обучать глубокие нейронные сети
https://www.alphaxiv.org/overview/2607.08406

Хун Чжао демонстрирует, что метод выбора на основе мутации–оптимизации Монте-Карло может практически обучать глубокие нейронные сети, включая архитектуры Transformer, без использования градиентных вычислений. Этот безградиентный подход достиг конкурентной точности в классификации изображений и языковом моделировании на уровне символов, заметно обеспечив эффективное использование функций активации Гаусса.

———

Кроме демонстрации обучения разнообразных архитектур на упрощенной версии MCA на GPU, представлен метод прунинга, который вытаскивает из сети «лотерейный билет» (размером, например, всего 0,33% от исходных параметров).

Эта работа демонстрирует, что упрощенная версия MCA, реализованная на современном GPU-оборудовании, может эффективно обучать широкий спектр архитектур — включая глубокие многослойные перцептроны, чрезвычайно широкие сети и даже Трансформеры — без какого-либо вычисления градиента.

В статье представлено pure pruning как механизм обучения. В этом подходе, вместо того чтобы возмущать веса на небольшую величину, алгоритм пытается установить вес равным нулю.
The Map Behind the Flow: Finite-Step Gradient Descent as a Dynamical System
Отображение за потоком: Конечношаговый градиентный спуск как динамическая система
https://www.alphaxiv.org/overview/2607.04993

Работа "Карта за потоком: Конечношаговый градиентный спуск как динамическая система" исследует градиентный спуск с фиксированным шагом как дискретную динамическую систему, объясняя сложные явления оптимизации, такие как "край стабильности". Она демонстрирует, что за пределами локальных пределов стабильности градиентный спуск проявляет структурированную динамику, включая циклы периода два, каскады удвоения периода и активное балансирование факторизаций, что приводит к выбору более плоских представлений.

———

Скорость обучения – это не то, что вы думали :/
🔥1
How Much is Left? LLMs Linearly Encode Their Remaining Output Length
Сколько осталось? LLM линейно кодируют длину своего оставшегося вывода
https://www.alphaxiv.org/overview/2607.05316

Это исследование демонстрирует, что Большие Языковые Модели (LLM) линейно кодируют внутреннюю, приблизительную оценку оставшейся длины своего вывода в своих скрытых состояниях. Этот вывод подтверждается декодируемостью общей длины ответа в конце запроса и динамическими обновлениями оставшегося количества во время генерации, включая увеличение при событиях самокоррекции.

———

У LLM есть план – они кодируют оставшуюся длину своего вывода.

В конце запроса/промпта LLM уже имеет первоначальную оценку длины ответа, который она сгенерирует, и по мере генерации текста модель уточняет свою внутреннюю оценку того, сколько работы осталось.
Overthinking: Amplifying Reasoning Weights to Extract Learned Secrets
Чрезмерное обдумывание: Усиление весов рассуждений для извлечения усвоенных секретов
https://www.alphaxiv.org/overview/2607.08173

Исследователи из Anthropic и MATS представили «чрезмерное обдумывание» (overthinking) – метод, который усиливает рассудочные способности больших языковых моделей (БЯМ) с использованием арифметики векторов задач. Эта техника систематически выявляет скрытую информацию и непреднамеренное поведение, демонстрируя повышенные показатели успеха аудита и раскрывая возникающие внутренние состояния модели, которые не проявляются при нормальной работе.

———

Anthropic собрали модель с «чрезмерным рассуждением» (overthinking). Из весов дообученной на рассуждениях модели вычли веса базовой и получили дельту в параметрах – «вектор рассуждения». Затем добавили масштабированную версию этого вектора обратно к весам базовой модели и получили overthinking версию. Усиленная модель в CoT выбалтывает секреты, плюс там ещё масса попутных эффектов.
Mobius Learning: Cyclic Depth Folding in Transformers
Мёбиус-обучение: Циклическое свертывание глубины в Трансформерах
https://www.alphaxiv.org/overview/2607.17843

Möbius Learning представляет циклическое свертывание глубины в трансформерах, позволяя группам блоков выполнять как поверхностные, так и глубокие репрезентативные роли через "суперпозицию ролей по глубине". Этот подход, в сочетании с параллелизмом Мёбиуса, снижает требования к памяти для каждого рабочего и достигает более низких потерь валидации при большей глубине циклов по сравнению с трансформерами с фиксированным порядком циклов.

———

Специализация слоёв по глубине не является необходимостью.

В Möbius Learning слои замкнули в кольцо и сдвигали их на каждом батче так, что каждый слой побывал в роли первого, последнего и всех остальных, что улучшило производительность модели.
🔥1
Loop the Loopies!
Крути петли!
https://www.alphaxiv.org/overview/2607.16051

Новая методология масштабирования, "Рецепт Лупи" (Loopie Recipe), позволяет рекуррентным крупным языковым моделям "Смесь Экспертов" (MoE) достигать конкурентоспособной или превосходной производительности при идентичных бюджетах вычислительных ресурсов для предварительного обучения. Этот подход привел к тому, что модели Loopie продемонстрировали "золотой" уровень производительности при решении задач Международной математической олимпиады (IMO) и Международной физической олимпиады (IPhO) 2025 года без использования внешних инструментов.

———

Вместо зацикливания блока слоёв (model-loop, L₁ → L₂ → L₁ → L₂) в зацикленном трансформере поочерёдно зациклили слои (layer-loop, L₁ → L₁ → L₂ → L₂).

* Неудивительно что сработало, ведь слои attention и MLP – это шаги оптимизации энергетических функций. Зацикливание слоя – применение нескольких шагов градиентного спуска минимизации этих функций, что уточняет результат.
Полуавтономный робот для услуг по уборке в домах (робот на час) в Сан-Франциско.

https://www.tau-robotics.com/

https://d.fixupx.com/CyberRobooo/status/2082271944976826720
When Does Recurrence Become an Algorithm? Convergence Selection in Weight-Tied Looped Transformers
Когда рекуррентность становится алгоритмом? Выбор сходимости в зацикленных трансформерах со связанными весами
https://www.alphaxiv.org/overview/2607.20594

Это исследование показывает, что трансформеры с циклическим выполнением и связанными весами реализуют «линейный вычислительный фронт» для решения алгоритмических задач, где постоянное количество позиций решается за каждый цикл, а скорость этого фронта точно устанавливается бюджетом обучения. Оно вводит новый «головной инструмент» (τ) для отслеживания этого активного вычисления, демонстрируя ограничения традиционных методов интерпретируемости, которые фокусируются на сходящихся состояниях.

———

Стохастический градиентный спуск (SGD) в зацикленном трансформере выбирает самый медленный достаточный алгоритм. Уменьшая число циклов во время обучения, можно заставить модель разрабатывать более эффективные (быстрые) внутренние алгоритмы.
Новый китайский стартап в области робототехники Light Origin.

https://d.fixupx.com/ErenChenAI/status/2080638854311059759
🔥1
Weight-norm Criticality: A Mechanism for Loss Spikes Induced by the Normalization and Weight Decay
Критичность нормы весов: Механизм скачков функции потерь, вызванных нормализацией и L2-регуляризацией
https://www.alphaxiv.org/overview/2607.21005

Исследователи представляют "критичность нормы весов" — механизм, объясняющий всплески потерь в глубоких нейронных сетях, где взаимодействие слоев нормализации и уменьшения весов вызывает сокращение масштабно-инвариантных норм весов, резко увеличивая кривизну ландшафта потерь. Исследование количественно подтверждает, что уменьшение этих параметров в atarget a раз усиливает кривизну в atarget a^-2 раз, и показывает, что всплески потерь происходят, когда эти нормы опускаются ниже выведенной границы стабильности, при этом абляционные исследования локализуют эту нестабильность в модулях MLP в трансформерах.

———

Всплески потерь (loss spikes) вызываются затуханием весов (weight decay).

Когда затухание весов слишком сильно уменьшает масштабно-инвариантные веса, ландшафт потерь становится невероятно резким, в конечном итоге пересекая критический порог, который вызывает всплеск потерь.

Источником кривизны в трансформерах является MLP. Отключив для него затухание весов, можно подавить скачки потерь.
🔥1
💡

Произведение двух суперпозиций даёт суперпозицию попарных взаимодействий их элементов.

Пример

Пусть первая суперпозиция S1 содержит в себе концепции a и b, а вторая S2 - c и d.

Перемножаем суперпозиции:

S = S1 * S2 = (a + b) * (c + d) = ac + ad + bc + bd


Результирующая суперпозиция S содержит в себе коды всех попарных комбинаций концепций. То есть получаем все возможные комбинации всего за одну операцию поэлементного умножения, O(1).

Само поэлементное умножение происходит в гейтах (гейтированное внимание или MLP) трансформера.

Несколько каскадов перемножений дадут взрывной рост комбинаций начальных концепций.
👍1
Sparse Hash AI
💡 Произведение двух суперпозиций даёт суперпозицию попарных взаимодействий их элементов. Пример Пусть первая суперпозиция S1 содержит в себе концепции a и b, а вторая S2 - c и d. Перемножаем суперпозиции: S = S1 * S2 = (a + b) * (c + d) = ac + ad + bc…
import torch
import torch.nn.functional as F

D = 1024

# Векторы концепций
a, b, c, d = F.normalize(torch.randn(4, D))

# Исходные суперпозиции
S1 = a + b
S2 = c + d

# Произведение суперпозиций
S = S1 * S2
S = F.normalize(S.unsqueeze(0)).squeeze(0)

# Пары концепций
ac = a * c
ad = a * d
bc = b * c
bd = b * d

z = torch.vstack([ac, ad, bc, bd])
z = F.normalize(z)

# Находим пары концепций в результирующей суперпозиции
r = S @ z.T
print(r)
# [0.52, 0.54, 0.53, 0.52]
Sparse Hash AI
💡 Произведение двух суперпозиций даёт суперпозицию попарных взаимодействий их элементов. Пример Пусть первая суперпозиция S1 содержит в себе концепции a и b, а вторая S2 - c и d. Перемножаем суперпозиции: S = S1 * S2 = (a + b) * (c + d) = ac + ad + bc…
Если скрытое состояние представляет из себя суперпозицию, то возведение её в квадрат, например в ReLU², даст суперпозицию попарных взаимодействий элементов.

S² = (a + b + c + d) * (a + b + c + d) = aa + 2ab + 2ac + 2ad + bb + 2bc + 2bd + cc + 2cd + dd


import torch
import torch.nn.functional as F

D = 1024

# Векторы концепций
a, b, c, d = F.normalize(torch.randn(4, D))

# Исходная суперпозиция
S = a + b + c + d

# Квадрат суперпозиции
S **= 2
S = F.normalize(S.unsqueeze(0)).squeeze(0)

# Пары концепций
aa = a * a
bb = b * b
cc = c * c
dd = d * d
ab = a * b
ac = a * c
ad = a * d
bc = b * c
bd = b * d
cd = c * d

z = torch.vstack([aa, bb, cc, dd, ab, ac, ad, bc, bd, cd])
z = F.normalize(z)

# Находим пары концепций в результирующей суперпозиции
r = S @ z.T
print(r)
# [0.50, 0.52, 0.50, 0.53, 0.27, 0.25, 0.30, 0.28, 0.26, 0.29]
Sparse Hash AI
💡 Произведение двух суперпозиций даёт суперпозицию попарных взаимодействий их элементов. Пример Пусть первая суперпозиция S1 содержит в себе концепции a и b, а вторая S2 - c и d. Перемножаем суперпозиции: S = S1 * S2 = (a + b) * (c + d) = ac + ad + bc…
Суперпозиция также представляет из себя ассоциативную память, из которой можно читать по запросу.

Если суперпозиция содержит в себе пары концепций: [ac, ad, bc, bd], то умножив её на вектор запроса q = a, получим суперпозицию значений [c, d], где запрос является частью пары.

(ac + ad + bc + bd) * a = c + d


import torch
import torch.nn.functional as F

D = 1024

# Векторы концепций
a, b, c, d = F.normalize(torch.randn(4, D))

# Суперпозиция из попарных взаимодействий концепций
S = (a + b) * (c + d)
S = F.normalize(S.unsqueeze(0)).squeeze(0)

# Читаем из памяти по запросу a
Sv = S * a
Sv = F.normalize(Sv.unsqueeze(0)).squeeze(0)

# Смотрим что прочиталось
z = torch.vstack([a, b, c, d])

r = Sv @ z.T
print(r)
# [-0.06, -0.03, 0.37, 0.39]