AngelSpec: Towards Real-World High Performance Inference with Speculative Decoding
AngelSpec 引入了一个统一的训练框架,该框架协同特化了不同的草拟结构(用于对话的 MTP 和用于代码/数学的块扩散),并动态优化推理验证资源,从而在各种真实的实际工作负载中实现显著的吞吐量提升和更高的接受率。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图教一个超级聪明的机器人如何写故事、解数学题或编写计算机代码。这个被称为“大语言模型”(LLM)的机器人天赋异禀,但它有一个非常特殊的怪癖:它一次只能思考一个词。为了写出一个句子,它必须停下来,思考并生成第一个词,然后再次停下,思考第二个词,以此类推。这就像一位厨师,每次只能切一个菜,切完后必须等待整个厨房冷却下来才能切下一个。随着机器人变得越来越聪明,请求也变得越来越复杂,这种“一个接一个”的过程变得极其缓慢,简直像是在慢动作看油漆变干。
为了提高速度,科学家们发明了一个名为“投机采样”(speculative decoding)的小技巧。把它想象成一次团队协作。你有一个微型且快速的“草拟”机器人,它会猜测句子中的下几个词,而一个巨大的、缓慢的“目标”机器人则负责检查这些猜测是否正确。如果大机器人同意了这些猜测,团队就可以一次性写出好几个词,而不是仅仅一个。这就像是一个快速奔跑者在为一名步履沉重的步行者预判前方的路径;如果猜对了,他们就能一起向前迈进,从而节省大量时间。然而,问题在于,这个快速奔跑者并不总是正确的。如果他猜错了太多词,大机器人就必须浪费时间去纠正它们,整个过程反而会变慢。科学家们面临的一个核心问题是:我们如何让快速奔跑者猜得更准,以及我们如何知道何时应该停止猜测,以免浪费时间?
这就是一个名为 AngelSpec 的新项目派上用场的地方。腾讯的研究人员意识到,单一的“快速奔跑者”策略并不适用于所有情况。就像短跑选手可能擅长短距离冲刺,但在马拉松中表现糟糕一样,不同类型的文本需要不同的猜测策略。例如,写一段随意的聊天信息是混乱且充满惊喜的(高熵),而编写数学证明或计算机程序则是非常结构化且可预测的。论文指出,试图使用一个“通用”的猜测机器人来应对所有任务是一个错误。相反,他们构建了一个系统,该系统会根据任务类型使用两种不同类型的猜测者,并配备了一个智能管理器,根据系统的繁忙程度来决定究竟花多少时间来检查这些猜测。
团队引入了一种名为 DFly 的新方法,用于处理像编程和数学这类结构化任务。把 DFly 想象成一群侦探,他们不仅仅是一个接一个地猜测下一个线索,而是观察整个谜题以寻找模式。他们使用一种特殊的“混合”大脑,既能观察全局大局,又能根据紧接其前的内容进行精细调整。这使得他们能够高精度地预测长串的代码或数学步骤。对于杂乱、具有创造性的聊天任务,他们则沿用了一种更简单、更快速的方法,称为 MTP(多词预测),这种方法非常适合快速的对话式爆发。
但拥有一个优秀的猜测者还不够,你还需要一个聪明的管理者。论文引入了一个名为 D-cut 的功能,它扮演着交通控制员的角色。在繁忙的服务器中,有时“检查”过程会发生拥堵。D-cut 会实时观察猜测的置信度。如果一个猜测看起来不太靠谱,D-cut 会提前将其切断以节省时间。如果系统运行顺畅且猜测看起来很稳健,它就会让团队继续运行更长时间。这就像一位指挥家,在音乐简单时加快管弦乐队的速度,而在音符变得复杂时放慢节奏,确保整个表演既快速又不会崩溃。
这种方法的成果令人印象深刻。当他们在 Hy3-A21B 模型上测试这一新系统时,发现它处理文本的速度比以前快得多。具体而言,该系统比传统的“一次一个词”的方法实现了 1.98 到 2.40 倍 的加速。更棒的是,它比之前已知的最快方法 DFlash 快了 10.5% 到 11.8%。研究人员展示了通过针对特定文本类型(聊天对比代码)定制猜测策略,并利用智能管理器来适应工作负载,他们可以最大限度地发挥计算能力。他们甚至将整个工具包 AngelSpec 公开发布,以便其他科学家可以使用这些技巧来让自己的 AI 模型变得更快、更高效。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。