文|乔巴
编辑|徐青阳
北京时间1月21日,DeepSeek官方GitHub仓库更新deepseek-ai/FlashMLA,借助 AI对全部总代码文件数: 114个(包括 .py, .md, .txt, .sh, .cpp, .cu, .h 文件)进行分析,发现了一个此前未公开的模型架构标识“MODEL1”,共被提及 31次。
MODEL1 是 DeepSeek FlashMLA 中支持的两个主要模型架构之一,另一个是 DeepSeek-V3.2。其中 V3.2 在文中作为最新的优化对象被多次提及,例如提到它在预训练和推理阶段的 TFlops 表现。它在以下方面与 V32 有显著差异,涉及KV缓存布局、量化策略和硬件优化等核心技术方向。
注:AI辅助制图,非官方发布
MODEL1很可能是一个高效推理模型,相比V3.2,内存占用更低,适合边缘设备或成本敏感场景。它也可能是一个长序列专家,针对16K+序列优化,适合文档理解、代码分析等长上下文任务。
从代码结构看,MODEL1并非V3.2的简单缩小版,而是不同的架构选择。V3.2追求最大性能和精度,MODEL1则追求效率和可部署性。根据此前的消息,DeepSeek计划在2月中旬春节前后发布下一代旗舰模型。
MODEL1的代码包括完整的测试套件和多架构支持。代码库包含完整的SM90和SM100支持,4个Decode配置和2个Prefill配置表明已进行广泛测试,代码质量和完整性表明产品化工作已在进行中。
根据代码中的枚举定义,可以猜测DeepSeek在架构层面已经为两个不同的模型做好了完整的技术支持。在csrc/api/sparse_decode.h中,代码通过Query-Key维度(d_qk)来自动识别模型类型:当d_qk为576时识别为V3.2,当d_qk为512时识别为MODEL1。
这一识别逻辑表明MODEL1采用512维的Query-Key设计,相比V32的576维更加紧凑。
MODEL1与V32在多个关键参数上存在显著差异。V3.2采用576维的Query-Key和512维的NoPE,而MODEL1则采用512维的Query-Key和448维的NoPE。在量化策略上,V3.2使用128字节的量化粒度和4个量化瓦片,MODEL1则使用64字节的量化粒度和7个量化瓦片。最重要的是,MODEL1的量化尺度使用fp8_e8m0fnu格式存储,相比V3.2节省了75%的存储空间。
在KVCache布局上,根据tests/quant.py中的配置:
MODEL1每个token的KVCache大小为584字节,相比V3.2的592字节节省了8字节。虽然单个token的节省看起来微不足道,但在32K长度的序列中可以节省约256KB的KVCache内存,这对于边缘设备部署或成本敏感的应用场景具有重要意义。
多架构硬件支持
MODEL1的硬件实现跨越多个GPU架构。在NVIDIA H100/H200(SM90架构)上有两个版本:model1_persistent_h64.cu用于64头配置,model1_persistent_h128.cu用于128头配置。在最新的B200(SM100架构)上有专门的Head64内核实现。
特别值得注意的是,SM100的Head128实现仅支持MODEL1,不支持V32,可以猜测DeepSeek在为新一代GPU专门优化MODEL1架构。
测试配置揭示应用场景
在稀疏解码测试中,MODEL1有4个测试配置,涵盖64头和128头的设置,序列长度为16384(16K tokens),支持两层稀疏注意力机制。在Prefill测试中,MODEL1有2个配置,输入序列长度从8K到131K,支持64和128头配置,动态topk从512到1024。这表明MODEL1被设计用于处理长序列推理场景,特别是需要高效稀疏注意力的应用。