DeepSeek-V4.1-Flash 拆解:8B/16B 非对称激活,KV 缓存压到 890 字节/Token 才是 1M Agent 经济账

反直觉开局:激活参数变小,账单反而降

DeepSeek-V4.1-Flash 预填激活 8B,解码激活 16B。

预填的 8B 比上一代 V4-Flash 的 13B 更低。

可它 Terminal-Bench 2.1 跑出 90.6,压过 Opus-5.0 的 89.1。

DeepSWE v1.1 它拿 74.2,Opus 是 74.0。

一个 Flash 档模型反超旗舰,账不在激活参数上。

真正省钱的杠杆,是 KV 缓存被压到 890 字节每 Token。

这个数是上一代 V4-Flash 的四分之一。

对比 DeepSeek-V1,缩了 437 倍。

缓存最关键,因为 Agent 的钱主要花在缓存命中上。

长上下文 Agent 每轮都要重读同一份上下文。

命中缓存按命中价计费,远低于全量重算。

缓存越小,能装下的历史越长,命中率越高。

DeepSeek 这一代把架构整个改成围绕缓存压缩。

模型卡副标题就叫 Pushing the Limits of KV Cache Compression。

它不是靠更大激活参数赢,是靠更小缓存赢。

552B 骨干参数摆在那,但每个 Token 只动 8B 或 16B。

预填阶段激活 8B,解码阶段激活 16B。

这种非对称激活,是给输入密集的 Agent 量身做的。

Agent 的输入远多于输出,预填成本占大头。

预填激活从 13B 降到 8B,预填成本随之下降。

这篇拆的是这套压缩栈,CED、CSA2、FP4 怎么合力压出 890 字节。

规格与基准均来自 DeepSeek 官方模型卡和 API 文档。

指标 V4-Flash V4-Pro V4.1-Flash
骨干参数 284B 1.6T 552B
激活参数 13B 49B 8B预填/16B解码
KV 缓存体积 基准 --- 1/4
持久 KV 落盘 基准 --- 1/8

CED:让编码器替解码器生成全局 KV

V4.1-Flash 的架构叫 Causal Encoder-Decoder,缩写 CED。

它是 40 层 Transformer,对半切成 20 层编码器加 20 层解码器。

关键不在分层本身,在于 KV 缓存从哪生成。

传统解码器每层各自算自己的 KV,层越多缓存越大。

CED 反过来,解码器的全局 KV 由编码器最终隐状态投影得到。

这意味着解码器不用逐层存自己的 KV。

全局 KV 只生成一份,从编码器末端取。

于是预填阶段每 Token 只需激活 8B 参数。

解码阶段激活 16B,因为要逐 Token 生成。

这个 8B 与 16B 的非对称,直接对应预填与解码两段成本。

编码器跑完一次,全局 KV 就定下来。

解码器复用这份投影后的 KV,不再重复计算。

对输入密集的 Agent,预填是成本大头。

编码器一次性把长上下文压成全局 KV。

后续每一轮 Agent 循环,解码器都复用它。

这就是为什么 8B 预填激活不是劣势而是优势。

参数少了,但缓存复用率上去了。

账面看激活参数变小,实际每 Token 分摊的算力降更多。

CED 是这套压缩的第一层,把 KV 生成入口收窄到一处。

接下来 CSA2 在这份 KV 上继续做层间共享。

CSA2 三模式:KV 在层间被共享和复用

光把 KV 收到一处还不够,层与层之间还会各存一份。

CSA2 全称 Compressed Sparse Attention 2。

它给每个注意力层分配一个静态模式,Full、Reindex 或 Reuse。

Full 模式层做完整注意力,算出一份主 KV 和索引 K。

Reindex 模式层不重算主 KV,只重建稀疏索引。

Reuse 模式层直接复用上一层的 Top-K 稀疏索引。

三种模式叠加,主 KV 在层间被共享。

索引 K 也跨层复用,不每层各存一套。

这等于把多份重复 KV 合并成少数几份。

解码器里还有一层叫 Hierarchical Sparse Indexer。

它把更深的索引层限制在第一批 Full 层筛出的候选池里。

候选池大小固定,不随上下文长度膨胀。

上下文涨到 1M,深层索引成本仍然有上界。

这是 CSA2 区别于普通稀疏注意力的关键。

普通稀疏注意力索引成本随上下文线性涨。

CSA2 用分层索引把它压成常数级。

层间共享加分层索引,两步把 KV 体积再削一截。

真正把数字压到 890 字节的是下一层的 FP4。

CSA2 负责结构复用,FP4 负责精度压缩。

两者叠加,才有四分之一于 V4-Flash 的缓存体积。

没有 CSA2,FP4 压缩的也只是一份未共享的 KV。

没有 FP4,CSA2 共享的仍是高精度大块 KV。

FP4 与 SWA Bounded Replay:890 字节的来历

主 KV 缓存用 FP4 精度存储。

FP4 是 E2M1 格式,4 位表示一个数。

