Engram: Conditional Memory via Scalable Lookup

곽태욱·2026년 1월 22일

Engram(엔그램)이 LLM의 파라미터를 키우지 않고 지식을 확장하는 방식은 시험 기간의 대학생으로 비유할 수 있습니다.

두뇌(파라미터)를 키우는 대신, 아주 성능 좋은 컨닝 페이퍼(외부 메모리)를 옆에 두는 방식입니다.

1. 직관적 비유: 암기왕 vs 오픈북 시험

기존의 거대 언어 모델과 Engram의 차이는 다음과 같습니다.

  • 기존 LLM (암기왕):
    • 모든 전공 서적의 내용을 뇌(파라미터)에 달달 외워야 합니다.
    • 새로운 지식이 생기면 뇌 용량을 늘리기 위해 더 공부(재학습)해야 하고, 뇌 크기(GPU 메모리)도 커져야 합니다.
    • 문제점: 뇌를 키우는 데 비용이 너무 많이 듭니다.
  • Engram (오픈북 시험):
    • 뇌(파라미터)는 책을 읽고 이해하는 능력(추론 능력)만 유지합니다. 뇌 크기를 키울 필요가 없습니다.
    • 대신, 방대한 지식은 외부 도서관(Scalable Lookup Table)에 따로 저장해 둡니다.
    • 문제를 풀 때 필요한 부분만 도서관에서 찾아서 답을 냅니다.

2. 기술적 원리: 어떻게 연결하는가?

그렇다면 구체적으로 모델이 어떻게 외부 지식을 가져다 쓸까요? 여기서 조건부 메모리(Conditional Memory)라는 개념이 등장합니다.

A. 뇌와 저장소의 분리 (Decoupling)

Engram은 모델의 역할을 두 가지로 쪼갭니다.

  1. 언어 모델 (Parametric): 문맥을 파악하고 말을 매끄럽게 잇는 역할 (고정된 크기)
  2. 데이터 스토어 (Non-parametric): 실제 팩트나 지식 데이터 (무한히 확장 가능)

B. 확률의 보정 (Interpolation)

모델이 다음 단어를 예측할 때, 두 가지 의견을 종합합니다.

P(Next)=λPModel+(1λ)PMemoryP(Next) = \lambda \cdot P_{Model} + (1-\lambda) \cdot P_{Memory}

  1. PModelP_{Model} (내 생각): "문맥상 '사과' 뒤에는 '맛있다'가 올 것 같아." (기존 파라미터 사용)
  2. PMemoryP_{Memory} (컨닝 페이퍼): "외부 데이터를 검색해보니, 이 문맥에서는 90% 확률로 '빨갛다'가 나오더라." (외부 룩업 사용)
  3. 최종 결정: 이 두 확률을 적절히 섞어서 최종 답을 냅니다.

즉, 파라미터를 늘려서 지식을 뇌에 쑤셔 넣는 게 아니라, "외부 데이터를 검색한 결과"를 힌트로 삼아 정답 확률을 실시간으로 고치는 것입니다.

3. 핵심 기술: Scalable Lookup (확장 가능한 검색)

"외부 데이터가 엄청나게 많으면 찾는 데 오래 걸리지 않나요?"라는 의문이 들 수 있습니다. 여기서 Scalable Lookup 기술이 들어갑니다.

  • 벡터 검색 (Vector Search): 텍스트를 단순히 글자로 저장하는 게 아니라, 의미를 담은 숫자 좌표(벡터)로 저장합니다.
  • 근사 이웃 탐색 (ANN): 모든 데이터를 다 뒤지는 게 아니라, 현재 문맥과 가장 유사한 데이터 근처만 빠르게 훑어보는 알고리즘을 사용합니다.
  • 결과: 데이터가 10배, 100배로 늘어나도(지식이 확장되어도), 검색 속도는 거의 느려지지 않고 파라미터도 그대로 유지됩니다.

요약: 왜 이 기술이 중요한가?

구분기존 LLM (Dense Model)Engram (Memory-Augmented)
지식 저장 위치모델 내부 파라미터모델 외부 데이터 스토어
지식 업데이트모델 전체를 다시 학습해야 함 (비쌈)외부 데이터만 갈아끼우면 됨 (매우 쌈)
파라미터 수지식이 많을수록 커져야 함지식이 늘어도 작게 유지 가능

결론

Engram은 "지식의 저장(Memory)"과 "지식의 처리(Reasoning)"를 분리함으로써, 처리 장치(LLM)는 가볍게 유지하고 저장소(Lookup Table)만 무한대로 늘려서 파라미터 증가 없이 똑똑해지는 기술입니다.

https://arxiv.org/abs/2601.10639


