[控场AI]
· 4 分钟阅读· 2,489 字

CopyLoop:循环Transformer免训练解码加速新方法

CopyLoop:循环Transformer免训练解码加速新方法

CopyLoop利用上下文复制提议、浅层筛选与连续调度,实现循环Transformer免训练解码加速。

循环Transformer通过重复应用共享块增加计算深度,但全深度解码代价高昂,现有推测解码又受顺序依赖限制。CopyLoop提出一种免训练加速方案:从上下文中复制候选后缀作为低成本提议,在浅层循环深度上快速筛选,并通过连续循环调度让不同深度的计算重叠流水线化。在Ouro、Raven、Huginn三个模型家族的六个检查点上,Base模型实现2.98至10.70倍加速,Thinking模型实现2.74至3.52倍加速,且仅需轻量级校准。消融实验表明浅层筛选与连续调度具有强协同效应,加速在长生成且上下文可复用的场景(如代码生成)中尤为显著。

循环Transformer通过重复应用共享块来提升计算容量,但循环深度导致传统的全深度解码代价高昂。现有的推测解码流水线虽然能加速生成,却受限于顺序解码的开销。一篇新论文提出的CopyLoop算法,通过结合低成本上下文复制提议、浅层筛选与连续循环调度,实现了免训练的解码加速。

CopyLoop论文标题截图

循环Transformer的解码困境与CopyLoop的破局思路

循环Transformer的核心优势在于通过反复调用同一组参数块来增加模型的“思考深度”。这种设计让模型在推理时能进行更复杂的计算,尤其适合需要多步推理的任务。然而,优势背后是代价:每生成一个token,模型都需要跑完所有循环深度,导致解码速度成为瓶颈。

现有的加速方案,如推测解码,通常让一个小模型快速生成候选token,再由大模型验证。但这种方法在循环Transformer上效果受限,因为验证过程本身也需要全深度计算,且候选生成与验证之间存在顺序依赖。

CopyLoop的切入点很巧妙:它不再从头生成token,而是从重复的上下文中提取候选后缀。具体来说,算法会利用输入中已经出现的片段作为“提议”,因为很多生成任务(如代码补全、数学推理)中,后续内容往往与前面的上下文有重复或相似结构。这种“复制”提议的成本极低,几乎不需要额外计算。

推测解码(Speculative Decoding) 是一种加速自回归生成的技术框架:它先用一个更小、更快的“草稿模型”一次性生成多个候选token(称为draft),再由原始大模型并行验证这些候选,接受其中与自身分布一致的token前缀。由于验证可以并行完成,整体生成速度得以提升,同时输出分布与原始模型保持一致。在标准Transformer上,草稿模型与目标模型相互独立,验证过程只需一次前向传播。但在循环Transformer中,每个token的验证都需要跑满全部循环深度,且草稿生成与验证之间存在严格的顺序依赖,导致推测解码的并行优势被大幅削弱,这正是CopyLoop试图突破的瓶颈。

浅层筛选与连续调度:CopyLoop的两大支柱

CopyLoop的工作流程分为两个阶段:提议与筛选。首先,它从上下文中复制出多个候选后缀,这些后缀可能包含多个token。然后,它并不立即进行全深度验证,而是在浅层循环深度上对这些候选进行快速评估。浅层评估的计算量远小于全深度,因此能高效过滤掉明显错误的候选。

更关键的是连续循环调度机制。在传统流程中,验证必须等待所有块完成全深度计算。而CopyLoop允许在早期块仍在向全深度推进时,就并发处理更新的块。这种流水线式的调度让不同深度的计算重叠起来,进一步压缩了整体延迟。

论文的消融实验证实,浅层筛选与连续调度之间存在强协同效应——单独使用任一技术都不如两者结合的效果显著。

浅层筛选的核心思想是利用循环Transformer的“ anytime”特性:模型在较浅的循环深度上已经能给出初步的token分布,虽然精度不及全深度,但计算量成比例减少。CopyLoop在低深度上对复制得到的候选后缀进行打分,快速淘汰低概率候选,只保留少数有希望的候选进入全深度验证。这样做的好处是将昂贵的全深度计算集中在最有价值的候选上,避免为明显错误的提议浪费算力。筛选阈值(即接受候选进入全深度验证的最低分数)需要通过轻量级校准确定,以平衡召回率与计算开销。

连续循环调度(Continuous Loop Scheduling) 借鉴了流水线并行的思想:在传统解码中,第t个token必须等第t-1个token的所有循环块全部完成后才能开始计算,形成串行依赖。CopyLoop将循环深度视为可重叠的流水线阶段——当较早的块仍在向更深循环推进时,后续块已经可以基于浅层结果开始提议和筛选。不同深度的计算在时间上重叠,硬件利用率提高,端到端延迟随之下降。这种调度要求算法能够管理多个块在不同深度上的状态,并与浅层筛选紧密配合:浅层结果越早可用,流水线就能越早启动下一块的处理。

实验验证:跨模型家族的显著加速

研究团队在Ouro、Raven和Huginn三个模型家族的六个检查点上评估了CopyLoop,任务覆盖代码生成和多步数学推理。

结果显示,在Base模型上,CopyLoop相比全深度自回归解码实现了2.98倍到10.70倍的解码加速;在Thinking模型上,加速比在2.74倍到3.52倍之间。在所有评估任务上,CopyLoop要么优于所有竞争基线,要么与其表现非常接近。

有意思的是,CopyLoop只需要轻量级的模型校准,不需要重新训练。而且分析表明,在生成长度较长且上下文可复用的场景下,加速效果更为明显。这对于代码生成这类天然具有重复模式的场景尤其有利。

对循环Transformer落地的影响与启示

循环Transformer被视为提升模型推理能力的重要方向,但解码效率一直是其落地应用的障碍。CopyLoop的意义在于,它提供了一种无需训练、易于集成的加速方案。这意味着现有的循环Transformer模型可以几乎零成本地获得速度提升。

从更广的视角看,CopyLoop的思路——利用上下文复制作为提议、浅层筛选作为过滤、连续调度作为流水线——或许能启发其他需要多步计算的模型架构的解码优化。尤其是在需要长序列生成的场景中,这种“复用已有上下文”的策略值得进一步探索。

当然,CopyLoop也有其适用边界。它的加速效果依赖于上下文中存在可复用的片段,对于完全开放域的生成任务,提议的命中率可能下降。此外,浅层筛选的阈值设置可能需要针对不同模型进行调整。论文中提到的轻量级校准正是为了解决这个问题。

总体而言,CopyLoop为循环Transformer的高效解码提供了一个实用且有效的方案,也为推测解码在循环架构上的应用开辟了新路径。

分享:

相关推荐