DeepSeek-V4.1-Flash 开源:552B MoE,非对称模型结构,大幅减少KV Cache 缓存大小
DeepSeek 正式发布并开源 DeepSeek-V4.1-Flash。这是一款采用 552B 骨干参数的多模态 MoE 模型,原生支持图文输入,最长上下文达到 100 万 token。
模型采用全新的 非对称Causal-Encoder-Decoder 结构,使模型在预填充期间每个 token 激活 8B 参数,在解码期间激活 16B 参数,对输入占主导的智能体场景尤其具备成本效益。尽管 DeepSeek-V4.1-Flash 明显大于 DeepSeek-V4-Flash,但在相同序列长度下,其所需的运行时 KV 缓存存储量仅约为后者的 1/4,持久 KV 缓存存储量仅约为后者的 1/8。
此外,DeepSeek-V4.1-Flash 的整体性能优于 DeepSeek-V4-Flash。

DeepSeek-V4.1-Flash 与主流前沿模型在 Agentic Benchmark 上的性能对比


如图展示了 DeepSeek 在减少上下文存储方面的持续进展。相对于初代模型,KV Cache 已经缩小了 437 倍。
模型权重:https://modelscope.cn/models/deepseek-ai/DeepSeek-V4.1-Flash
模型结构
DeepSeek-V4.1-Flash 采用由因果编码器与解码器组成的非对称架构,将长输入的预填充计算和逐 token 解码拆分处理。整体设计同时引入跨层稀疏注意力、条件记忆与推测解码,目标是在保留百万级上下文能力的同时压缩长期运行 Agent 的缓存占用。
架构
DeepSeek-V4.1-Flash 采用 因果编码器-解码器(CED) 架构:由一个 20 层的因果编码器和一个 20 层的解码器组成的 40 层 Transformer。在 CED 架构中,解码器的全局 KV 缓存是从编码器最终隐藏状态投影而来,而非从每个解码器层自身的隐藏状态派生。这使得模型在预填充阶段每 token 仅激活 80 亿参数,在解码阶段每 token 激活 160 亿参数,显著提升了输入密集型智能体任务的成本效率。SWA 有界重放(SWA Bounded Replay) 通过仅重放最近的 n_win 个 token 来重建缺失的 SWA KV 状态,避免了将 SWA KV 持久化到 SSD 的需求,并将持久化 KV 缓存占用减少至 DeepSeek-V4-Flash 的约 1/8。

压缩稀疏注意力 2(CSA2)
DeepSeek-V4.1-Flash 使用 CSA2,为每个注意力层分配三种静态模式之一——Full(完整)、Reindex(重索引) 或 Reuse(复用)——以跨层共享主 KV 和索引器 K,并复用 Top-K 稀疏注意力索引。在解码器中,分层稀疏索引器(Hierarchical Sparse Indexer) 进一步将后续索引层限制在由首个 Full Mode 层构建的候选池内,从而将深层索引器的计算成本与上下文长度解耦。结合 FP4 主 KV 缓存(E2M1 格式,每 16 个通道使用一个 E4M3 缩放因子),这些设计将全局 KV 缓存占用降至 每 token 890 字节——约为 DeepSeek-V4-Flash 的 1/4。

其他架构组件
包括单次传递 mHC(Single-Pass mHC,通过高效的 Mega-mHC 内核改进残差流混合)、Engram 条件记忆(1960 亿参数,通过基于 token 的查找稀疏访问)以及 DSpark 推测解码(半自回归草稿生成配合置信度调度验证)。该模型在每个 MoE 层中使用 1 个共享专家和 384 个路由专家,每 token 激活其中 6 个路由专家。
多模态架构。
视觉编码器(DeepSeek-ViT,从零开始训练,采用 2D-RoPE 和 3×3 像素反混叠下采样)与一个两层 MLP 投影器将图像转换为视觉嵌入向量,并从语言模型预训练初期即与文本嵌入联合处理。
预训练
DeepSeek-V4.1-Flash 在包含 45 万亿 token 的多模态语料库上从零开始训练,其中稀疏注意力在 64K 序列长度上训练,并在达到 34 万亿 token 时将上下文长度扩展至 100 万 token。
后训练
后训练方案遵循标准的 SFT → RL → 在线蒸馏(OPD)范式,未进行任何算法层面的修改。所有实质性改动均体现在数据管道中:大规模自动化合成智能体任务与环境,并对数据、任务和轨迹(rollouts)进行渐进式扩展。该模型支持一种连续可控的推理强度设置(整数 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 是 convert.py 沿用的参数名,实际传入的是上一步从魔搭社区下载的本地目录。
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 路径,并分别运行 TXT 与 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 会使用 ModelArgs 默认配置构建一个小型模型,执行一次 prefill 和 22 步 decode,并调用真实的 dense-fp8 与 MoE-fp4 内核:
python model.py
更多推荐




所有评论(0)