LLaDA2.2-flash:扩散模型Agent编辑与吞吐双优

近期,InclusionAI团队开源了扩散语言模型LLaDA2.2-flash,这款基于混合专家(MoE)架构的大模型总参数量约100B,原生支持128K上下文窗口,采用Apache-2.0开源协议。相较于上一代LLaDA2.1仅支持定长原位替换的能力局限,LLaDA2.2引入了莱文斯坦编辑机制,为并行去噪过程补上了序列插入与删除的灵活能力,并通过L-EBPO强化学习算法在环境反馈中实现动态纠错。根据官方技术报告,LLaDA2.2-flash在7项智能体基准测试中取得了53.83的平均得分,与自回归模型Ling-2.6-flash的55.74分仅相差1.91分,而BF16精度下的平均解码吞吐量达到后者的1.64倍。
智能体场景下的扩散模型困境
扩散语言模型的生成逻辑与自回归模型不同:它会先批量生成带噪声的待填补位置,再通过多轮去噪逐步拟合完整答案,这种并行处理的方式天生具备速度优势,同时支持反复打磨生成结果。LLaDA2.1曾通过块并行解码和强化学习后训练,实现了“边生成边修改”的单次文本改写能力,但智能体并非一次性交付的静态文本,而是持续运行的闭环交互系统——模型的每一次输出都会改变运行环境,而环境反馈又会决定下一步的决策路径,这让扩散语言模型面临两大全新挑战。
第一个挑战是结构僵化与推理路径崩塌:在块并行生成过程中,同一个块内的Token缺少显式的逐Token顺序约束,容易出现n-gram重复、JSON格式错误或工具调用边界混乱的问题。更隐蔽的风险在于“决策瓶颈的去噪滞后”与“上下文过度约束”:在任意顺序去噪框架下,模型往往优先处理高确定性的局部Token,将高不确定性的关键逻辑分叉点推迟处理,这种“周边先行、核心滞后”的去噪顺序会让已经固化的周边上下文对后续关键决策形成过度约束,压缩模型对解空间的探索能力,导致过早收敛到单一路径,无法充分探索其他推理方向。
第二个挑战是错误累积导致目标偏离:智能体的错误具有“传染性”,一次错误的工具调用会产生被污染的观察结果,进而扭曲后续的规划逻辑。在长程多轮交互中,早期生成块留下的局部偏差会作为后续去噪的硬条件进入上下文,逐步引发目标漂移和级联失效。相较于能够持续沿前缀条件推进的自回归模型,块扩散模型在结构上更容易受到这类错误累积的影响。而上一代LLaDA2.1的Token-to-Token替换能力,本质上仍局限在固定结构的约束中,就像在格子固定的棋盘上落子,只能修改已有位置的内容,无法扩展或缩减整体结构,无法应对真实世界中非等长的错误修正需求,比如代码修复时删除冗余分支、补全缺失的异常处理函数,或是API交互时剔除非法字段、补齐缺失的认证参数。
莱文斯坦编辑:解锁序列增删自由
为了打破定长替换的能力天花板,LLaDA2.2的第一个核心改进就是将莱文斯坦编辑引入扩散去噪流程。与LLaDA2.1仅支持“保持”和“替换”两种操作不同,LLaDA2.2新增了两个编辑控制Token:
DELETE:当模型检测到某处存在冗余或错误的Token时,可以在去噪过程中将其直接删除
INSERT:当模型发现缺少必要的函数参数、JSON字段或其他内容时,可以在当前Token前创建一个新的可编辑位置,等待后续去噪轮次填入对应内容
在训练阶段,团队通过最长公共子序列(LCS)将模型生成的中间草稿与目标序列对齐,以此构建四类编辑指令。在固定块长度的约束下,DELETE操作会移除当前Token并将后续Token左移;INSERT操作则会在当前位置前方创建一个[MASK]标记,将该位置扩展为([MASK],当前Token),让后续去噪轮次可以填充新增的位置,最后通过补齐[MASK]或截断尾部恢复原有块长度。
这一设计也让LLaDA2.2与ICML 2026论文《The Flexibility Trap: Rethinking the Value of Arbitrary Order in Diffusion Language Models》形成了有趣的对照:后者针对扩散语言模型的熵退化和解空间过早坍缩问题,选择在强化学习训练阶段放弃任意顺序,回到严格的从左到右顺序,使用标准的组相对策略优化(GRPO)进行训练,虽然保留了并行解码的推理能力,但本质上是收窄了模型的探索路径。而LLaDA2.2则选择了另一条路线:通过扩大可编辑动作空间,让模型在保留并行去噪范式的基础上,拥有了自我修正的能力——写错了可以替换,写多了可以删除,写少了可以插入,再结合环境反馈持续优化决策逻辑,相当于为模型提供了“走错路也能回头修改”的能力。从扩散模型自身的机制来看,这种方案更原生也更优雅,没有牺牲并行去噪的核心优势,而是直接为其补上了结构化自我纠错的能力。
根据官方测试数据,在软件工程基准SWE-bench Verified上,使用同一LLaDA2.2基座和相同SWE轨迹进行微调,仅启用莱文斯坦编辑就将模型解决率从35.8%提升到44.4%,绝对增益达到8.6个百分点。
L-EBPO:基于环境反馈的动态纠错
有了增删编辑的工具,模型还需要学会“何时编辑”和“在何处编辑”。监督微调可以教会模型基础的编辑语法和行为,但长程智能体轨迹中的策略决策,仍需要来自环境的任务级反馈。为此,LLaDA2.2提出了基于莱文斯坦编辑证据下界的块级策略优化(L-EBPO)强化学习算法。
将强化学习直接应用到动态编辑的扩散轨迹并非易事,因为DELETE和INSERT是“转瞬即逝”的中间动作:它们仅存在于解码过程中,不会出现在最终生成的文本里,因此必须先恢复完整的编辑轨迹,才能准确估计相应的似然。
L-EBPO采用了两层控制结构:外层沿用基于证据下界的块级策略优化(EBPO),用于优化多轮智能体交互中的轨迹级决策;内层则负责单次生成过程中块内的插入和删除操作。二者被统一进动作空间V ∪ {DELETE, INSERT},让普通Token预测与结构编辑可以在同一目标下进行优化。
具体来说,系统会在每个噪声层级对齐加噪后的采样轨迹与原始动作序列,恢复瞬时编辑标签,让梯度能够覆盖INSERT、DELETE等结构决策。环境奖励则来自三个维度:工具调用执行是否正确、输出格式是否有效,以及整体任务是否完成。借助沙盒集群和异步训练,模型不仅学会了“怎样编辑”,更学会了在长程智能体轨迹中“何时编辑”,这些机制有效缓解了重复生成、错误累积和推理路径坍缩的问题。
块路由机制:128K上下文下的MoE性能破局
智能体场景往往意味着漫长的思考链条、上万行的代码库和几十轮的交互历史,为了适配这类工作负载,LLaDA2.2从LLaDA2.1的8K基座出发,先用300B Token训练到64K上下文,再用200B Token扩展到128K;在最后的128K阶段,训练数据还加入了长程软件工程上下文、工具使用轨迹和浏览轨迹,让模型原生支持128K上下文,而非仅在推理时做外推。
但长上下文也带来了棘手的工程挑战:推理成本会随上下文长度快速上升。LLaDA2.2采用混合专家(MoE)架构,在传统的MoE自回归模型中,每个Token会独立挑选Top-k专家,每一步通常只处理少量新Token;但在块扩散模型中,每一步去噪会处理完整的块,常见长度为32或64个Token。如果每个Token都自由选择专家,一个块触达的专家并集就会迅速扩大,增加高带宽内存(HBM)流量、降低专家权重复用率,并推高专家并行中的通信成本。
为了解决这个“吞吐杀手”,LLaDA2.2提出了块路由机制,具体分为三个步骤:
Token赛马:在一个块内,每个Token都会给出对各个专家的偏好分数,系统取同一专家在所有Token上的最高分,形成块级准入分数。
固定容量上限:根据准入分数,从全局256个路由专家中选出Top-48,组成块专属的候选专家池。
二次精细分发:每个Token再在这个候选池中执行Top-k路由,继续保留Token级别的专业分工。
这样一来,每个块的专家工作集就获得了可预测的O(C)上界,同时又没有将所有Token粗暴地塞给同一批固定专家。官方报告显示,经过持续预训练并切换到块路由后,模型质量几乎没有下降,而MoE块扩散推理的路由结构变得更稳定、更易于规划。
实测性能:高吞吐下的智能体竞技
在包含SWE-bench、τ²-Bench、Claw-Eval等7项智能体基准测试的综合评估中,LLaDA2.2-flash展现出了亮眼的表现:
整体效果逼近自回归模型:LLaDA2.2-flash取得53.83的平均得分,较Ling-2.6-flash的55.74分仅低1.91分。
部分场景实现反超:在τ²-Bench、PinchBench、MCP-Atlas这三项基准上,LLaDA2.2-flash的表现超过了Ling-2.6-flash;在Claw-Eval上,两者的得分也十分接近。
吞吐优势明显:在11种代表性工作负载中,LLaDA2.2-flash的BF16平均解码吞吐量达到Ling-2.6-flash的1.64倍;从BF16量化到FP8后,LLaDA2.2-flash的平均吞吐量还能再提升18.6%。
本地部署与快速体验
LLaDA2.2-flash已开源,采用Apache-2.0协议,开发者可以在本地环境中完整复现上述智能体能力。
模型规格速览
LLaDA2.2-flash为MoE架构,总参数量约100B(非嵌入层),模型文件以BF16精度的safetensors格式存储,共32个分片,总大小约206GB,原生支持128K上下文窗口。
硬件需求
由于模型体量较大,本地部署建议使用多卡GPU环境。以BF16全精度加载为例,至少需要4张A100-80GB或同等显存的GPU;如使用FP8量化,显存需求可相应降低。长上下文(128K)场景对显存的要求更高,建议预留充足资源。
模型下载
推荐通过官方SDK下载(国内网络更稳定):
from modelscope import snapshot_download
model_dir = snapshot_download("inclusionAI/LLaDA2.2-flash")
也可通过Git LFS直接克隆:
git lfs install
git clone https://modelscope.cn/models/inclusionAI/LLaDA2.2-flash.git
使用Transformers快速推理
模型可直接通过Transformers加载运行,注意需要设置`trust_remote_code=True`,因为模型包含自定义的扩散解码逻辑:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "inclusionAI/LLaDA2.2-flash"
model = AutoModelForCausalLM.from_pretrained(
model_path,
trust_remote_code=True,
device_map="auto",
)
model = model.to(torch.bfloat16)
model.eval()
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
prompt = "请用 Python 实现一个简单的 HTTP 服务器"
input_ids = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
).input_ids
generated_tokens = model.generate(
inputs=input_ids,
eos_early_stop=True,
gen_length=512,
block_length=32,
threshold=0.5,
editing_threshold=0.0,
temperature=0.0,
)
response = tokenizer.decode(generated_tokens[0], skip_special_tokens=True)
print(response)
关键生成参数
扩散解码与传统自回归推理不同,以下是推荐的默认参数配置:
block_length=32:扩散块大小,控制每步并行去噪的Token数量。threshold=0.5:去噪置信度阈值,低于此值的位置将继续迭代。editing_threshold=0.0:莱文斯坦编辑触发阈值,设为0表示关闭主动编辑,适用于常规生成任务。temperature=0.0:贪心解码,适合确定性任务;评测中可设为1.0配合Top-p采样。gen_length:最大生成长度,可根据任务需求按需调整。
总结与展望
从LLaDA2.1的原位替换,到LLaDA2.2的插入与删除编辑,扩散语言模型作为智能体底座的逻辑已经完全跑通。凭借莱文斯坦编辑带来的结构化纠错能力、L-EBPO的环境反馈优化,以及块路由机制对128K上下文下MoE推理成本的控制,LLaDA2.2-flash在7项智能体基准测试中以53.83的平均分接近自回归模型,同时保持1.64倍的解码吞吐优势,为自回归路线之外的智能体研发提供了一条极具潜力的技术选择。


