Engram条件记忆:DeepSeek-V4.1-Flash中196B稀疏参数N-gram哈希查表的实现原理
Engram条件记忆DeepSeek-V4.1-Flash中196B稀疏参数N-gram哈希查表的实现原理【免费下载链接】DeepSeek-V4.1-FlashDeepSeek-V4.1-Flash 是一个多模态混合专家MoE模型拥有 5520 亿骨干参数并支持最多一百万 token 的上下文长度。该模型原生支持图像和文本输入并以自回归方式生成文本项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-V4.1-FlashDeepSeek-V4.1-Flash 是一个拥有 5520 亿骨干参数的多模态混合专家MoE模型支持最长一百万 token 的上下文。它最独特的设计之一叫Engram 条件记忆用约196B 稀疏参数的 N-gram 哈希查找表把词组级记忆直接查出来注入模型。本文将用通俗的方式拆解这套哈希查表机制的实现原理帮你理解它为什么快、为什么省、为什么条件触发。为什么需要 Engram 条件记忆普通 Transformer 靠注意力机制重新计算上下文信息而人类的记忆更像字典听到华盛顿是美国直接翻出对应词条即可。Engram 就是给模型加的一本超级词典 它不参与注意力计算不走 KV Cache不增加上下文长度的存储压力只有当词组N-gram真的在文本中出现时才会触发对应的记忆行被查表读出——所以叫条件记忆196B 参数虽然庞大但每次只读其中极少数行属于稀疏激活。这套设计与 KV Cache 压缩是互补的一个管记住固定的词组知识一个管压缩动态上下文共同支撑起 1M 上下文窗口。整体架构第 1 层和第 14 层各挂一张哈希表打开 config.json 的text_config能看到 Engram 的全部关键配置配置项值含义engram_layer_ids[1, 14]只在 40 层中的第 1 层和第 14 层挂载 Engramengram_num_embeddings[384006168, 384016682]两张哈希表各约3.84 亿行engram_head_dim256每行记忆向量的维度engram_max_ngram_size4最大哈希 4-gram即 2、3、4 字词组engram_n_heads8每种 N-gram 拆 8 个头分散存储engram_compressed_vocab_size99092压缩后的词表大小两张表各约 3.84 亿行 × 256 维合计约1966 亿参数——这正是196B 稀疏参数的来源。第一步Token 压缩——让 The、the、THE 哈希相同在 inference/engram.py 中build_compressed_token_map会把每个 token 做 NFKC 归一化、去音标、转小写、合并空白然后映射到一个更小的压缩词表129280 → 99092。这一步的意义大小写、空格、音标差异导致的 token 变体会塌缩成同一个 ID词组命中率大幅提升。代码里还留了一个精巧的小细节——用私有区字符\ue000保护纯空格 token防止它被 Strip 清空后与其他无关 token 合并。⚠️ 压缩词表大小99092不是普通配置所有哈希乘数都由它派生不一致会导致整张表静默重哈希。第二步滚动 XOR 哈希——一个位置一次算出 2/3/4-gram这是 NgramHashState 类的核心。每个位置只与它前面最多 3 个 token 组合分别构成 2-gram、3-gram、4-gram。哈希方式很特别每个 token 乘以该层 × 回溯步专属的奇数乘数由10007 × 层号为种子的随机数生成且限制在 int64 不溢出范围内从近到远滚动异或XOR第 1 步得到 2-gram 哈希第 2 步 XOR 进上一个 token 就是 3-gram 哈希……以此类推每个 (N-gram 大小, 头) 组合各自对素数取模落在互不重叠的桶区间。为什么用素数不同头、不同 N-gram 大小的桶区间必须严格不相交素数按序抽取且绝不复用天然保证了这一点。每个桶的起点是engram_vocab_size1600 万向上找下一个未被占用的素数。为什么用滚动 XOR一个 token 位置最多只产生 3 个 N-gram 哈希滚动复用让计算量极小而且 prefill 和逐 token 解码阶段可以共享同一份位置缓存cache跨阶段无缝衔接。第三步查表——FP8 存储 张量并行分片哈希 ID 拿到后就要去哈希表里翻字典。inference/model.py 中的ParallelEngramEmbedding负责这件事有两个工程亮点FP8 存储3.84 亿行 × 256 维的表如果存 bf16 需要约 200GB改为 FP8E4M3后减半。表中存的是量化值 缩放因子查表时逐行反量化即可代价几乎为零按行分片表被均匀切到各张量并行 rank每个 rank 只查自己手里的行查不到的位置补 0最后all_reduce求和还原。每个位置、每层共触发24 次查表3 种 N-gram × 8 头读出的 24 行向量拼在一起进入最后一步。第四步门控注入——记忆按需进入残差流Engram 类 的 forward 是条件二字的落脚点24 行查表结果经线性投影wkv生成hc_mult份key键和 1 份value值门控分数 当前残差流与该 key 的归一化点积再取带符号平方根后过 sigmoid最终输出 残差流 门控 × value。直觉上当这个词组的含义与当前上下文对得上时门控开大记忆被注入对不上时门控趋近 0几乎不干扰。这就是条件——不是每次都强行回忆而是匹配度决定回忆强度 ️。多模态细节图像 token 被标记为 DEADDeepSeek-V4.1-Flash 原生支持图像输入。在 N-gram 哈希中图像跨度image span会被填成特殊值DEAD -1任何 N-gram绝不会跨越图像 token回溯到 DEAD 就停止图像位置的门控被直接置 0不获得任何 Engram 贡献原样通过。仓库中的多模态示例输入就是这样一张玉米图片它和文本 token 一起被编码但在 Engram 查表时完全隐身快速上手本地跑通 Engram 推理整个 Engram 机制在 inference/ 的最小推理实现里完整可读跟着做即可获取仓库git clone https://gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-V4.1-Flash安装依赖python -m pip install -r requirements.txt转换权重以 8 卡张量并行为例python convert.py --model-parallel 8 ...运行示例INPUT_FILEexamples/example.txt ./run.sh完整步骤见 inference/README.md模型整体介绍见 README.md。常见疑问 FAQQ1196B 参数会不会拖慢推理不会。每次只查 24 行每层每位置FP8 行级反量化代价极低真正的成本是显存因此它按行分片到多卡。Q2哈希冲突怎么办冲突只是让两个词组共享同一段桶区间查表读出的是平均化的记忆再经过门控把关——不匹配时注入量趋近 0冲突被自然抑制。Q3为什么 N-gram 最大只到 4太短的 2-gram 歧义大太长的 5-gram 组合爆炸、命中率骤降2~4-gram 是通用性与区分度的平衡点再乘以 8 个头分散存储总容量依然充足。Q4Engram 和 KV Cache 是什么关系KV Cache 存的是这次对话的动态上下文随长度增长Engram 存的是训练中固化的静态词组知识容量固定、与上下文长度无关。两者分工不同这正是 V4.1-Flash 能把每 token KV 压到 890 字节的关键之一。小结用一句话概括 Engram 条件记忆归一化压缩 token → 滚动 XOR 哈希出 2/3/4-gram ID → 素数分桶查 FP8 哈希表 → 门控决定注入强度。它以近乎零算力的查表操作为 552B 多模态 MoE 模型外挂了一本 196B 的条件词典是长上下文大模型中记忆与计算分离的漂亮范例。想深入源码建议按顺序阅读inference/engram.py哈希与布局→ inference/model.py查表与门控→ config.json全部超参数。【免费下载链接】DeepSeek-V4.1-FlashDeepSeek-V4.1-Flash 是一个多模态混合专家MoE模型拥有 5520 亿骨干参数并支持最多一百万 token 的上下文长度。该模型原生支持图像和文本输入并以自回归方式生成文本项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-V4.1-Flash创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Bonsai-demo 4070 Ti Super性能解析:Windows CUDA 69.6 t/s实测

