Об этом проекте

## Обзор проекта Этот репозиторий является официальной реализацией статьи «Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models», опубликованной DeepSeek. В нем исследуется условная память (conditional memory) как измерение разреженности, дополняющее смесь экспертов (MoE), и реализуется в виде модуля Engram — современной модернизации классических N-граммных вложений с поиском за O(1). ## Основное содержание - **Распределение разреженности**: В статье формализуется компромисс между нейронными вычислениями (MoE) и статической памятью (Engram), предлагается U-образный закон масштабирования для управления распределением емкости. - **Эмпирическая проверка**: При равных параметрах и FLOPs модель Engram-27B демонстрирует последовательные улучшения по сравнению с базовой MoE в областях знаний, рассуждений, кода и математики. - **Анализ механизмов**: Анализ показывает, что Engram может снижать нагрузку на ранние слои по восстановлению статических паттернов, потенциально сохраняя эффективную глубину для сложных рассуждений. - **Системная эффективность**: Модуль использует детерминированную адресацию, позволяя выгружать огромные таблицы вложений в память хоста с минимальными накладными расходами на вывод. ## Архитектура и оценка Модуль Engram усиливает основную сеть, извлекая статические N-граммные воспоминания и объединяя их с динамическими скрытыми состояниями. Репозиторий включает диаграммы архитектуры и исходные файлы drawio. Оценка содержит графики законов масштабирования, крупномасштабного предобучения, обучения на длинных контекстах и тематических исследований. ## Быстрый старт Рекомендуются Python 3.8+ и PyTorch. После установки зависимостей запустите демонстрационный скрипт, чтобы увидеть основную логику модуля Engram. Обратите внимание, что код является демонстрационной версией, имитирующей стандартные компоненты, такие как Attention/MoE/mHC, с акцентом на поток данных модуля Engram. ## Лицензия и контакты Модель регулируется лицензией в репозитории. Вопросы можно задавать через issue или по электронной почте.