大语言模型原理、实现

本文探讨了大语言模型,尤其是Transformer模型的应用,涉及预训练、多任务学习、微调策略,以及情景学习和思维链在提升模型性能和推理能力中的作用。文章强调了大语言模型在指令跟随和场景学习中的潜力,以及存在的挑战如多样性不足和黑箱问题。
摘要由CSDN通过智能技术生成

大语言模型原理:

采用Transformer模型架构,它通过注意力机制建模输入文本中的长距离语义依赖,具有优秀的规模化能力和并行化计算能力。

学习算法发展:
多任务学习:这一阶段的语言模型通常作为学习过程中一个可选的辅助任务,通过在少量无标签数据上训练语言模型任务来增益其他下游任务性能

算法

预训练+单任务学习:在大规模无标注语料上预先训练一组词向量,以此作为下游任务中模型词向量的初始化,使用任务特定数据训练模型参数其中词向量可以继续使用任务数据微调也可以保持不变而仅训练模型其余部分参数。该阶段中单任务学习仍然是一个需要精心设计的环节,研究人员需要针对任务特性选择合适的模型结构和训练方法

预训练+微调:预训练词向量存在固有的缺陷:难以处理一词多义问题,例如“苹果”一词既可以指苹果这一水果,也可以指苹果公司.一种卓有成效的解决方案就是将模型与词向量一同进行预训练,由此可以得到某个单词在特定语境下的表示,例如,通过预训练模型编码后,苹果一词在“苹果很好吃”和“苹果手机很好用"两种不同语境下得到完全不同的表示.Peters等人首先使用LSTM模型证明了这一做法的有效性,BERT、GPT等模型则采用容量更大、更适合并行计算的Transformer模型.经过大规模参数预训练之后,人们发现在下游任务上只需要对参数进行微调即可取很好的效果

预训练+对齐:随着训练数据规模和模型参数规模的增长,研究人员发现保持模型参数不变而仅需调整模型输入的提示(prompt)就可以得到不错的效果通过与人类对齐,包括使用自然语言指令化的任务数据训练和基于人类反馈学习,大型语言模型可以显著提高其易用性和安全性,用户通过简单的提示语即可得到望的回复,实用性显著增强。此外,相比过去主要基于监督学习方式,在对文阶段还普遍引入了强化学习:摘录先训练反馈模型建模人类反馈数据,接着使用该反馈模型通过强化学习手段提升语言模型性能,使其更加符合人类偏好。

模型

Transformer模型,使用注意力机制对输入序列进行全局建模,能够充分利用GPU的并行计算能力,在机器翻译任务上首先取得了成功.随后,Radford等人和Devlin等人使用Transformer作为语模型训练的骨干模型,取得了突破性进展,从此Transformer模型及其变体逐渐成为语言模型的主流

大语言模型赋能场景:

情景学习 (in-context learning)是指将一部分样本及其标签作为示例拼接在待预测样本之前,大型语言模型能够根据这小部分示例样本习得如何执行该任务。具体地,语言模型接受x1,y1,x2,y2,x3,y3,xk,yk,xquery为输入,输出Xquery对应的标签Yquery,相较于传统的基于梯度更新的学习方式,情景学习无需更新模型参数即可学习输入样本中的模式,显著降低了学习成本,使得“语言模型即服务(Language-Model-as-a-Service,LMaas)[22]变得可行。
从应用的角度,已有不少研究探索了情景学习的特性以及提升语言模型情景学习能力的方法。例如,Min等人发现情景学习的表现对特定上下文设置很敏感,包括提示模板、上下文示例的选择与分布,以及示例的顺序。他们的实验表明,示例样本对性能的影响主要来自四个方面。输入-标签的配对格式、标签的分布输入的分布以及输入-标签的映射关系。
目前,情景学习已经成为大型语言模型能力的重要评测方法.

思维链:
思维链(Chain-of-Thought)是提升大型语言模型推理能力的常见提示策略,它通过提示语言模型生成一系列中间推理步骤来显著提升模型在复杂推理任务上的表现。其中,最直接的提示语言模型生成思维链的方法就是通过情景学习,即对少量样本[x1,y1,x2,y2,x3,y3,xk,yk]手工编写其中间推理过程,形成[x1,y1,x2,y2,x3,y3,xk,yk,xquery]作为语言模型的输入,使语言模型生成query对应的推理步骤和答案发现无需手工编写示例样本的推理步骤,仅需简单的提示(例如“Let’s think step by step”)即可使得语言模型生成中间推理过程及最终答案,这一提示策略称为“零样本思维链提示通过思维链提示,通过思维链方法可以显著提升语言模型在常识回答,数学推理等任务上的性能。
指令遵循(prompt):
指令遵循(instruction-following)能力是指语言模型根据用户输入的自然语言指今执行特定任务的能力相较情景学习需要通过少量示例样本提示语言模型执行特定任务,指令遵循的方式更为直接高效。然而,指令尊循能力通常需要语言模型在指令数据集上进行训练而获得一种直接的构造指令数据集的手段是为已有的大量自然语言处理任务数据集编写自然语言指令,这种指令可以是对任务的描述,还可以包含少量示例样本研究人员发现,在大量指令化的自然语言处理任务数据集上训练后,语言模型可以根据用户输入的指令较好地完成未见任务。即使用更贴合的promt和多次promt输入能够帮助大语言模型返回更加符合要求的任务。
然而,虽然已有的自然语言处理任务数据质量较高,但其多样性难以覆盖真实场景下用户的需求为此InstructGPT和ChatGPT采用人工标注的指令数据,具有更高的多样性且更加符合真实用户需求随着一型语言模型能力越来越强,研究人员发现可以通过编写少量种子指令 (seed instruction)来提示语言模成大量高质量、多样化的指令数据集[39] 近来,使用较强的大型语言模型的输出来训练较小规模语言模型已经成为一种被广泛使用的方法,通过这种方式可以较容易地使得较小语言模型具备基本的指令遵循能力.然而,这种通过蒸馏获得的较小语言模型仍难以具备复杂指令遵循能力,且仍然存在严重的幻觉问题。
(仍是黑箱)
[1]: 舒文韬,李睿潇,孙天祥,黄萱菁,邱锡鹏.大型语言模型:原理、实现与发展[J].计算机研究与发展:1-12.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值