Sparse Hash AI – Telegram
Sparse Hash AI
134 subscribers
154 photos
257 videos
3 files
340 links
AI обогатительная разработка ML месторождений. Осторожно, в канале ведутся подрывные работы!

Персональный чат https://news.1rj.ru/str/sparsehash
Download Telegram
Media is too big
VIEW IN TELEGRAM
Походка всё лучше.
👍1
Forwarded from Алексей
Записал функции внимание и MLP через вызовы одной единственной функции - чтение из ассоциативной памяти - mem(q, K, V).
* напоминаю, что это не та какава (QKV), что в формулах трансформера

Сама функция чтения mem, как говорил, - это функция внимания, она же ассоциативная память нейронной машины.

def mem(q, K, V, temp): 
return softmax(q @ K.T / temp) @ V


Возвращаемся к рисунку схемы внимания.

Начальное значение вектора запроса q равно вектору последнего токена (входа).

q = X[-1]

Запрос отправляется в постоянную ассоциативную память внимания. Результат чтения из памяти r_ass дополняет через skip connection запрос q.

r_ass = mem(q, K, V)

K и V - матрицы ключей и значений релевантных/ассоциативных связей между токенами.

q = q + r_ass

Расширенный ассоциациями запрос теперь отправляется в оперативную, динамическую контекстную память, которой является контекст/промпт.

У контекстной памяти ключи и значения равны входу.

Аналогично делаем запрос к памяти, ответ прибавляем к запросу.

r_ctx = mem(q, X[0:-1], X[0:-1])

q = q + r_сtx

В этом месте q это выход слоя внимания. Он поступает на вход MLP, который реализован опять же через чтение постоянной ассоциативной памяти, но с рокировкой ключей и значений (см. выше для чего это сделано).

r_mlp = mem(q, V, K)

q = q + r_mlp

Всё, прошли оба слоя: attention и MLP. Далее по необходимости повторяем.

Всё вместе:

q = X[-1]
q += mem(q, K, V)
q += mem(q, X[0:-1], X[0:-1])
q += mem(q, V, K)


Только чтение из двух типов/банков памяти и ничего более.
An Intuitive Explanation of Sparse Autoencoders for LLM Interpretability
https://adamkarvonen.github.io/machine_learning/2024/06/11/sae-intuitions.html
1
Sparse Autoencoders Reveal Universal Feature Spaces Across Large Language Models
https://arxiv.org/abs/2410.06981

Sparse Autoencoders Find Highly Interpretable Features in Language Models
https://arxiv.org/abs/2309.08600
🔥2
PIDformer: Transformer Meets Control Theory
https://arxiv.org/abs/2402.15989

Для стабилизации аттеншена добавили в трансформер ПИД-регулятор.

X
🔥2
ZipNN: Lossless Compression for AI Models
https://arxiv.org/abs/2411.05239

Сжимает веса без потерь алгоритмом Хаффмана. Степень сжатия 33%-50%.
Slowing Down Forgetting in Continual Learning
https://arxiv.org/abs/2411.06916

Для борьбы с забыванием на дообучении сети новой задаче по весам реконструируют прошлые тренировочные данные, которые комбинируют с новыми.

X
LAuReL: Learned Augmented Residual Layer
https://arxiv.org/abs/2411.07501

Обучаемые остаточные связи. В каком-то смысле это вертикально развёрнутое внимание (вдоль стрима), где функция g (см. 2) принимает выходы с предыдущих блоков.

X
noise_step: Training in 1.58b With No Gradient Memory
https://github.com/wbrickner/noise_step

🧨💥🤯

X

it lets you *train* in 1.58b! could use 97% less energy, 90% less weight memory. leads to a new model format which can store a 175B model in ~20mb. also, no backprop!

критика