百川智能与北京大学的研究人员推出新算法Clover,它用于提高大语言模型(LLMs)在生成文本时的效率。大型语言模型通常需要逐步生成文本,每个步骤生成一个输出令牌(token),这种方式在GPU上运行时效率较低,因为GPU在内存传输上花费的时间比实际计算要多。
实验结果显示,Clover在Baichuan-Small(7B参数)和Baichuan-Large(超过100B参数)模型上进行了测试。结果表明,Clover在这些模型上的性能超过了基线方法,分别提高了91%和146%,并且在与之前表现最好的Medusa方法相比时,分别提高了37%和57%。这意味着Clover算法在处理大型语言模型时,能够更有效地利用计算资源,生成文本的速度更快,同时保持了生成文本的准确性。
主要功能:
- 提高效率:Clover通过并行解码技术,允许模型同时预测多个后续令牌,以此提高文本生成的效率。
主要特点:
- 集成序列知识:Clover通过回归连接(Regressive Connection)和注意力解码器(Attention Decoder)将序列知识整合到并行解码过程中,提高了候选令牌的命中率。
- 增强模块:引入增强块(Augmenting Block)来修改隐藏状态,使其更好地适应推测性生成而非单一令牌预测。
- 性能提升:在不同模型大小下,Clover均展现出比现有方法更高的性能,特别是在大型模型上,性能提升显著。
工作原理:
Clover算法的核心在于三个主要组件:
- 回归连接:它允许模型在生成下一个令牌时考虑之前预测的令牌,增加了预测的准确性。
- 注意力解码器:这是一个实际的回归模块,结合了来自最后一个Transformer块的隐藏状态和之前预测的令牌,将序列知识整合到输入句子中。
- 增强块:这是附加到目标模型的额外Transformer或自注意力块,用于增强来自整个输入句子的特征,提高推测器的准确性。
具体应用场景:
假设你正在使用一个大型语言模型来生成文章或对话。传统的生成方式可能需要模型一步步地生成每个单词,这在GPU上效率不高。使用Clover算法,模型可以一次性预测多个单词,然后快速验证这些预测是否正确,从而加快了整个文本生成的过程。
0条评论