论文

自组织语言模型:利用语义依赖实现高效推理

Self-Orchestrating Language Models: Leveraging Semantic Dependence for Efficient Inference

模型推理推理加速

摘要

大型语言模型(LLMs)展现出出色能力,但其部署面临显著的效率挑战。自回归解码导致推理延迟高且在小批量场景下硬件加速器利用率低。离散扩散模型可并行生成,但缺乏足够扩散去噪步骤时难以匹配自回归模型的质量。长上下文推理产生内存瓶颈,甚至使最先进的加速器也力不从心。我的观点是,语言模型可以通过标注语义依赖——即哪些token依赖于其他token——来自主决定其推理执行策略。我将此类模型称为自组织语言模型。针对每个系统,我设计了运行时机制,基于这些语义依赖信息实现自回归解码的并行化、中间上下文的驱逐,或生成去噪顺序,从而实现质量与效率之间的帕累托最优权衡。我通过三个自组织系统验证该方法:首先,PASTA利用语义依赖实现自回归解码的并行化,通过训练模型标注哪些输出块可独立生成;其次,TIP利用语义依赖从KV缓存中驱逐中间推理步骤,降低内存消耗同时保持准确率;第三,Planned Diffusion利用语义依赖为离散扩散模型推导去噪顺序,通过自回归生成一个计划,指定哪些块并行去噪。

自组织语言模型:利用语义依赖实现高效推理:论文配图
图 3.3:解码每个时间戳的并行性和注意力模式。在每个时间戳,我显示在该时间戳中并行解码的令牌。标记之间的有向边显示了注意力关系:每条边将一个token连接到可能关注它的下一个token。然后,令牌可以通过向后跟踪这些边缘来处理任何可到达的祖先。 A 显示用户查询的最后几个token。 B 显示运行时何时解码 <promise/> 令牌,之后它立即在 C 处为 Fork#1 附加 <async> 令牌。随后在 D 处,Fork#1 开始异步解码,同时,运行时创建另一个解码线程 (Fork#2)。在E处,当遇到<sync/>时,运行时会暂停主线程,直到所有异步线程完成。最后在 F 处,主线程恢复解码,并在其前缀中包含异步解码的内容。颜色显示解码线程的身份(紫色=main,红色=Fork#1,绿色=Fork#2);橙色表示运行时插入的标记。