본문 바로가기

AI

[ AI/Deepseek ] Engram 조건부 메모리 사용

언어 모델링은 본질적으로 두 가지 질적으로 다른 과업, '구성적 추론(compositional reasoning)'과 '지식 검색(knowledge retrieval)'을 동시에 수행.

구성적 추론:  새로운 문맥에서 논리적 관계를 파악하는 동적이고 깊은 연산을 요구
지식 검색 : 고유 명사나 관용구와 같이 고정되고 정형화된 패턴을 인식하는 과업

 

이자료는 deepseek의 논문에서 발취한 자료이다.

 

GitHub - deepseek-ai/Engram: Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models

Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models - deepseek-ai/Engram

github.com

 

 

Engram : 구조

deepseek

 

 

기존 LLM의 문제 Engram
기존 트랜스포머 모델은 'Alexander the Great(알렉산더 대왕)'과 같은 고정된 지식이나 관용구를 처리할 때도, 값비싼 어텐션(Attention)과 FFN 연산을 사용하여 매번 이 단어들의 관계를 계산합니다.

이는 단순 암기로 해결할 수 있는 작업에 귀중한 연산 자원을 낭비하는 것입니다.
Engram은 이러한 정적이고 국소적인 패턴(예: 고유명사, 관용구)을 계산하는 대신 메모리 조회로 처리합니다.

이렇게 함으로써 모델의 초기 레이어가 단순한 패턴 재구성에 힘을 쏟지 않도록 부담을 덜어줍니다

 

핵심 기술

지역적 문맥(N-gram)을 대규모 임베딩 테이블의 특정 항목으로 효율적으로 매핑하는 것.
이는 모든 N-gram 조합을 직접 파라미터화하는 것이 불가능하기 때문에 두 가지 핵심 기술 활용
 
Tokenizer 압축: 
표준 서브워드 토크나이저는 의미적으로 동일한 용어에 대해 다른 토큰 ID를 할당하는 경우가 많습니다(예: Apple ␣apple). Engram은 이 비효율성을 해결하기 위해, 텍스트 정규화 규칙(예: 소문자화, NFKC 정규화)에 기반하여 여러 원시 토큰 ID를 단일 표준 식별자로 축소하는 전처리 사상 함수 P: V -> V'를 사전 계산합니다.
이 '어휘 투영 계층'은 의미 밀도를 극대화하며, 실제 128k 어휘 크기의 토크나이저에서 유효 어휘 크기를 23%까지 줄이는 효과를 보였습니다.
 
 
다중 헤드 해싱(Multi-Head Hashing): 
압축된 토큰으로 구성된 모든 N-gram 조합을 직접 파라미터화하는 것은 여전히 불가능합니다. Engram은 이를 해결하기 위해 해싱 기반 접근법을 채택합니다. 해시 충돌로 인한 정보 손실을 완화하기 위해, 각 N-gram 차수(n)에 대해 여러 개의 독립적인 해시 헤드(K개)를 사용합니다. 각 해시 헤드는 주어진 N-gram을 고유한 해시 함수(φ_n,k)를 통해 대규모 임베딩 테이블(E_n,k) 내의 특정 인덱스로 매핑합니다.
이렇게 각 헤드에서 검색된 임베딩 벡터들을 모두 연결(concatenate)하여 최종 메모리 벡터 e_t를 구성합니다.

 

 

 

ps-

LLMs는 컴퓨터 자원의 한계를 갖고 있다.
총량을 갖고 있기 때문에 한쪽이 많이 사용되면 다른쪽에서 사용이 줄어든다. 

이말은 포퍼먼스가 떨어진다는 뜻으로 연결된다.

--

어떤 사람이 이런 말하는 것을 들었다. 

미국은 1 부터 100을 만들지만, 중국은 1에서 10을 만든다고 즉 중국은 이미 만들어진 것을 보수하는 수준이라는 말.
틀린 말은 아닌데, Google도 처음엔 Yahoo의 검색 엔진을 위탁운영했는 걸.

다만, 여전히 알 수 없는 치열한 경쟁