번외: RAG(검색 증강 생성) 기술과는 무엇이 다른가?

RAG(검색 증강 생성)와 Engram은 "외부에서 지식을 빌려온다"는 점에서는 사촌 지간이지만, 빌려온 지식을 어디에 어떻게 써먹느냐에서 결정적인 차이가 있습니다. 리포트 작성에 비유해서 설명하면 아래와 같습니다.

1. 직관적 비유: 참고 자료를 쓰는 스타일의 차이

RAG (Retrieval-Augmented Generation): "참고 문헌 복사해서 읽고 쓰기"

  • 상황: 리포트를 쓰기 전에 관련 자료를 검색합니다.
  • 행동: 검색된 자료(문서 덩어리)를 내 책상(프롬프트 창) 위에 잔뜩 쌓아둡니다. 그리고 그 자료를 "처음부터 끝까지 읽어가며" 내용을 요약하거나 참고해서 글을 씁니다.
  • 특징: 책상(Context window)이 좁으면 자료를 많이 못 올립니다. 자료가 많을수록 읽는 데 시간(연산량)이 오래 걸립니다.

Engram (kNN-LM 계열): "실시간 족집게 과외 (단어 추천)"

  • 상황: 일단 내 지식으로 리포트를 쓰기 시작합니다.
  • 행동: 문장을 쓰다가 막힐 때마다, 혹은 매 단어를 쓸 때마다 옆에 있는 족집게 과외 선생님(Datastore)이 "이 문맥에서는 이 단어를 쓰는 게 90% 확률로 맞아"라고 정답(확률)만 콕 집어 알려줍니다. 나는 자료를 읽을 필요가 없습니다. 추천해 준 단어를 내 문장에 자연스럽게 섞기만 하면 됩니다.
  • 특징: 책상 크기(Context window)와 상관없습니다. 자료를 읽는 게 아니라 결과값(단어 확률)만 받아오기 때문입니다.

2. 구체적인 차이점 비교 (Technical Breakdown)

기술적으로 가장 큰 차이는 지식이 주입되는 타이밍입니다.

① 지식이 들어가는 위치 (Input vs Output)

  • RAG (입력 단계): 질문이 들어오면 먼저 검색을 하고, 검색된 텍스트(Text)를 LLM의 입력에 끼워 넣습니다. 모델은 질문과 검색된 텍스트를 통째로 읽어야 합니다.
  • Engram (출력 단계): LLM이 계산을 다 마치고 마지막에 다음 단어를 내뱉으려는 순간(Output Layer), 외부 저장소에서 검색한 확률 분포(Probability)를 가져와서 섞습니다(Interpolation).

② 가져오는 데이터의 형태 (Text vs Vector)

  • RAG: 사람이 읽을 수 있는 문장(Chunk)을 가져옵니다.
  • Engram: 컴퓨터가 이해하는 숫자 덩어리(Vector/Logits), 즉 다음에 'Apple'이 나올 확률 30%, 'Banana'가 나올 확률 10%... 같은 통계적 정보를 가져옵니다.

③ 문맥 길이 (Context Window)의 부담

  • RAG: 검색된 정보가 많을수록 모델이 처리해야 할 입력 길이가 길어집니다. (비용 증가, 속도 저하)
  • Engram: 검색을 아무리 많이 해도 모델이 처리하는 입력 길이는 늘어나지 않습니다. (효율적)

3. 표로 보는 핵심 비교

구분RAG (검색 증강 생성)Engram (조건부 메모리)
핵심 컨셉읽고 푼다 (Reading)베껴 쓴다 (Copying/Interpolating)
개입 시점입력 단계출력 직전 단계
검색 대상텍스트 문서 (Documents)토큰 확률 정보 (Token Probabilities)
장점설명이 구체적이고, 왜 그런 답이 나왔는지 근거(출처)를 제시하기 좋음모델 구조를 가볍게 유지하며, 전문 용어나 희귀한 패턴(Fact)을 정확히 맞춤
단점입력(Context) 길이가 길어져서 느리고 비쌀 수 있음"왜?"라는 추론보다는 "단어 맞추기"에 특화됨

요약: 언제 무엇을 써야 할까?

  • RAG가 더 좋은 경우: "이 법률 조항을 근거로 판결문을 요약해줘"처럼 긴 텍스트를 이해하고 논리적으로 설명해야 할 때.
  • Engram이 더 좋은 경우: "최신 의학 논문에 나오는 희귀병 이름 자동 완성"처럼 방대한 데이터베이스에서 정확한 팩트(단어, 구문)를 빠르게 끄집어내야 할 때.
profile
이유와 방법을 알려주는 메모장 겸 블로그 (Frontend, AI, 경제, 책)

0개의 댓글