每 16 个通道共用一个 E4M3 的尺度因子。

这比常见的 FP8 再压一半比特。

精度损失由每 16 通道一组的尺度因子兜住。

三者合力,全局 KV 缓存压到 890 字节每 Token。

这个数是 V4-Flash 的四分之一。

对比 DeepSeek-V1,缩了 437 倍。

890 字节是什么概念,一个 Token 的缓存不到 1KB。

1M 上下文全量缓存乘起来不到 1GB。

这让超长上下文 Agent 在显存里装得下。

还有一层叫 SWA Bounded Replay 处理滑动窗口。

滑动窗口注意力会丢掉窗口外的 KV。

传统做法把窗口外 KV 持久化到 SSD。

V4.1-Flash 不存,改为重放最近 n_win 个 Token 重算。

重放只取最近一小段,不读 SSD。

持久 KV 足迹压到 V4-Flash 的八分之一。

SSD 不再背长上下文的缓存债。

FP4 管精度,SWA Bounded Replay 管窗口外。

一个压比特,一个免落盘。

加上 CED 与 CSA2 的结构复用,890 字节才成立。

这四层不是可选叠加,是绑定设计。

196B 记忆与 384 个路由专家:辅助设计

压缩栈之外,还有几个辅助设计值得点名。

MoE 层有 1 个共享专家加 384 个路由专家。

每个 Token 只激活 6 个路由专家。

这控制了单 Token 的实际计算量。

还有 Engram 条件记忆,196B 参数。

它按 Token 查表稀疏访问,不进主 KV。

等于把长期事实塞进一个旁路记忆库。

主上下文不被长尾事实撑爆。

DSpark 做投机解码。

草稿半自回归生成,再按置信度调度校验。

命中快路径的 Token 直接采纳,省解码算力。

单遍 mHC 用 Mega-mHC 内核重写残差混合。

多模态侧,视觉编码器是 DeepSeek-ViT。

它从零训练,带 2D-RoPE 和 3×3 像素反混洗。

两层 MLP 投影器把图像嵌入对齐进文本。

图像嵌入从预训练起点就一起进语言模型。

预训练用 45T Token 的多模态语料。

稀疏注意力在 64K 序列长度上训练。

上下文在 34T Token 处扩展到 1M。

后训练走 SFT、RL 再到在线策略蒸馏。

数据管线大规模自动合成 Agent 任务和环境。

这些辅助设计都服务于同一个目标。

让长链路 Agent 又便宜又准。

缓存命中才是 Agent 账单的大头

压缓存不是为了好看,是为了 Agent 的钱。

DeepSeek 官方原话,缓存命中费常占 Agent 成本大头。

长上下文 Agent 每轮循环重读同一份系统提示和历史。

命中缓存的部分按命中价计费。

V4.1-Flash 命中价是每百万 Token 0.003 美元,非高峰。

未命中价是 0.15 美元,差 50 倍。

缓存越小,同等显存能装更长的上下文。

上下文越长,后续轮次命中比例越高。

命中比例越高,账单越靠近 0.003 那一档。

这就是 890 字节的经济学意义。

它不是单纯省显存,是抬高命中率压低单价。

V4-Pro 已被逐步下线也是这个逻辑。

9 月 14 日起,deepseek-v4-pro 全部路由到 V4.1-Flash。

按 Flash 价计费,直到 V4.1-Pro 上线。

今天 9 月 28 日,这个路由仍在生效。

同样的请求,账单按更便宜的 Flash 档走。

对长链路 Agent,单价下移一格,总账大幅下降。

在 Agent 基准上反超 Opus

缓存压缩没换来性能妥协,反而 Agent 基准反超。

Terminal-Bench 2.1,V4.1-Flash 90.6,Opus-5.0 是 89.1。

DeepSWE v1.1,它 74.2,与 Opus 的 74.0 持平。

Agent's Last Exam,它 31.8,Opus 28.6。

AutomationBench,它 54.8,Opus 50.3。

CyberGym,它 88.1,领先已测对手。

HLE 带工具,它 63.9,与 Opus 的 63.6 接近。

不是所有项都赢,Terminal-Bench 3.0 它 30.0,Opus 43.3。

4.0 它 31.2,Opus 51.8,长任务仍是 Opus 强项。

但日常 Agent 用的 2.1 档,Flash 反超旗舰。

同一模型换不同脚手架,分数也变。

Terminal-Bench 2.1,DSH Minimal 跑出 90.6。

mini-SWE 跑 90.3,Claude Code 跑 88.0。

Codex 84.1,OpenCode 85.0。

同一权重,脚手架决定上限。

这说明 V4.1-Flash 对工程化脚手架友好。

它的收益不在单次推理峰值,在长链路循环。

长链路循环恰恰最吃缓存命中。

缓存压得小,循环成本才低。

性能与经济账在同一个设计里对齐。

