Summary

목표는 long-term “neural memory”를 만드는 것.

이 페이퍼엣서 제안하는 아키텍쳐는 크게 3가지 방향으로

  1. MAC(Memory as Context)
  • memory를 현재 정보의 context로 취급.
  • LMM에서 추출된 과거 information을 현재 segment의 prefix처럼 사용해서 attention에 사용.
  • context내부에 더 집어 넣는 결국 본질은 attention
  1. MAG(Memory as Gating)
  • 입력 데이터를 직접 LMM을 업데이트하는데 사용.
  • 모델을 2개의 병렬 path로 나눠서
    • 하나는 STM : sliding-window attention
    • 하나는 LTM : neural memory module
  • propagate뒤에 gating을 사용해서 연결.
  1. MAL(Memory as Layer)
  • memory module과 attention module을 stacking.

memory module은 Test-Time에서도 학습될 수 있게 설계되었고, 구조적으로는 RNN block이 하나 들어갔다. 단, update-rule이 surprise 기반으로 바뀌었고, 메모리를 파라미터 자체로 저장한다는 게 차이.

memory 모듈은 key value transformation을 잘하도록 설계.

Important

기존 transformer 구조에서도 생각해보면, q-K를 v에 대한 memory address로 생각할 수 있다. query만 가지고 적합한 value를 얻고 싶은데, attention을 통해 존재하는 모든 key와 matching시켜봐서 유사도 기반 selecting을 하는 거니.

따라서 유사도 matching, inner-product만으로 retrieval한다고 볼 수 있는데,
추가적으로 functional mapping을 시도한 것이 Titans.
Memory module을 train 단에서 k-v를 잘 학습시켜서,
inference 단에서는 q로 direct하게 v를 뽑을 수 있게 설계.
(q-k는 같은 latent space상에서 학습되도록 설계되었으니)

  • dimension 같고, attention을 사용한 순간, alignment 수행하며 matching이 일어났는지 tracking하면서 같은 latent-space를 공유한다는 해석이 가능해짐.
  • 또, 이점으로는 titans에서는 mlp로 inner-product 기반의 matching을 대체했으니 비 선형적 관계도 잘 포착할 수 잇겠지.
  • 하나의 아주 복잡한 kernel-trick같다고도 볼 수 있을 듯.