本文欲回答的核心问题:如何让语言模型在保持生成质量的同时,大幅提升生成效率,实现高吞吐量与高GPU利用率的平衡?
引言:语言模型的效率与质量困境
本段核心问题:当前主流语言模型在生成效率和质量上存在哪些难以调和的矛盾?
在人工智能向通用智能演进的过程中,大型语言模型(LLMs)的成功很大程度上依赖于对GPU计算资源的高效利用。然而,当前主流的两种语言模型架构——自回归模型(AR)和扩散语言模型(dLMs),却在生成效率和质量上陷入了两难。
自回归模型是目前应用最广泛的架构,其生成过程遵循严格的因果结构,即每个token的生成都依赖于之前所有token,这种方式天然契合语言建模的逻辑,因此能产出高质量的文本。但问题在于,自回归模型的解码过程是“内存绑定”的:每次只能生成一个token, latency主要消耗在加载模型权重和KV缓存上,而不是计算本身。这意味着即使在GPU算力充足的情况下,它也无法充分利用硬件的计算密度,尤其是在小批量生成时,效率极低。
扩散语言模型则提供了另一种可能:它支持并行生成多个token,理论上能大幅提升吞吐量。但扩散模型面临的挑战是“质量与并行性的权衡”——最佳质量往往出现在每次只生成一个token的情况下,一旦尝试并行生成多个token,就会引入“token独立性假设”,导致序列连贯性下降,质量受损。目前主流的扩散模型如Dream和Llada,始终无法在速度和质量上同时超越强自回归模型。
那么,有没有一种架构能融合两者的优势?TiDAR(Think in Diffusion, Talk in Autoregression)给出了答案:通过结构化注意力掩码,在单次前向传播中同时实现扩散式的“思考”(并行生成候选token)和自回归式的“说话”(高质量采样最终输出),既利用了GPU的计算密度,又保持了自回归模型的生成质量。
TiDAR的核心创新:一次前向传播,两种生成模式
本段核心问题:TiDAR如何在单次模型前向传播中同时实现扩散的并行性和自回归的高质量?
TiDAR的突破在于重新设计了模型的注意力机制和生成流程,让“并行候选生成”和“高质量采样”在一次前向传播中完成,无需额外的模型或步骤,从而实现效率与质量的双赢。
什么是“免费token槽”?
要理解TiDAR的工作基础,首先需要认识“免费token槽”(free token slots)。实验显示(如图1),当模型处理序列时,在一定范围内增加token数量(即“token槽”),并不会显著增加前向传播的latency。例如,在NVIDIA H100上运行Qwen3-32B模型时,只要token数量处于“内存绑定”阶段,增加几个token槽的计算成本几乎可以忽略。这是因为此时latency主要由权重加载和KV缓存决定,而非计算量。
TiDAR正是利用了这一特性:在单次前向传播中,除了处理必要的前缀token,还可以“免费”加入多个token槽用于并行生成候选token,既不增加latency,又能提升单位时间内的token产出。

图片说明:在NVIDIA H100上,Qwen3-32B模型的解码延迟随token槽数量的变化。在一定范围内,增加token槽不会显著增加延迟,这些“免费token槽”是TiDAR并行生成的基础。
结构化注意力掩码:让模型同时“思考”和“说话”
TiDAR的核心设计是结构化混合注意力掩码,它将输入序列分为三个部分,并对每个部分应用不同的注意力规则:
-
前缀token(Prefix Tokens):已确定的历史序列,采用因果注意力(自回归模式),确保每个token只能关注之前的token,符合语言生成的因果逻辑。 -
上一步候选token(Previous Draft Tokens):来自上一次生成的候选序列,采用因果注意力进行自回归采样,通过拒绝采样机制筛选高质量token。 -
预生成候选token(Predraft Tokens):为下一步准备的候选token,采用双向注意力(扩散模式),允许token之间相互关注,实现并行生成。
这种掩码设计让模型在一次前向传播中,既能像自回归模型那样基于历史生成连贯的token(“说话”),又能像扩散模型那样并行生成未来的候选token(“思考”),且两者共享KV缓存和计算资源,几乎没有额外开销。

