В ходе обсуждения TEM c Джемини (https://share.google/aimode/eoWFvqXbMcFqGHP3l) наткнулся на то, что типа “память в TEM реализуется за счёт outer product векторов”. Хотя это было и в статье [WhittingtonTEM], [WhittingtonTransTEM], но я как-то на это не обратил внимания. Копнул глубже [DennisLTM]. Самой модели уже лет 40. Но самое прикольное, что triadic memory - это одна из реализаций этой модели памяти. Т.е. мы просто аккумулируем в матрице element wise отношения и потом можем через dot-product доставать оттуда данные.

Ещё интереснее стало после прочтения статьи https://habr.com/ru/articles/1063752/

> Формулировка следует немедленно, и она та же, что и в любой программе для тензорных ядер. Матричное произведение $C = A·B$ есть не что иное, как сумма внешних произведений, по одному на каждый элемент общей размерности K: > > for k in 0..K: > ZA += A[:, k] ⊗ B[k, :] // один FMOPA на каждый k >

Получается, что матричное произведение можно рассматривать как пакетное сохранение данных в матрице!

Связи:

  • attention <-> матричная память
  • triadic memory <-> матричная память
  • матричное произведение <-> матричная память