Lookahead decoding:一种创新的并行解码算法,加速大LLM的推理过程。
Lookahead decoding就像是给大语言模型装上了涡轮增压器,可以让模型同时处理多个令牌,在生成文字时速度更快,模型生成文本的速度可以提高1.5到2.3倍。
这对于需要快速回应的应用,比如在线聊天机器人或者语音助手,特别有用。
传统的自回归解码步骤生成一个令牌(token)是非常缓慢且难以优化的,这对于需要快速响应的实际应用(如聊天机器人和个人助理)构成了挑战。
就像人类写作时一个字一个字写。但是,Lookahead decoding 技术可以让模型同时处理多个部分,这就像是能同时写下几个字,而不是一个接一个。
这种方法的核心在于打破传统自回归解码中的顺序依赖性,通过同时提取和验证n-grams(n元语法模型)来实现更快的解码速度。
其主要特点包括:
1、并行解码:Lookahead decoding通过并行处理n-grams来加速解码过程,与传统的逐步生成单个令牌的方法相比,大幅提高了效率。它可以同时处理多个字,而不是像以前那样一个接一个。
2、雅可比迭代法:该算法采用雅可比迭代法来处理解码过程中的非线性方程组,这种方法有助于提高并行处理的效率。
3、无需草稿模型或额外数据存储:与某些其他加速技术不同,Lookahead decoding不依赖于草稿模型或额外的数据存储,简化了实现过程。不需要额外的复杂设置或存储空间。
4、线性减少解码步骤:该方法能够根据每个解码步骤使用的浮点运算(FLOPs)线性减少解码步骤数,从而提高效率。能够更快地完成整个文字生成的过程。
4、与HuggingFace兼容:Lookahead decoding的实现与HuggingFace的transformers库兼容,使得用户可以轻松地在现有的模型中应用这种新技术。
Lookahead decoding为需要快速响应的应用(如聊天机器人和个人助理)提供了一种有效的解决方案,特别是在生成长序列时,能够显著减少延迟。
详细介绍:https://t.co/BzGIqwbiXO
GitHub:https://t.co/EIYwDRyNqm
视频演示为:LLaMA-2-Chat 7B Lookahead decoding解码加速演示。蓝色字体是在解码步骤中并行生成的标记。