这是一个由三局部组成的系列博客文章中的第一篇,主题是关于如何适配开源大型言语模型(LLMs)。在这篇文章中,咱们将讨论适配LLMs到特定畛域数据的各种方法。
引言
大型言语模型(LLMs)在少量言语义务和人造言语处置(NLP)基准测试中展现出了出色的才干。基于这些"通用"模型的产品运行正在兴起。在这篇博客文章中,咱们将为宿愿适配和整合LLMs到自己名目中的小型AI产品团队提供指点。让咱们首先廓清LLMs关系的(经常令人困惑的)术语,而后简明比拟可用的不同适配方法,最后介绍一个step-by-step流程图来为你的经常使用场景识别正确的方法。
LLM适配方法
预训练
预训练是经常使用数万亿数据token从头开局训练LLM的环节。模型经常使用自监视算法启动训练。最经常出现的是经过自回归地预测下一个token来启动训练(也称为因果言语建模)。预训练理论须要数千个GPU小时(10^5 – 10^7 [起源1, 起源2])散布在多个GPU上。预训练输入的模型被称为基础模型。
继续预训练
继续预训练(又称二阶段预训练)触及经常使用新的、未见过的畛域数据进一步训练基础模型。经常使用与初始预训练相反的自监视算法。理论触及一切模型权重,并将一局部原始数据与新数据混合。
微调
微调是经常使用带注释的数据集以监视模式或经常使用基于强化学习的技术来适配预训练言语模型的环节。与预训练相比有两个关键区别:
了解微调畛域有两个维度:扭转的参数百分比和微调结果参与的新才干。
扭转的参数百分比
依据扭转的参数数量,有两类算法:
为基础模型参与的才干
启动微调的目的是为预训练模型参与才干——例如:指令追随、人类对齐等。经过聊天微调的Llama 2是一个微调模型的例子,参与了指令追随和对齐才干。
检索增强生成(RAG)
企业也可以经过参与特定畛域的常识库来适配LLMs。RAG实质上是"搜查驱动的LLM文本生成"。RAG于2020年被引入,它经常使用基于用户疑问检索到的灵活揭示高低文,并将其注入到LLM揭示中,以疏导模型经常使用检索到的内容,而不是其预训练的——或者已过期的——常识。Chat LangChain是一个由RAG驱动的盛行的LangChain文档问答聊天机器人。
高低文学习(ICL)
经过ICL,咱们经过在揭示中搁置原型示例来适配LLM。多项钻研标明"经过示例演示"是有效的。这些示例可以蕴含不同类型的消息:
还存在多种其余修正揭示的战略,Prompt Engineering Guide蕴含了片面的概述。
选用正确的适配方法
为了选择哪些上述方法适宜特定运行,你应该思考各种起因:所谋求义务所需的模型才干、训练老本、推理老本、数据集类型等。上方的流程图总结了咱们的倡导,以协助你选用正确的LLM适配方法。
❌ 预训练
预训练是LLM训练的关键局部,经常使用token预测变体作为损失函数。其自监视性质准许在少量数据上启动训练。例如,Llama 2在2万亿个token上启动了训练。这须要大规模的计算基础设备:Llama 2 70B破费了1,720,320 GPU小时。因此,关于资源有限的团队,咱们不倡导将预训练作为LLM适配的可行方法。
由于预训练在计算上是制止的,降级曾经预训练的模型权重或者是适配LLM以成功特定义务的有效方法。任何降级预训练模型权重的方法都容易遭受劫难性遗忘现象,这是一个术语,指模型遗记先前学习的技艺和常识。例如,这项钻研显示了一个在医疗畛域微调的模型在指令遵照和经常出现QA义务方面的功能如何降低。其余钻研也标明,经过预训练取得的普通常识或者在后续训练中被遗忘。例如,这项钻研从畛域常识、推理和阅读了解的角度提供了一些LLMs常识遗忘的证据。
❌ 继续预训练
思考到劫难性遗忘,最近的开展标明,继续预训练(CPT)可以以预训练所需计算老本的一小局部进一步提高功能。关于须要LLM取得新转换技艺的义务,CPT或者是有益的。例如,据报道,继续预训练在参与多言语才干方面取得了成功。
但CPT依然是一个低廉的环节,须要少量的数据和计算资源。例如,Pythia套件阅历了第二阶段的预训练,结果创立了FinPythia-6.9B。这个专门为金融数据设计的模型启动了18天的CPT,经常使用了一个蕴含240亿个token的数据集。此外,CPT也容易出现劫难性遗忘。因此,关于资源有限的团队,咱们不倡导将继续预训练作为LLM适配的可行方法。
总之,经常使用自监视算法和未注释数据集来适配LLM(如在预训练和继续预训练中所做的那样)是资源和老本密集型的,不介绍作为可行的方法。
✅ 全量微和谐参数高效微调(PEFT)
与经常使用未注释数据集启动预训练相比,经常使用小型注释数据集启动微调是一种更具老本效益的方法。经过将预训练模型适配到特定义务,微调模型已被证实在宽泛的运行和专业畛域(如法律、医疗或金融)中到达最先进的结果。
微调,特意是参数高效微调(PEFT),只有要预训练/继续预训练所需计算资源的一小局部。因此,这关于资源有限的团队来说是一种可行的LLM适配方法。在本系列的第3局部,咱们深化讨论微调细节,包括全量微调、PEFT,以及如何启动微调的适用指南。
✅ 检索增强生成(RAG)
RAG是另一种盛行的LLM适配方法。假设你的运行须要从灵活常识库中提敞开息(例如QA机器人),RAG或者是一个很好的处置方案。RAG系统的复杂性关键在于检索引擎的成功。这种系统的推理老本或者更高,由于揭示包括检索到的文档,而且大少数提供商经常使用按token计费的模型。在本系列的第2局部,咱们更宽泛地讨论RAG,并与微调启动比拟。
✅ 高低文学习(ICL)
这是适配LLMs最具老本效益的模式。ICL不须要任何额外的训练数据或计算资源,使其成为一种老本效益高的方法。但是,与RAG相似,由于在推理时处置更多的token,推理的老本和提前或者会参与。
总结
创立基于LLM的系统是一个迭代环节。咱们倡导从便捷的方法开局,逐渐参与复杂性,直抵达成指标。上方的流程图概述了这个迭代环节,为你的LLM适配战略提供了松软的基础。
本文转载自,作者: