文章摘要
DeepSeek-V4.1-Flash是面向长程智能代理长上下文场景的大模型,针对输入长度增长带来的计算、缓存多重成本瓶颈,通过CED架构拆分、尾窗重放、跨层缓存复用、分层稀疏索引、量化存储等一系列设计,降低了运行的算力与存储开销。该模型经大规模预训练与针对性训练优化,在多项长任务取得对应表现,同时指出这类近似优化存在性能边界。

长程智能代理在接续执行任务时,必须先加载已积累的对话记录、代码片段、工具返回结果与运行日志。随着输入长度持续攀升,无论是缓存未命中时的预填充(prefill)计算开销,还是命中缓存后的存储与数据搬运成本,都面临着计算资源、高带宽内存(HBM)、固态硬盘(SSD)容量与带宽的多重瓶颈。

某款面向长上下文场景的大模型技术报告中,公布了一组特殊的参数激活口径:预填充阶段每个token激活80亿参数,解码阶段每个token激活160亿参数。该模型的语言主干包含5520亿参数,另外搭载了1960亿参数的Engram条件记忆模块。

这种参数激活的差异源于核心计算路径的优化:在处理长历史输入时,过往的token不再需要完整流经整个模型主干;而在生成新token时,模型仍会完整启用全部主干计算。通过节省历史部分的冗余计算,配合跨层缓存复用、低精度存储与会话恢复机制,这套系统设计针对性优化了输入密集型任务的运行成本。

我们可以沿着「加载历史→接续生成→暂停后恢复」的完整流程,梳理各项优化的衔接逻辑,进而分析训练与实验过程如何将节省的计算资源转化为实际的任务能力提升。

架构创新:为何历史输入无需完整流经全部模型层?

该模型的40层主干被拆分为两个均等的部分:前20层为因果编码器(encoder),后20层为解码器(decoder),这套架构被称为Causal Encoder-Decoder,简称CED。

在常规架构中,各层历史KV的构造依赖本层对应的隐藏状态,要获取上层KV,历史输入必须完整计算到对应上层。而CED改变了解码器全局KV的来源:它直接由编码器最后一层的隐藏状态经过投影变换生成,无需让历史输入流经解码器的所有层。

因此,为历史位置构造解码器的全局KV,不再需要完成这些位置在解码器各层中的全部计算。而在生成新token时,模型仍会完整经过20层编码器与20层解码器,利用已有的历史KV执行注意力计算。

其核心数据路径可以简化为:

历史输入 → 20层encoder → encoder终态 → decoder所需的global KV
新token生成 → 20层encoder + 20层decoder

这里的优化并非临时用编码器状态替代解码器生成的KV,而是从架构层面重新定义了全局KV的生成规则。

但在全局历史KV准备完成后,解码器仍缺少一部分状态:各层滑动窗口注意力(SWA)的局部KV,依然需要基于本层的隐藏状态生成,编码器终态的投影无法直接补齐这些局部状态,因此还需要通过尾窗重放机制来补充。

局部状态恢复:为何选择128个token的尾窗重放?

滑动窗口注意力(SWA)的每层仅关注固定窗口内的token,但跨层的依赖会逐步积累:后一层窗口内的表征,已经吸收了前一层更早位置的信息。报告指出,精确重建L层的SWA状态,理论上需要重放约「L × 窗口长度」个token。

该模型采用Decoder SWA Bounded Replay机制,仅将提示末尾的一个窗口送入解码器,以此恢复生成起步所需的局部状态,实际设置的窗口长度为128。

假设输入长度为N、模型主干总层数为L,长输入prefill的主要计算规模变为:

N × L/2 + 窗口长度 × L/2

其中前一项是全部输入流经编码器的计算量,后一项是末尾窗口流经解码器的计算量。当N远大于窗口长度时,整体计算量接近完整主干prefill的一半。需要注意的是,8B与16B是分阶段的激活参数口径,不能直接换算为请求时延减半。

这项优化接受了近似处理:仅重放尾窗,未重建窗口左边界外的全部多层依赖,恢复出的解码器SWA状态并不严格等同于完整前向传播的结果。报告称在测试条件下,这种近似对模型质量的影响极小,并在后训练阶段模拟了相同的恢复过程,让模型适应这种优化逻辑。

跨层缓存优化:CSA2的分层复用机制

CED架构让历史输入减少了一段计算路径,而Compressed Sparse Attention 2(CSA2)则进一步优化了历史缓存的重复存储与选择成本。

CSA2将各层静态指定为Full、Reindex或Reuse三种模式,分别决定哪些缓存和索引可以共享:

模式 全局KV与indexer K Top-K位置
Full 本层生成 本层重新选择
Reindex 复用已有缓存 用本层indexer Q重新打分、选择
Reuse 复用已有缓存 连同已有索引一起复用

这里存在两种查询逻辑:indexer Q用于为历史位置打分,决定需要关注的位置;global Q则对选中的KV执行注意力计算。三种模式都保留了本层自己的global Q、SWA KV和注意力计算,其中Reuse模式省去了重复生成缓存和重新索引的步骤,但本层仍会计算自己的输出。

需要注意的是,Full模式仅表示执行完整的CSA2缓存生成与索引路径,并非恢复为密集全注意力。在解码器中,该路径生成全局KV时,来源依然遵循CED架构规定的编码器终态。

实际的层配置中,编码器前两层仅使用SWA;其余18层分为三组,每组包含1个Full层和5个Reuse层,压缩比为2。解码器的20层分为五组:第一组为1个Full层加3个Reuse层,后四组各为1个Reindex层加3个Reuse层,整体压缩比为1。

通过这套机制,历史表征可以跨层共享,各层仍能使用自己的查询逻辑解释历史信息,而Reindex模式还保留了重新选择关注位置的能力。

稀疏注意力索引:为何仅读取Top-512仍有成本?

注意力机制最终仅读取Top-512个位置的信息,并不意味着筛选这512个位置的过程成本低廉。如果索引器仍需要为全部历史位置打分,长上下文的计算成本只是从注意力阶段转移到了选择过程。

报告在解码器中加入了分层稀疏索引机制:首个Full层仍会扫描全部因果可见的位置,按块内最大分数选择候选块,建立候选池。候选池的上限为2048块,每块包含8个位置,总计16384个位置;后续的Reindex层则在这个候选池内重新打分,各自选择Top-K位置。

固定候选池后,后续索引器的搜索范围不再随上下文长度扩张,训练与推理阶段也采用相同的候选限制。首个Full层的全范围扫描仍然存在,因此整个模型处理更长历史的成本并非恒定不变。

报告中的数据显示,当上下文长度从4K增至1M(扩大256倍)时,单token解码的计算量仅增加约四分之一。该计算量按精度加权:BF16、FP8、FP4操作分别乘以1、0.5、0.25的权重。需要注意的是,这仅为该口径下的计算量变化,端到端时延还取决于缓存访问、通信与调度等因素。

存储优化:FP4量化与缓存生命周期管理

跨层共享机制减少了缓存的份数,而FP4量化则进一步降低了每份缓存的存储空间占用。

报告针对主KV缓存引入了量化感知训练(QAT),采用E2M1量化格式,每16个通道保存一个E4M3尺度参数;量化操作在RoPE之后执行,并移除了第二级全局尺度。尺度参数本身也会占用存储空间,因此实际的缓存体积不能仅按「每个元素4bit」简单计算。

注意力计算前需要先反量化,因此该优化主要节省存储成本,并不要求硬件原生支持这种FP4格式的矩阵乘法。局部SWA KV对量化更为敏感,因此仍保留FP8精度。

结合架构优化,报告给出890字节/token的global KV占用:在相同序列长度下,约为前代模型的四分之一。该数值仅对应HBM中的全局KV缓存,并非模型全部的显存占用。

持久KV缓存的总占用降至约八分之一,这一优化还包含了缓存生命周期的调整:旧部署方案会将global KV与SWA KV一起长期保存,其中SWA约占持久缓存容量的一半。新方案将两者分离存储:

  • global KV继续持久保存,保证至少72小时的保留时间。
  • SWA缓存迁入由每机10%主机DRAM构成的分布式短期池,TTL为分钟级。

按报告的近似分账逻辑,停止持久保存约占一半的SWA缓存,再将剩余的global KV压缩至原来的四分之一,最终得到总持久缓存占用约为原来的1/8:

约 1/2 × 1/4 ≈ 1/8

需要明确的是,1/4描述的是HBM中global KV的存储空间缩减比例,1/8描述的是SSD/主机内存中持久KV缓存的缩减比例,二者并非同一指标。

当短期池未命中时,Encoder SWA Bounded Replay会重放已缓存前缀的尾窗。此时旧token仅重建SWA状态,已有global KV直接复用,无需重新计算或覆盖;尚未缓存的新后缀则会生成自己的两类KV。

两种重放机制各有其用途:Encoder Replay让SWA缓存无需长期保存;Decoder Replay让历史输入不必完整流经后半主干。二者都通过有限的重算换取资源节省,同时都包含近似误差;在encoder恢复后,新后缀的状态还会依赖缓存命中的位置。

额外优化项:三大模块的成本削减作用

在减少KV缓存开销后,生成单个token仍需要搬运中间激活、访问参数并完成主干计算。报告还在这些环节进行了针对性优化。

Single-Pass mHC将输入混合系数的使用延后一个block,让当前block使用前一个block生成的系数,解除了当前输入混合对本block系数预测的等待。这样,同一块激活读入后即可同时用于输入混合和系数预测。Mega-mHC则进一步融合了残差更新、混合与系数预测操作,报告称相较原实现,激活内存流量减少了一半,该优化主要节省了中间数据的读写成本。

Engram模块将部分记忆与主干计算解耦。1960亿参数分布在两个模块中,采用确定性的token n-gram寻址方式,嵌入向量可以从主机内存提前取回。因此,参数总量不能直接代表每个token的计算量,也不能直接代表HBM中需要驻留的参数量。