Bonsai-demo 4070 Ti Super性能解析:Windows CUDA 69.6 t/s实测

Bonsai-demo 4070 Ti Super性能解析:Windows CUDA 69.6 t/s实测 【免费下载链接】Bonsai-demo Bonsai Demo 项目地址: https://gitcode.com/GitHub_Trending/bo/Bonsai-demo Bonsai-demo 让 27B 参数的本地大模型在一块 16 GB 的消费级显卡上流畅运行。本文基…

2026/9/18 19:44:59 阅读更多 →
CANN opbase 算子开发指南:aclOpExecutor::AllocScalarList 标量列表申请接口详解

CANN opbase 算子开发指南:aclOpExecutor::AllocScalarList 标量列表申请接口详解

CANN opbase 算子开发指南:aclOpExecutor::AllocScalarList 标量列表申请接口详解 【免费下载链接】opbase 本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。 项目地址: https://gitcode.com/cann/opbase 导读 AllocScal…

2026/9/18 19:44:59 阅读更多 →
ROS机器人航向角解析:从四元数到Yaw的正确提取方法

ROS机器人航向角解析:从四元数到Yaw的正确提取方法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 19:43:59 阅读更多 →

最新新闻

远程医疗系统架构:WebRTC+国密+FHIR+HL7全栈落地实践

