一、引言 现代钻研发现,训练大言语模型(LLMs)时参与计算量会带来更好的结果,但在推理时参与计算量的好处却较少被关注。本文聚焦于推理时的方法,讨论了令牌级生成算法、元生成算法和高效生成这三个主题。
二、关系概念及背景 1、用户目的在生成中的作用:用户经常使用言语模型生成输入时,或者宿愿取得高品质、多样化的输入,例如处置数学识题的正确答案或合乎理想且写得好的总结。为了方式化这个目的,咱们引入了“可接受性”的概念,即用户对输入的满意度,并将生成输入的环节看作是从言语模型的散布中采样,以尽或者凑近用户的满意度散布。2、言语模型的建模疑问:言语模型是对序列的概率建模,理论驳回自回归的方式,即依据前面的令牌预测下一个令牌的概率散布。生成模型与言语模型关系联,它将输入、言语模型和其余参数映射到输入的概率散布。计算这个概率散布在大少数状况下是剖析上难以处置的,理论须要经常使用生成算法来取得样本。咱们将生成方法分为最大化、采样和从指定目的散布采样三类。
三、令牌级生成算法 1、MAP解码算法:选用言语模型定义的散布中最有或者的序列,如贪心解码,但贪心解码或者会造成结果不完美,如重复序列或短序列偏好等疑问。2、采样和适配器:间接从言语模型的散布中采样,如后人采样,同时为了平衡多样性和连接性,引入了一些采样适配器,如温度采样、核采样等。3、令牌级采样适配器:许多令牌级采样方法可以看作是调整每个下一个令牌散布的采样适配器,还包含一些经常使用其余模型输入重加权令牌的方法,以及为了控制统计和消息论性质的自顺应和前瞻适配器,还有经常使用另一个言语模型调整下一个令牌散布的方法。4、受控生成:许多场景可以被框架为从言语模型的散布中采样,该散布由序列级规范调制,例如经过火类器、批示器或鼓励来成功。
四、元生成算法 1、链式元生成器:经过将多个生成器链接在一同,例如在揭示言语模型中,经过组合不同的操作和生成器来成功义务,如处置数学识题或生成故事。2、并行元生成器:包含reranking算法(如Best-of-N)、transformation算法(如Majorityvoting、Self-consistency等)和sequence-levelstatisticalrejectionsampling。3、步级搜查算法:经过调用生成器来成功经典搜查算法,如greedydecoding、beamsearch、stepwisebeamsearch、Tree-of-thoughts等,用于处置数学识题或定理证实等义务。4、细化算法:由初始生成器、消息源和细化器组成,经过接纳消息和细化输入,直到满足中止条件,如Self-correction和Promptedrefiners等。
五、引入外部消息 1、多个模型:许多生成算法联合了多个模型,如经常使用小言语模型调整大模型的散布或减速生成,学习验证器模型来选用输入,以及经过揭示参数化不同模型。2、外部环境消息:生成算法可以联合外部环境消息,如调用外部工具启动计算或验证,接纳环境观察结果,例如在代码生成中经常使用口头结果或在数字代理中联合环境消息。
六、令牌老本和功能剖析 1、令牌估算:元生成器的老本包含输入令牌、输入令牌和外部消息的老本,不同的元生成算法在老本上有所不同,例如step-levelsearch和sequence-levelsearch在老本上的差异,以及refinement与sequence-levelsearch的老本比拟。2、参与令牌估算以提高功能:在许多推理关系义务中,生成多个序列并从当选用的算法(如Best-of-N、Majorityvoting等)理论比生成单个序列的算法(如贪心解码)功能更好,随着生成估算的参与,这些算法的功能可以干燥提高。3、最小化令牌估算:一方面可以经过将生成路由到老本逐渐降落的模型来缩小令牌估算,另一方面可以应用特定元生成算法的性质来缩小调用次数,从而降落老本。4、对底层生成器的依赖:元生成器的功能依赖于底层的生成算法,例如采样参数的选用会影响功能,不同的元生成算法对底层生成器的依赖水平不同。
七、减速生成 1、背景:减速生成须要平衡提前、吞吐量和品质三个目的,配件是减速生成的关键思考起因,不同的配件环境对功能有关键影响。2、减速生成器:可以经过修正模型架构、紧缩模型、启动配件感知的成功或并行化来减速单个生成的期间,例如经常使用更高效的留意力机制、量化模型权重或激活、应用配件个性启动提升或驳回并行解码战略。3、减速元生成算法:应用共享前缀来节俭计算并提高生成吞吐量,经过紧缩或提升计算图来进一步减速,例如缓存模型形态、紧缩KVCache、提升批处置或针对特定算法启动提升。4、库和工具:引见了一些用于极速生成的库和工具,如vLLM、TensorRTLLM、GPT-Fast等,以及一些在CPU上成功极速解码的库。
八、讨论与论断 ,生成算法在多个方面施展着关键作用。一方面,令牌级截断算法等生成算法可防止模型散布中的失误,如后人采样或者造成的不连接序列以及MAP解码算法或者造成的重复序列,虽然未来模型或者能缩小这些不完美之处,但现阶段仍需生成算法来修正。同时,言语模型的学习散布与希冀的生成散布或者不分歧,生成算法能经过重加权或抽样调整散布使其合乎希冀,虽未来或者经过微调模型成功,但目前其调整散布的作用依然关键。生成算法还可看作是在输入空间中搜查希冀序列的环节,参与计算量能提高搜查成果,即使未来某些义务或者不再须要生成算法,但在一些具有应战性的状况下仍有用武之地。此外,生成算法能够联合外部消息,如其余模型的预测、揭示中的指令或外部工具的结果,在许多具有应战性的场景中十分必要,未来也或者会有更多联合外部消息的生成算法产生。而且,无论未来序列生成器的方式如何,减速生成一直是必要的,开发新的减速方法有望带来清楚收益。总之,本文对言语模型的生成算法启动了综述,一致了来自解码、LLM推理和机器学习系统社区的过去钻研,并确定了未来上班的方向。大家对这篇论文有什么认识呢?欢迎来自动交互引擎搜查工业常识,倒退关系讨论。