DSpark模块作用于逐token生成流程:三层draft模型一次并行提出五个候选位置,Markov head建模候选草稿之间的依赖关系,confidence head估计每个草稿的接受概率。调度器结合当前负载下的吞吐曲线,决定验证多长的草稿序列。五个草稿位置能带来的收益,取决于实际接受情况与验证成本的平衡。

报告中提到,训练DSpark时会冻结主干模型,后训练阶段仅进行对齐优化,不会将DSpark的梯度回传给主干模型。官方推理参考实现说明显示,公开代码仅为可读的参考实现,生成流程采用普通自回归采样;生产服务中的草稿调度收益,需要配合相应的服务系统才能体现。

训练与对齐:将成本节省转化为任务能力

架构层面的优化仅规定了模型的计算逻辑,任务能力的提升还需要依赖高质量的训练流程。报告称,该模型使用45T多模态tokens从头开始预训练,图像与文本数据共同进入语言主干;稀疏注意力从64K长度开始训练,在累计34T tokens时将上下文长度扩展到1M。

后训练流程沿用了SFT→RL→OPD的标准路径,并未提出全新的优化算法,主要的投入集中在可验证任务与环境的自动化生产上。

一个任务被定义为「问题、环境、验证系统」的三元组。以代码开发任务为例,除了问题描述外,还需要配套可运行的执行环境,以及同时检查修复结果与回归正确性的fail-to-pass、pass-to-pass测试。环境构建完成后,还需要经过独立求解、质检与任务修复流程。

这些工作决定了一次rollout的反馈是否值得用于模型训练。在增加任务数量之前,必须先确保任务能够被正确执行、评分可靠,并且能够修正任务本身的错误。

长任务还带来了异步训练的问题:短样本会先完成训练,数据容易偏向短轨迹;长轨迹返回时,部分token可能已经来自较旧的模型checkpoint。报告通过在同一批设备上分时执行rollout与训练,通过sample-level dispatch维持并发,并分别处理长度偏差与旧策略样本,包括限制旧策略的比例、mask过度陈旧的token。最终的OPD训练使用了40多个教师模型。

架构与服务系统为更多长任务的运行提供了条件,而任务验证与训练调度则决定了这些运行能否转化为有效的模型学习。

实验结果:关联推理成本与任务表现

报告将1到100的reasoning effort作为RL训练的条件,同一任务会按照effort分组比较奖励。effort值越高,长度惩罚系数越低,由此训练出不同的生成成本与质量工作点。报告所列公开API的low、high、max设置分别对应50、75、100的effort值。

报告的测试结果中,采用官方Max设置的部分任务表现如下:

任务 目标模型得分 对比模型得分
DeepSWE v1.1(Resolved) 74.2 62.7
Terminal-Bench 3.0(Pass@1) 30.0 11.8
GPQA Diamond(Pass@1) 90.9 92.4

模型的表现因任务类型而异:Terminal-Bench 3.0的30.0分仍低于其他同类型模型的43.3分。这些分数反映的是模型、训练与运行设置的整体结果,无法单独将性能提升归功于某一项缓存优化。

另有实验固定了同一checkpoint与任务,仅更换Harness配置:在DeepSWE v1.1任务上,mini-SWE得分为74.2,DSH Minimal为72.6,Codex为65.6。本次实验使用Linux容器、1M上下文长度、temperature 1.0、top-p 0.95、max_steps 500,DeepSWE任务每题采样8次。

这里的Codex指的是驱动同一模型的Harness配置,工具接口、提示词与执行协议也会影响智能代理的最终成绩,仅凭模型名称无法解释这些分数差异。

多智能体实验进一步扩大了运行系统的规模。报告从ProgramBench中筛选出172道参考解隐藏测试通过率至少95%的题目,比较了最强观察到的多智能体配置与最强可用单智能体基线。在8小时墙钟截止时间下,Almost@1指标分别为30.04%和20.39%。

这是一项带有任务筛选与配置选择条件的初步结果。相同的墙钟时间允许不同的并发量与token消耗,因此并不等同于相同的计算或token成本。

架构层面的降本为扩大运行规模提供了条件;effort、Harness与并发配置则决定了预算的具体使用方式。实验展示了这些工作点下的任务表现,但并未将节省的每份KV或算力逐项换算为额外的成功任务数量。

局限与核心判断:长上下文优化的边界

如果分层稀疏索引在候选池阶段遗漏了关键位置,后续的Reindex操作就只能在缺失关键证据的池内重新选择。而尾窗重放机制并未覆盖全部的多层局部依赖,恢复的状态并不严格等同于完整前向传播的结果,新后缀的计算还可能随缓存命中的位置发生变化。

报告承认,这些优化机制可能在尚未测试的极端输入或部署边界导致性能退化。尽管有限测试中未观察到系统性问题,但无法覆盖所有的长会话场景。

该模型的核心判断是:长程智能代理的计算预算,可以从重复处理与存储历史信息,转向后续生成与更多任务尝试,但这依赖两项关键取舍——稀疏选择是否能保留关键证据,近似恢复是否能保住所需的状态。计算与缓存成本节省后,智能代理能否稳定接续运行,最终还要取决于这两处边界的可靠性。

以上内容不代表本平台立场,仅供读者参考