图片说明:TiDAR在单次前向传播中同时处理前缀token、上一步候选token和预生成候选token。通过切换注意力模式,实现并行“思考”(扩散)和高质量“说话”(自回归)。
生成流程:从候选到输出的高效迭代
TiDAR的生成过程是一个迭代循环,每一步包含三个关键操作:
-
自回归采样(验证候选):基于上一步生成的候选token,利用因果注意力计算自回归概率分布,通过拒绝采样选择符合高质量标准的token,作为最终输出的一部分。 -
扩散式预生成(并行思考):同时,基于当前确定的前缀,利用双向注意力并行生成下一步的多个候选token,这些候选会考虑所有可能的前缀结果,确保兼容性。 -
KV缓存复用:前缀token的KV缓存被保留并复用,减少重复计算;被拒绝的候选token对应的缓存则被丢弃,避免资源浪费。
例如,当生成一段客服回复时,TiDAR会先基于用户输入(前缀),通过自回归采样确定回复的前2个token(如“您好,”),同时并行预生成接下来的3个候选token(如“有什么可以帮您?”“请问需要协助吗?”“我能为您做些什么?”)。下一步则基于“您好,”和预生成的候选,继续迭代生成,直到完成回复。整个过程中,每一步都在利用“免费token槽”同时做验证和预生成,效率远超传统模型。
TiDAR的训练方法:简洁且数据高效
本段核心问题:TiDAR如何在训练阶段同时掌握扩散和自回归两种生成模式?
TiDAR的训练过程无需复杂的多阶段设计,只需通过单一目标函数,让模型在同一批数据上同时学习自回归和扩散两种模式,既简洁又高效。
混合损失函数:平衡两种生成逻辑
TiDAR的训练目标函数融合了自回归损失(AR Loss)和扩散损失(Diff Loss),公式如下:
L_TiDAR(θ) = [α·L_AR + L_Diff] / (1 + α)
其中:
-
L_AR是自回归损失,针对前缀token,计算每个token对下一个token的预测损失(传统next-token prediction),确保模型掌握因果生成能力。 -
L_Diff是扩散损失,针对预生成候选token(训练时均设为mask),计算模型对mask位置真实token的预测损失,确保模型能并行生成合理的候选。 -
α是平衡系数(0≤α≤1),用于调节两种损失的权重,确保模型同时学好两种模式。
全mask策略:简化训练,提升效率
与传统扩散模型采用随机mask不同,TiDAR在训练时将所有预生成候选位置均设为mask。这种设计有三个关键优势:
-
损失信号更密集:每个mask位置都贡献损失,避免了随机mask导致的损失稀疏问题。 -
损失平衡更简单:AR损失和Diff损失的计算量相同(均为序列长度),无需复杂的动态调整。 -
推理更高效:支持一步扩散生成(one-step diffusion),无需多步去噪,大幅减少推理时间。
例如,在训练生成产品描述时,输入序列为“这款手机的特点是__”,TiDAR会同时计算:
-
AR损失:基于“这款手机的特点是”预测下一个token(如“轻薄”)的损失; -
Diff损失:假设“轻薄”位置是mask,预测“轻薄”的损失。
通过这种方式,模型在一次训练中同时学会“基于历史生成下一个token”和“基于上下文补全mask”两种能力。
与现有技术的对比:TiDAR的优势何在?
本段核心问题:相比推测性解码、扩散模型等现有技术,TiDAR在哪些方面更具竞争力?
TiDAR的创新可以通过与两类主流技术的对比来凸显:扩散语言模型和推测性解码。
对比扩散语言模型:质量与效率的双重超越
传统扩散模型(如Dream、Llada)的问题在于“并行性与质量的矛盾”:并行生成的token越多,质量下降越明显(例如Dream-7B在GSM8K任务中,从1个token/步增至2个token/步,准确率下降10%)。而TiDAR通过以下设计解决了这一问题:
-
放弃token独立性假设:预生成的候选token虽然并行,但最终通过自回归采样筛选,确保输出序列符合因果逻辑。 -
支持精确KV缓存:前缀token采用因果注意力,其KV缓存可以被精确复用,减少计算量,而传统扩散模型的双向注意力难以高效缓存。
实验显示,TiDAR在相同并行度下,生成质量远超Dream和Llada,同时吞吐量更高。
对比推测性解码:更高效的自推测机制
推测性解码(如经典推测解码、EAGLE、DeepSeek-V3)的核心是“先用小模型 draft候选,再用大模型验证”,但存在三个局限:draft模型能力弱、draft过程串行、验证与draft分离。TiDAR则实现了“自推测”,优势如下:
| 技术 | draft模型与基础模型是否共享 | draft能力 | 并行解码 | draft与验证是否并行 |
|---|---|---|---|---|
| 经典推测解码 | 否 | 低 | 否 | 否 |
| EAGLE/DeepSeek-V3 | 是 | 中 | 否 | 否 |
| TiDAR | 是 | 高 | 是 | 是 |
TiDAR的“自推测”意味着:
-
draft模型就是基础模型本身,能力与基础模型一致,避免了弱draft导致的低接受率; -
draft过程并行进行,充分利用“免费token槽”; -
draft与验证在同一前向传播中完成,无额外开销。
例如,在生成代码时,传统推测解码需要先用小模型生成3个候选代码片段,再用大模型逐一验证,耗时较长;而TiDAR直接用大模型并行生成3个候选,同时完成验证,一步到位。
实验结果:质量与速度的双重突破
本段核心问题:TiDAR在实际任务中的表现如何?是否真的能平衡质量和速度?
在1.5B和8B参数规模下,TiDAR在生成任务和似然任务中均表现出色,首次实现了与自回归模型相当的质量,同时吞吐量提升4.71倍至5.91倍。
生成任务:质量接近AR,速度大幅领先
在GSM8K(数学推理)、HumanEval(代码生成)等任务中:
-
TiDAR 1.5B与同规模AR模型质量相当(甚至略有提升),但吞吐量是AR模型的4.71倍; -
TiDAR 8B质量仅比同规模AR模型低1-2%,但吞吐量达到5.91倍; -
相比Dream和Llada等扩散模型,TiDAR在相同速度下质量提升10-15%。
例如,在GSM8K数学推理任务中,TiDAR 1.5B的准确率为48.2%(AR模型为47.9%),但每秒能生成128个token(AR模型仅27个),意味着在处理大量用户数学问题查询时,TiDAR能在相同时间内响应更多请求,且答案准确率不变。
似然任务:与AR模型一致的计算效率
似然计算(评估模型对文本的预测能力)是语言模型的核心能力之一。TiDAR由于采用因果注意力处理前缀token,其似然计算方式与AR模型完全一致,效率相同;而传统扩散模型由于双向注意力,无法高效计算似然。
这意味着TiDAR在需要高似然精度的场景(如文本纠错、语义相似度计算)中,既能保持AR级别的精度,又能享受并行生成的速度优势。
应用场景:TiDAR适合哪些实际需求?
本段核心问题:TiDAR的特性使其在哪些实际业务场景中更具应用价值?
TiDAR的“高质量+高吞吐量”特性使其特别适合以下场景:
-
实时客服对话系统
客服对话需要快速响应(低延迟)和连贯回复(高质量)。TiDAR能在1秒内生成比AR模型多4倍的token,确保用户无需长时间等待,同时回复逻辑连贯,减少误解。 -
大规模内容生成
如电商平台的产品描述生成、新闻摘要批量生产等。TiDAR的高吞吐量可将生成效率提升5倍以上,同时保持文本的可读性和准确性,降低人工校对成本。 -
代码辅助生成工具
开发者需要工具快速生成代码片段并保证语法正确。TiDAR并行生成多个候选代码,同时通过自回归验证确保语法无误,既提升开发效率,又减少调试时间。 -
智能问答系统
在处理大量用户提问时(如教育平台的答疑),TiDAR能同时处理更多请求,且回答的逻辑性和准确性不打折扣,提升用户满意度。
作者反思:从TiDAR看语言模型的未来方向
TiDAR的设计给我们的最大启示是:平衡而非取舍。过去,我们总在“速度”和“质量”之间做选择,而TiDAR通过架构创新证明,两者可以通过巧妙的设计实现协同。
另一个值得思考的点是“硬件感知的模型设计”。TiDAR的“免费token槽”利用,本质上是对GPU内存绑定特性的深刻理解——模型优化不应只关注算法,还需结合硬件特性。这种“软硬协同”的思路,可能是未来大模型效率提升的关键。
最后,混合架构的潜力值得期待。TiDAR融合了扩散和自回归的优势,而未来或许能看到更多跨范式的融合(如结合Transformer与RNN的特性),开辟语言模型的新可能。
实用摘要 / 操作清单
-
TiDAR的核心价值:在不损失质量的前提下,将语言模型吞吐量提升4-6倍,适合需要高效生成的场景。 -
关键技术点:结构化混合注意力掩码、一次前向传播中的双重生成模式、全mask训练策略。 -
与其他技术的选择: -
若追求极致质量且可接受低速度:选纯AR模型; -
若追求高速度且可接受质量损失:选传统扩散模型; -
若需平衡质量与速度:选TiDAR。
-
-
应用优先级:实时对话、大规模内容生成、代码辅助工具 > 对延迟不敏感的离线任务。
一页速览(One-page Summary)
-
核心问题:如何同时实现语言模型的高质量生成与高吞吐量? -
解决方案:TiDAR通过结构化注意力掩码,在单次前向传播中完成扩散式并行候选生成(思考)和自回归式高质量采样(说话)。 -
关键创新:利用“免费token槽”、混合注意力机制、自推测生成流程。 -
性能表现:1.5B模型质量与AR相当,吞吐量提升4.71倍;8B模型质量略降,吞吐量提升5.91倍。 -
适用场景:实时对话、大规模内容生成、代码辅助等需平衡速度与质量的场景。
常见问答(FAQ)
-
TiDAR需要额外的模型参数吗?
不需要。TiDAR是单一模型,通过注意力掩码设计实现双重模式,无需增加参数。 -
TiDAR的训练数据量与AR模型相比如何?
相当。TiDAR通过混合损失函数在同一批数据上同时学习两种模式,数据效率更高。 -
TiDAR支持长文本生成吗?
支持。其KV缓存复用机制对长文本生成更友好,能减少重复计算,降低latency。 -
TiDAR在小批量生成时优势明显吗?
是的。小批量时AR模型的内存绑定问题更突出,TiDAR的“免费token槽”能更充分利用GPU资源。 -
如何调整TiDAR的α参数?
需根据任务类型调整:推理任务(如数学题)可增大α(侧重AR损失),生成任务可减小α(侧重扩散损失)。 -
TiDAR与Medusa等多token预测技术有何不同?
Medusa是在AR模型基础上增加额外头进行预测,仍属串行生成;TiDAR则是并行生成与验证,效率更高。 -
TiDAR的推理延迟比AR模型更低吗?
是的。在生成相同数量token时,TiDAR的总延迟仅为AR模型的1/5左右(因步骤更少)。 -
普通开发者如何部署TiDAR?
与部署AR模型类似,需支持自定义注意力掩码的推理框架(如PyTorch、TensorRT),无需额外硬件支持。

