MemTensor/MemT-1.0

Official repository for MemT-1.0

해결하는 문제

대규모 언어 모델은 일반적으로 현재 윈도우에 포함되지 않은 이전 컨텍스트를 잃어버리며, 전체 컨텍스트를 저장해야 하므로 긴 기록을 처리하는 데 비용이 많이 듭니다. MemT-1.0은 메모리를 모델의 내장 요소로 만들어 이 문제를 해결하며, 추론 시 원본 텍스트 없이도 과거 정보를 유지하고 사용할 수 있게 합니다. 지속적인 상태는 크기가 일정하게 유지되어, 128K 기록의 전체 컨텍스트 KV 캐시와 비교했을 때 저장 공간을 약 66배 절감합니다.

작동 방식

MemT-1.0은 백본 어텐션 옆에 네이티브 메모리 블록(Native Memory Block)을 추가합니다. 이 블록은 두 부분으로 구성됩니다. 동적 다채널 메모리 행렬을 유지하고 상호작용 단계에 따라 진화하는 로컬 메모리 블록(Local Memory Block)과, 학습 가능한 메모리 쿼리, 키, 값 프로젝션 및 삭제, 쓰기, 망각, 출력 게이트를 갖춘 하이퍼 메모리 블록(Hyper Memory Block)입니다. 생성 중에 메모리 어텐션은 현재 메모리 상태에서 읽기를 수행하고, 읽기 값을 정규화 및 게이팅하여 백본 어텐션 출력에 추가합니다. 각 턴이나 세그먼트가 끝날 때 GDN-2 메커니즘이 토큰 수준의 메모리 업데이트를 수행합니다. 이 프로젝트에는 34B 토큰의 데이터와 전용 인프라로 지원되는 2단계 학습 파이프라인이 포함되어 있으며, 절차적 경험을 네이티브 메모리에 저장하는 경험 기반 에이전트 코딩 프레임워크를 시연합니다.

대상 사용자

메모리 강화 LLM을 연구하는 연구원 및 개발자, 특히 장기 작업, 에이전트 시스템, 전체 대화 로그를 저장하지 않고 사용자별 지식을 유지해야 하는 애플리케이션에 관심이 있는 분들에게 적합합니다. 퀵스타트는 Linux 서버, NVIDIA CUDA, Python 3.11 이상을 사용하는 사용자를 대상으로 하며, 배포에는 SGLang을, 대화에는 Python 클라이언트를 사용합니다.

주요 특징

  • 두 가지 모델 크기: MemT-1.0-Nano(총 36B, 활성 3B) 및 MemT-1.0-Flash(총 288B, 활성 17B). 각 모델은 학습 가능한 메모리 파라미터와 동적 메모리 상태를 가짐.
  • 128K 기록의 전체 컨텍스트 KV 캐시 대비 약 66배의 저장 공간 절감.
  • 11개의 메모리 벤치마크에서 평가된 파라미터 메모리 방식 중 1위와 2위 기록.
  • 작업 컨텍스트에 경험 텍스트를 추가하지 않고도 작업 성능을 향상시키는 경험 기반 에이전트 코딩 프레임워크 제공.
  • 메모리 상태를 스냅샷으로 저장하고 재개하는 기능을 지원하여 메모리를 대화 기록에서 분리.
  • 리포지토리 소프트웨어에 대한 비상업적 라이선스(PolyForm Noncommercial 1.0.0)와 논문에 대한 별도의 CC-BY-NC-SA 라이선스 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트