DeepSeek-V4.1-Flash开源:552B多模态模型缓存压缩至1/4

近日,DeepSeek 正式开源了全新的多模态大模型 DeepSeek-V4.1-Flash,这款模型搭载了 552B 规模的骨干参数,采用创新的非对称架构设计,将运行时 KV 缓存占用压缩至前代模型的 1/4,同时支持最长 100 万 token 的上下文长度与原生图文混合输入能力。
作为一款面向智能体场景优化的大模型,DeepSeek-V4.1-Flash 在预填充阶段每个 token 仅激活 80 亿参数,解码阶段则激活 160 亿参数,大幅降低了输入密集型任务的运行成本。尽管模型规模相比上一代 DeepSeek-V4-Flash 有所提升,但其整体性能更优,且缓存占用得到了显著优化。
核心架构设计
DeepSeek-V4.1-Flash 采用因果编码器-解码器(CED)的非对称架构,整体由 20 层因果编码器与 20 层解码器组成。与传统架构不同,该模型的解码器全局 KV 缓存直接从编码器的最终隐藏状态投影得到,而非来自每个解码器层自身的隐藏状态,这一设计有效降低了计算与缓存开销。
为进一步优化缓存占用,模型引入了 SWA 有界重放技术,仅通过重放最近的指定数量 token 来重建缺失的 SWA KV 状态,无需将 SWA KV 数据持久化到 SSD 存储中,最终将持久化 KV 缓存占用降低至前代模型的约 1/8。
模型还搭载了压缩稀疏注意力 2(CSA2)技术,为每个注意力层分配三种静态模式:完整模式(Full)、重索引模式(Reindex)和复用模式(Reuse),实现跨层共享主 KV 与索引器 K,并复用 Top-K 稀疏注意力索引。在解码器部分,分层稀疏索引器将后续索引层的计算限制在首个完整模式层构建的候选池内,将深层索引器的计算成本与上下文长度解耦。结合 FP4 格式的主 KV 缓存,这套组合设计将全局 KV 缓存占用降至每 token 890 字节,仅为前代模型的 1/4。
除核心的注意力与缓存优化技术外,模型还集成了多项创新组件:包括通过高效 Mega-mHC 内核改进残差流混合的单次传递 mHC、基于 token 查找实现稀疏访问的 1960 亿参数 Engram 条件记忆,以及配合置信度调度验证的半自回归草稿生成技术 DSpark 推测解码。在 MoE 层设计上,每个模块包含 1 个共享专家与 384 个路由专家,每个 token 仅激活其中 6 个路由专家。
在多模态支持方面,模型使用自主训练的视觉编码器,结合两层 MLP 投影器将图像转换为视觉嵌入向量,从预训练初期就实现了文本与视觉嵌入的联合处理,原生支持图文混合输入。
预训练与后训练流程
预训练阶段,DeepSeek-V4.1-Flash 在包含 45 万亿 token 的多模态语料库上从零开始训练,初始阶段在 64K 序列长度上训练稀疏注意力模块,在训练至 34 万亿 token 时将上下文长度扩展至 100 万 token。
后训练流程遵循标准的 SFT → RL → 在线蒸馏(OPD)范式,未对核心算法进行修改,而是通过大规模自动化合成智能体任务与环境,并对训练数据、任务类型与轨迹数据进行渐进式扩展。此外,模型支持 1 到 100 的连续可控推理强度设置,可根据需求平衡推理成本与输出准确率。
本地运行指南
官方提供了完整的推理实现代码,方便开发者理解与验证模型结构,代码覆盖了视觉编码器与对齐器、滑动窗口注意力、带两级索引器的压缩稀疏注意力、Engram n-gram 查找、MoE 模块、Hyper-Connections 以及 DSpark 前向过程,文本生成则采用标准的自回归采样方式。
安装依赖
进入推理代码目录后,执行以下命令安装所需依赖:
python -m pip install -r requirements.txt
下载并转换权重
从开源平台下载模型权重,设置环境变量并执行下载命令:
export MS_CKPT_PATH=/path/to/DeepSeek-V4.1-Flash
modelscope download \
--model deepseek-ai/DeepSeek-V4.1-Flash \
--local_dir "${MS_CKPT_PATH}"
运行时每个张量并行 rank 对应一个转换后的 checkpoint 文件,以下示例将权重转换为 8 路张量并行格式。其中 --hf-ckpt-path 为转换脚本沿用的参数名,实际传入的是上一步下载的本地模型目录:
export SAVE_PATH=/path/to/DeepSeek-V4.1-Flash-TP8
export MP=8
python convert.py
–hf-ckpt-path “{MS_CKPT_PATH}" \
--save-path "{SAVE_PATH}”
–model-parallel “{MP}" \
--expert-dtype fp4 \
--tokenizer-path "{MS_CKPT_PATH}”
模型的专家数量会根据权重文件名称自动推断,无需额外传入参数。--tokenizer-path 需要指向包含 tokenizer.json 和 tokenizer_config.json 的目录,转换过程中这两个文件会被自动复制到目标 checkpoint 目录中。
运行示例
设置转换后的 checkpoint 路径,即可运行文本与 JSON 格式的示例:
export CKPT_PATH=/path/to/DeepSeek-V4.1-Flash-TP8
export MP=8
INPUT_FILE=examples/example.txt ./run.sh
INPUT_FILE=examples/example_harmony.json ./run.sh
两个示例文件实现的是相同的双图交错提示,因此会生成一致的编码提示与输入 token ID。如果需要启动交互式对话,可以通过 torchrun 命令运行:
torchrun --nproc-per-node "${MP}" generate.py \
--ckpt-path "${CKPT_PATH}" \
--config config.json \
--interactive \
--temperature 0.6
如果需要进行多节点运行,只需在 generate.py 命令前补充常规的 torchrun 多节点参数,包括 --nnodes、--node-rank、--master-addr 与 --master-port 即可。
运行自检
可以通过运行 model.py 进行自检,该脚本会使用默认配置构建一个小型模型,执行一次 prefill 与 22 步 decode,并调用真实的 dense-fp8 与 MoE-fp4 内核:
python model.py
官方提供的模型权重与技术报告可通过开源平台获取,方便开发者进一步探索与使用。