远程医疗系统架构:WebRTC+国密+FHIR+HL7全栈落地实践

简介:本资源是一份面向医疗信息化建设者、卫健委规划人员及医院信息科工程师的「互联网数字化远程医疗建设解决方案」专业PPT,聚焦破解医疗资源分布不均、基层诊疗能力薄弱、患者看病难看名医难等现实痛点。方案以构建省级/市级/县级多级共享的卫生信息平…

2026/9/18 20:30:23 阅读更多 →
VMware共享文件夹实战指南:Tools安装、挂载与权限全解析

VMware共享文件夹实战指南:Tools安装、挂载与权限全解析

简介:本资源是一份面向VMware虚拟化初学者与运维实践者的实操指南,聚焦解决虚拟机与主机间文件共享这一高频痛点问题。内容以图文结合方式详解三大核心步骤:虚拟机设置中添加共享文件夹、载入windows.iso安装VMware Tools、在客户机系统中映射…

2026/9/18 20:30:23 阅读更多 →
Spring Boot 3.x与AI智能体集成实战

Spring Boot 3.x与AI智能体集成实战

1. 项目概述最近在重构公司客服系统时,尝试将Spring Boot 3.x与AI智能体技术深度整合,效果出乎意料的好。这种组合不仅大幅提升了系统智能化水平,还保持了Spring Boot原有的开发效率优势。今天就来分享这套经过实战检验的技术方案。现代企业级…

2026/9/18 20:30:23 阅读更多 →
PeopleSoft AWE 审批状态机原理与实战配置指南

PeopleSoft AWE 审批状态机原理与实战配置指南

简介:本资源是一份面向PeopleSoft开发工程师与HCM系统实施人员的AWE(Approval Workflow Engine)工作流配置实战指南,聚焦费用报销审批流程的端到端落地,解决审批规则动态路由、角色权限映射、跨层级多级审批&#xff0…

2026/9/18 20:30:23 阅读更多 →
SSET传感器通信接口选型:RS485/Profibus/Profinet/Modbus-TCP实战决策指南

SSET传感器通信接口选型:RS485/Profibus/Profinet/Modbus-TCP实战决策指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 20:30:23 阅读更多 →
PyWxDump 微信数据解密工具为何下架

PyWxDump 微信数据解密工具为何下架

PyWxDump 微信数据解密工具为何下架 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 上个月想把三年的工作群记录迁到新电脑,我直接去 clone 了 PyWxDump,这个微信数据解密工具。克隆完发现仓库里只剩…

2026/9/18 20:29:22 阅读更多 →

日新闻

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

很多朋友第一次看到"逻辑回归"这四个字,第一反应就是——这玩意儿是个回归模型吧?我当年也是在Matlab里跑完一段代码,看着输出的0.73、0.86这种概率值,才回过神来:这家伙其实是披着回归外衣的分类神器&#…

2026/9/18 0:00:28 阅读更多 →
高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

简介:这份报告是2023-2028年高值医用耗材行业调研及发展前景趋势预测报告,面向医疗器械企业管理者、投资机构、行业研究人员及关注政策变化的从业者,用于把握行业监管动向、市场格局与未来趋势。报告以PDF格式呈现,共1个文件、整体…

2026/9/18 0:00:28 阅读更多 →
三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

先把我自己的背景交代一下:我之前在搞具身智能和机器人导航相关的项目,很长一段时间里都被“环境表示”这件事卡着。传统做法是用点云或者网格做几何建模,语义信息另外再跑分割模型,两套东西各管各的,时间一长就会发现…

2026/9/18 0:00:28 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →