SpecExec: Massively Parallel Speculative Decoding for Interactive LLM Inference on Consumer Devices

2024年06月04日
  • 简介
    随着大型语言模型的广泛应用,提高其运行效率变得至关重要。最近的一些研究使用推测解码来实现极速加速。然而,这些研究中大多数都是为高端数据中心硬件而设计的。本文提出相反的问题:我们能在消费者机器上以多快的速度运行LLM吗?消费级GPU已经无法容纳最大的可用模型(50B+参数),必须将其卸载到RAM或SSD中。当使用卸载的参数运行时,推理引擎可以同时处理数百或数千个标记的批次,而只需处理一个标记,这使得推测解码自然适用。我们提出了SpecExec(推测执行),一种简单的并行解码方法,可以为流行的LLM系列每个目标模型迭代生成多达20个标记。它利用现代LLM中标记概率分布的高峰度和模型输出概率之间的高度对齐。SpecExec从草稿模型中获取最可能的标记继续构建目标模型的“缓存”树,然后在单个传递中进行验证。使用SpecExec,我们展示了在消费级GPU上使用RAM卸载的50B+参数LLM的推理,每秒可处理4-6个标记(使用4位量化)或每秒可处理2-3个标记(使用16位权重)。
  • 作者讲解
  • 图表
  • 解决问题
    论文旨在解决在消费级GPU上高效运行大型语言模型的问题。这个问题是否是一个新问题?
  • 关键思路
    论文提出了一种简单的并行解码方法SpecExec(Speculative Execution),可以在消费级GPU上以每秒4-6个标记的速度运行50B+参数的LLM。该方法利用现代LLM中标记概率分布的高峰性和模型输出概率之间的高度对齐,从而生成高质量的标记序列。
  • 其它亮点
    论文使用了RAM offloading,将大型模型的参数存储在RAM或SSD中,使用SpecExec并行解码方法,可以在消费级GPU上以每秒4-6个标记的速度运行50B+参数的LLM。此外,论文还使用了4位量化和16位权重,以提高运行速度。论文开源了代码和数据集。
  • 相关研究
    最近的相关研究包括GShard、Megatron、Turing-NLG等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问