Agent 基准 Opus-5.0 GPT-5.6 Sol V4.1-Flash
Terminal-Bench 2.1 89.1 88.8 90.6
DeepSWE v1.1 74.0 73.0 74.2
Agent's Last Exam 28.6 26.7 31.8
AutomationBench 50.3 45.8 54.8
CyberGym --- 84.5 88.1
HLE w/ tools 63.6 --- 63.9

把成本旋钮交还开发者:推理强度与提示编码

压缩栈是模型内部的事,对外还有几个旋钮。

reasoning_effort 分 low、high、max 三档。

低值省钱快,高值逼近旗舰级答案。

这不是简单开关,是分档旋钮。

官方评测都用 max 档拉满。

日常 Agent 调到 low 能再省。

提示编码没有走 Jinja 模板。

模型卡自带 encoding.py 自包含参考实现。

它覆盖多轮对话、工具调用、思考模式。

也覆盖数值推理强度和对话中插系统消息。

还有交错的图像内容处理。

生产侧另有 deepseek-recipe 工具包。

它是 Rust 库带 Python 绑定。

把各种 API 请求转成会话格式。

再编码成 V4 和 V4.1 的提示或 Token ID。

模型推理和工具执行留给调用方。

推荐采样是 temperature 1.0,top_p 0.95 或 1.0。

上下文窗口 1M,max_tokens 至少 256K。

并发上限 2500,为长链路 Agent 留了余量。

高峰与非高峰差一倍价。

非高峰时段安排弹性负载更省。

这些旋钮和压缩栈是同一套经济学。

推理强度调低,等于在压缩之上再砍一刀。

缓存命中叠加低 effort,账单能再压一格。

这也是 V4-Pro 被下线的底气。

同样的活,Flash 档更便宜也能干完。

工程师拿到的是一套可调的成本曲线。

不是固定价固定力的黑盒。

压缩栈决定了底价,旋钮决定你落在哪。

这也是 V4.1-Flash 区别于单纯堆参数的地方。

它把省钱做成了可编程的接口。

从架构到 API,每一层都在为缓存账服务。

自己跑一遍:API 与缓存成本核算

接入 V4.1-Flash 走 OpenAI 兼容协议。

base 是 https://api.deepseek.com。

模型名固定填 deepseek-flash。

它支持 thinking 模式和 reasoning_effort 分档。

低 effort 省钱,高 effort 逼近旗舰级答案。

下面这段可直接跑,需设环境变量 DEEPSEEK_API_KEY。

它发一条带可控推理强度的请求。

再算一笔 1M 上下文命中 90% 缓存的账。

全 miss 是 0.15 美元每百万 Token。

命中 90% 后,账单掉到约 0.018 美元。

省的不是小数,是八成多。

这就是压缩缓存落到的真金白银。

代码块放在文末三分之一处,符合长码块放置规则。

跑通后可把 hit_rate 调到 0.95 看进一步下降。

也可把 effort 从 high 调到 max,对比答案质量与延迟。

复制代码
```python
import os
from openai import OpenAI

# 模型名固定 deepseek-flash,base 指向 DeepSeek 官方端点
client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com",
)

# effort 取 low、high 或 max,对应不同推理强度
def chat(messages, effort="high"):
    return client.chat.completions.create(
        model="deepseek-flash",
        messages=messages,
        reasoning_effort=effort,
        extra_body={"thinking": {"type": "enabled"}},
    )

# 缓存经济账:命中部分按命中价,未命中按 miss 价
def cache_cost(input_tokens, hit_rate):
    miss = input_tokens * (1 - hit_rate) / 1e6 * 0.15
    hit = input_tokens * hit_rate / 1e6 * 0.003
    return miss + hit

resp = chat([{"role": "user", "content": "用一句话说清 KV 缓存压缩"}])
print(resp.choices[0].message.content)
print(cache_cost(1_000_000, 0.90))
```
相关推荐
Orange_sparkle1 小时前
langgraph快速入门
学习·ai·typescript·deepseek·claude code
也非非也10 小时前
DeepSeek没发公告,但它把Agent装进了你的电脑
人工智能·开源·agent·deepseek·dsh
weixin_6665939910 小时前
从一句话建表看时空智能体的元数据治理架构——Harness、MCP、Skill如何协同
人工智能·agent·结构化数据·建库
DeepAgent11 小时前
AI Agent 工程实践(49):一次真实优化——从 Agent v1 到 v2
开发语言·人工智能·agent
素男12 小时前
对上的,和没对上的——两篇之间那条链
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍
七夜zippoe13 小时前
多模态 Agent 入门:让 Agent 看懂图片、听懂语音、生成内容
ai·agent·多模态·看懂·听懂·生成内容
L@ncor13 小时前
第五章 基于低代码平台的智能体搭建 · 学习笔记(Coze / Dify / FastGPT / n8n)
笔记·学习·低代码·agent·prompt工程
SFLYQ14 小时前
dsh 插件 dsh-waker:唤醒专属你的 AI 员工
agent·deepseek
阿里云云原生15 小时前
看清 Coding Agent:从执行记录到风险调查
agent