Engram README

The project's README from github.com/deepseek-ai/Engram. As one markdown file: README.md.

DeepSeek-V3

Homepage Chat Hugging Face
Discord Wechat Twitter Follow
License

1. Introduction

This repository contains the official implementation for the paper: Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models.

Abstract: While Mixture-of-Experts (MoE) scales capacity via conditional computation, Transformers lack a native primitive for knowledge lookup. To address this, we explore conditional memory as a complementary sparsity axis, instantiated via Engram, a module that modernizes classic $N$-gram embeddings for $\mathcal{O}(1)$ lookup.

Key Contributions:

2. Architecture

The Engram module augments the backbone by retrieving static $N$-gram memory and fusing it with dynamic hidden states. The architecture is shown below (drawio provided):

Engram Architecture

3. Evaluation

Scaling Law

Scaling Law


Large Scale Pre-training

Pre-training Results


Long-context Training

Long Context Results

4. Case Study of Engram

Long Context Results

5. Quick Start

We recommend using Python 3.8+ and PyTorch.

pip install torch numpy transformers sympy

We provide a standalone implementation to demonstrate the core logic of the Engram module:

python engram_demo_v1.py

⚠️ Note: The provided code is a demonstration version intended to illustrate the data flow. It mocks standard components (like Attention/MoE/mHC) to focus on the Engram module.

6. License

The use of Engram models is subject to the Model License.

7. Contact

If you have any questions, please raise an issue or contact us at [email protected].

Engram (deepseek-ai/Engram)

Searching Database…

4.8K ·GitHub
Что это такое?Это официальный релиз кода к статье DeepSeek 'Conditional Memory via Scalable Lookup', представляющий Engram — модуль, который даёт трансформерам нативный примитив поиска знаний, модернизируя классические N-gram-эмбеддинги для выборки за O(1), в дополнение к разреженности Mixture-of-Experts.
Это полноценная обучаемая модель или просто демо-код?Это автономная демонстрационная реализация, призванная показать поток данных модуля Engram; она имитирует окружающие компоненты вроде Attention, MoE и mHC, а не предоставляет полную обучаемую модель.
Как попробовать код?Установите Python 3.8+ и PyTorch, затем запустите автономный скрипт из репозитория, демонстрирующий ключевую логику модуля Engram и поток данных.
Что должно быть установлено для запуска?Только Python 3.8 или новее и PyTorch; другого окружения для демо-кода не описано.
Входит ли сюда полная модель Engram-27B или конвейер обучения?Нет, выпущен только упрощённый автономный демо-пример модуля Engram; использованная в статье предобучающая настройка Engram-27B, базовые модели MoE и настоящие компоненты Attention/mHC здесь не предоставляются.
Что именно делает модуль Engram?Он извлекает статическую память на основе N-gram через детерминированную выборку и сливает её с динамическими скрытыми состояниями модели, давая трансформеру механизм условной памяти в дополнение к методам условных вычислений вроде MoE.
Как Engram соотносится с Mixture-of-Experts?При сопоставимых бюджетах параметров и FLOPs модель Engram-27B стабильно превосходит базовые модели MoE на задачах знаний, рассуждений, кода и математики, а в статье выводится U-образный закон масштабирования для распределения ёмкости между вычислениями MoE и памятью Engram.
Почему Engram эффективен на инференсе?Поскольку его адресация детерминирована, большие таблицы эмбеддингов, на которые он опирается, можно выгружать в память хоста с минимальными накладными расходами на инференсе; к тому же он освобождает ранние слои от запоминания статических паттернов, сохраняя эффективную глубину для рассуждений.
Size
2.2 MB
Stars
4.8K
Updated
CommitJan 14
Age
9mo
Commits · 90 Days