Proof of Concept
Сделал проверку концепции суперпозиции концепций.
Заменил в небольшом трансформере в self-attention вычисление оценок внимания и softmax на суперпозицию (ака векторная память).
Для этого:
1. Собираем суперпозицию ключей: ∑ⱼkⱼ. Используем cumsum для причинности.
2, Умножаем суперпозицию на запрос qᵢ (произведение суперпозиций), это даёт суперпозицию всех связанных пар ключ-запрос: qᵢ⊙∑ⱼkⱼ
3. Проецируем через матрицу проекции значений: (qᵢ⊙∑ⱼkⱼ)Wv
Здесь матрица Wv работает в другой роли – она восстанавливает значение из ключа, что реально, так как в обычном внимании и ключи и значения – проекции из одного и того же входа.
* к ключам и запросам применяется RoPE.
———
Результат
Модель обучается так же как и с софтмакс-вниманием. Перплексия немного выше. Из странного – потери на тесте стабильно ниже потерь на трейне – обобщение опережает заучивание.
Сделал проверку концепции суперпозиции концепций.
Заменил в небольшом трансформере в self-attention вычисление оценок внимания и softmax на суперпозицию (ака векторная память).
Для этого:
1. Собираем суперпозицию ключей: ∑ⱼkⱼ. Используем cumsum для причинности.
2, Умножаем суперпозицию на запрос qᵢ (произведение суперпозиций), это даёт суперпозицию всех связанных пар ключ-запрос: qᵢ⊙∑ⱼkⱼ
3. Проецируем через матрицу проекции значений: (qᵢ⊙∑ⱼkⱼ)Wv
Здесь матрица Wv работает в другой роли – она восстанавливает значение из ключа, что реально, так как в обычном внимании и ключи и значения – проекции из одного и того же входа.
* к ключам и запросам применяется RoPE.
———
Результат
Модель обучается так же как и с софтмакс-вниманием. Перплексия немного выше. Из странного – потери на тесте стабильно ниже потерь на трейне – обобщение опережает заучивание.