This article is a review of several papers related to the neural memory and utilization of data embeddings (12 papers)
Date | Venue | Title |
---|---|---|
2023 | NeurIPS | Neural Priming for Sample-Efficient Adaptation |
2023 | NeurIPS | Monitor-Guided Decoding of Code LMs with Static Analysis of Repository Context |
2023 | NeurIPS | ResMem: Learn what you can and memorize the rest |
2023 | NeurIPS | Accessing Higher Dimensions for UnsupervisedWord Translation |
2023 | NeurIPS | Lift Yourself Up: Retrieval-augmented Text Generation with Self-Memory |
2023 | NeurIPS | Exposing Attention Glitches with Flip-Flop Language Modeling |
2024 | Arxiv | TransformerFAM: Feedback attention is working memory |
2024 | Arxiv | Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention |
2017 | ICLR | Learning to Remember Rare Events |
2019 | ICCV | Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder (MemAE) for Unsupervised Anomaly Detection |
2020 | ICLR | Generalization through memorization: Nearest neighbor language models |
2023 | AAAI | Memory-Augmented Theory of Mind Network |
์ฃผ์ ๋ฉ์๋
์ด ์ฐ๊ตฌ๋ Pretraining ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ์ฌํ ์ด๋ฏธ์ง ์ค๋ช ์ ๊ฐ์ ธ์ ์์ธก์ ํ์ฉํ๋ Neural Priming Pool์ ์ ์ํ์๋ค. Pretraining ์ ์ฌ์ฉ๋ ํ์ต ๋ฐ์ดํฐ๋ ํ์ ์์ธก์ ์๋ฒ ๋ฉ์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํ๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ๊ธฐ๊ณ ๋ฒ์ญ์์ ์ฌ์ฉ๋๋ kNN ๊ฒ์ ๊ธฐ๋ฐ ์์ธก์ Pretraining ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ ๊ฒ์ด๋ค.
์ด๋ ๋ชจ๋ธ์ด ๋ฐ์ดํฐ์ ๋ํ ํ์ต์ผ๋ก ์ธํ ํธํฅ์ ํ์ฉํ๋ ๋ฐ ๊ด๋ จ์ด ์์ด๋ณด์ธ๋ค.
(์ด์ ์ ๊ธฐ์๋์ด ๋ชจ๋ธ์ด ๊ฐ์ ํ ๋ด์ฉ๊ณผ ์ค์ ๋ ์ด๋ธ ๊ฐ์ ์ ๋ ฅ ๊ธฐ์ฌ๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ฒ๋ผ, Pretraining ๋ฐ์ดํฐ์ ์๋ฒ ๋ฉ ํ์ฉ๊ณผ ๊ด๋ จ์ด ์์.)
ํด๋น ๋ฐฉ์์ ์ฝ๋ ์์ฑ ์ธ์ด ๋ชจ๋ธ(Code generation LLM)์์ ๋ง์ง๋ง ๋ก์ง์ ๊ฐ๋ฆฌ๋ ๋ง์คํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ์ ์๋ดํ๋ ๋ฐฉ์์ด๋ค. ์ด๋ ์ํฐ๋งํฌ์์ ๋ค์ ๋จ์ด์ ๋ํ ๋ถํฌ๋ฅผ ์์ ํ์ฌ ์ถํ ์์ธก์ ์ฌ์ฉํ ๊ฒ์ฒ๋ผ ํด๋น ์ฐ๊ตฌ๋ ์ ํจํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ํ๋งํ๋ ๋จ์ด๋ฅผ ์ ์ฝํ๋ ๊ฒ์ด๋ค.
Base ๋ชจ๋ธ์ ํ์ตํ ํ์๋ ์ถ๊ฐ์ ์ธ ๋ชจ๋์ Residual์ ์๊ธฐ์ํจ๋ค. ๊ทธ๋ฐ ๋ค์ ์์ธกํ ๋ kNN์ ์ฌ์ฉํ์ฌ ์ถ๊ฐ์ ์ธ ์ํ์ ์ฐพ์ Residual ๋ถ๋ถ์ ๋ณด์ํ๋ค.
Cooccurrence๋ก ๋ฒกํฐ๋ฅผ ๋ง๋ค์ด์ ํจ์จ์ ์ธ translation์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋ค. (Coocmap)
Interactiveํ self-play ๋ฐฉ์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ ์ํจ.
๋ ์ข์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฝ๋๋ก ํ์ตํ๋ค. (Target distribution์ ๋ํด์ KL divergence๋ฅผ ์ต์ํ) ๋ ์ข์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฑํ๋๋ก ํ์ตํ๋ค.
๋ฌธ์ ์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํ ๊ฒ ๊ฐ๋ค. ์์ค์ ํ๊ฒ์ด ์ฃผ์ด์ก์ ๋ ๊ฐ ๋จ์ด์ ๊ณต์(cooccurrence)์ ์ธก์ ํ๋ ๊ฒ์ ์ดํด๋ฉ๋๋ค. ์ ํ๋ ๋จ์ด๋ค ๊ฐ์ ์ต๋ํ ์ผ์น(matching)๋ฅผ ํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
๋ฉ๋ชจ๋ผ์ด์ ์ด์ ์ ์ํ ํ ํฐ์ ์ฌ์ฉํ์ฌ long-range token processing์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋ค. ๊ฐ์ ๋ช ์์ ์ผ๋ก ์ ๋ฌํด์ฃผ๋ ๊ฒ ๋ฟ๋ง์๋๋ผ ใ ๋์ ๋ ์ด์ด์ ์๋ ๊ฐ์ ์๋๋ก ๋ด๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ Transformer๊ธฐ๋ฐ ๋ชจ๋ธ์ด ํน์ ๋์์ ๋์ฑ ์ค๋ซ๋์ ์๊ฐํ๋๋ก ๋ง๋๋ ๊ฒ ๊ฐ๋ค.
์ค๊ฐ์ RNN๊ธฐ๋ฐ์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ํํ์ด ์ ๋ฌ๋๋๋ก ๋ง๋ค์๋ค. ์์ฆ ํธ๋ ๋๋ ํธ๋์คํฌ๋จธ ๊ธฐ๋ฐ ๋ชจ๋ธ์ด recurrentํ ํน์ฑ์ ์ง๋๋ hidden state๋ฅผ ๋ง๋ค๋๋ก ์ฐ๊ตฌ๋๋ ๊ฒ ๊ฐ๋ค.
Rare event๋ฅผ ์ฌ์ฉํ๊ณ ํ์ธํ๋ ๊ฒ์ ์ฝ์ง ์๋ค. ํนํ๋ neural network๋ long-range๋ ๊ธด ๋ฐ์ดํฐ์ ๋ํด์ ์ฌ์ฉํ๊ธฐ ์ฝ์ง ์๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ถ๋ถ์ ๋ํด์ ์ถ๊ฐ์ ์ผ๋ก ๊ณต๋ถํด์ผ ํ๋ค.
ํด๋น ๋ฐฉ์์ Code generation LLM์ ๋ํด์ ๋ง์ง๋ง Logit์ ๊ฐ๋ฆด mask๋ฅผ ๊ธฐ๋ฐ์ผ๋ก generation์ guide ํ๋ ๋ฐฉ์์ด๋ค watermark์์ ๋ค์ ๋จ์ด์ ๋ํ ๋ถํฌ๋ฅผ ์์ ํ์ฌ ์ถํ ์์ธก์ ์ํด์ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ํด๋น ์ฐ๊ตฌ๋ Valid code๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ์ํํ๋ ๋จ์ด๋ฅผ ์ ์ฝํ๋ ๊ฒ์ด๋ค.
Pretraining ๋ฐ์ดํฐ์ ๋ํด์ ์ ์ฌํ ์ด๋ฏธ์ง description์ ๊ฐ์ ธ์์ ์์ธก์ ํ์ฉํ๋ neural priming pool์ ์ ์ํ์๋ค. pretraining ๋น์ ์ฌ์ฉํ๋ ํ์ต ๋ฐ์ดํฐ๋ ์ดํ ์์ธก์ ํ๋๋ฐ ์์ด์ ์๋ฒ ๋ฉ์ ํ์ฉํ๋ค. ์ด๋ฌํ ๋ฐฉ์์ MT์์ ํ์ฉํ๋ kNN search๊ธฐ๋ฐ ์์ธก์ ๋ํด์ pretraining ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ ๋ฐฉ์์ด๋ค. ์ด๋ ๋ชจ๋ธ์ด ๋ฐ์ดํฐ์ ๋ํด์ ํ์ตํ๋ฉฐ ์๊ธด bias๋ฅผ ํ์ฉํ๋ ๊ฒ๊ณผ๋ ์ฐ๊ด๋์ด ์๋ค. (์ด์ ์ ๊ธฐ์๋์ด ๋ชจ๋ธ์ด ์๊ฐํ๋ ๊ฒ๊ณผ ์ค์ ๋ ์ด๋ธ์ ๋ํด์ input attribution์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ฒ๋ผ, pretraining ๋ฐ์ดํฐ์ ๋ํ ์๋ฒ ๋ฉ ํ์ฉ)
Autoencoder์ ๋ํด์ ์๋ฒ ๋ฉ์ ์์ฑํ๊ณ key-value๋ก๋ถํฐ ๊ฐ์ ์ ํํ์ฌ reconstructionํ๋ ๋ถ๋ถ์ ์ ์ํ์๋ค. ์ ์ํ ๋ฐฉ์์ key์ ๋ํ weight์ ์ค์ ํ๋ ๋ถ๋ถ์์ hard shrinking ์ ์ฌ์ฉํ์ฌ sparsity๋ฅผ ๊ฐ์ ํ์๋ค.
\[\hat{w} = h(w_i;\lambda) = \begin{cases} w_i & \text{if} ~ w_i > \lambda \\ 0 & \text{othderwise} \end{cases}\]์ด ์์ ReLU์ ์ํด์ ๋ค์ ์ฐ์ฌ์ง ์ ์๋ค. \(\hat{w} = \frac{\text{max}(w_i - \lambda, 0 ) * w_i}{|w_i - \lambda| + \epsilon}\)
์ด ๋ฐฉ์์ ๋ช ์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ํธ๋ฆฌ๋ฅผ ์ ํํ๊ฑฐ๋, ์ ํํ์ง ์๋ ๋ฐฉ์์ ์ ๊ณตํ๋ค. weight ์ ๋ํ magnitude๋ฅผ ๊ฐ์์ํค๊ธฐ ๋ณด๋ค entropy๋ฅผ ๊ฐ์์ํค๋ ๋ฐฉํฅ์ผ๋ก ์งํ๋์๋ค.
๋ง์ง๋ง ๋ ์ด์ด์ ๋ํด์ ๊ทธ ํํ ๊ฐ์ KNN neighbor searchํ์ฌ ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ ํํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง ํ๋ฅ ๊ฐ์ LLM๊ณผ search ํ ๊ฒ์ ์์๋ค. Wikitext์ ๋ํด์๋ KNN search ํ ๋ถ๋ถ์ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ($\lambda =0.5$) ์ฑ ์ ๋ํด์๋ KNN ๋ถ๋ถ์ ๋ ์ฐ๊ณ LLM์ ์์ํ์ ์ฌ์ฉํ๋ ๊ฒ์ด ($\lambda=0.2$)๊ฐ ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค. ์ด๋ Wikitext์ ๊ฒฝ์ฐ ์ข๋ extractive ํ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ง์ง๋ง ๋ ์ด์ด์ ๋ํด์ ๊ทธ ํํ ๊ฐ์ KNN neighbor searchํ์ฌ ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ ํํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง ํ๋ฅ ๊ฐ์ LLM๊ณผ search ํ ๊ฒ์ ์์๋ค. Wikitext์ ๋ํด์๋ KNN search ํ ๋ถ๋ถ์ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ($\lambda =0.5$) ์ฑ ์ ๋ํด์๋ KNN ๋ถ๋ถ์ ๋ ์ฐ๊ณ LLM์ ์์ํ์ ์ฌ์ฉํ๋ ๊ฒ์ด ($\lambda=0.2$)๊ฐ ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค. ์ด๋ Wikitext์ ๊ฒฝ์ฐ ์ข๋ extractive ํ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ฐ ๋จ์ด๋ง๋ค ํ๋ฅ ์ ๊ณ์ฐํด์ ์ ๋ฐ์ดํธ ํด์ค๋ค. \(p_{KNN}(y|x) \propto \sum_{(k_i, v_i) \in \mathcal{N}} 1_{y=v_i} \exp{-d(k_i, f(x))}\)
์ถ๊ฐ์ ์ผ๋กKNN ์ผ๋ก๋ถํฐ ๋ฝ์ ์ง์์ ๋ํด์ LM์ ํํ๊ณผ linear interpolation์ ํ์๋ค.
\[p(y|x) = \lambda p_{knn}(y|x) + (1-\lambda)p_{LM}(y|x)\]์ด ์ฐ๊ตฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ trajectory์ ๋ํด์ ๊ณผ๊ฑฐ ์ ๋ณด๋ฅผ key-value๋ก ์ ์ฅํ๊ณ ํ์ฌ ์ํ์์ ์ ๋ณด๋ฅผ ๋ฝ์๋ด๋ ๋ถ๋ถ์ ๊ตฌํํ์๋ค.
์ด๋ฌํ ๋ฐฉ์์ trajectory๊ฐ ์ฌ๋ฌ state ๋ค๋ก ๊ตฌ์ฑ๋์ด์๊ธฐ์ hierarchicalํ๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฝ๋ ๊ตฌ์กฐ์ด๋ค. ์ด ๊ณผ์ ์์ attention์ผ๋ก ์ ๋ณด๋ฅผ ์๋ ๊ฒ์ ๋ ๋ฒ ๋ํ๋๋ค. key-value๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ LSTM์ hidden state๋ก๋ถํฐ forward ํจ์๋ฅผ ์ด์ฉํด์ ์ฐ์ฐํ ๊ฒ์ด๋ค.