什么是参数高效微调(PEFT)?
大语言模型(LLM)的运行需要消耗计算资源和资金。参数高效微调(PEFT)是一组仅调整 LLM 中部分参数的技术,可节省资源。
PEFT 让 LLM 定制变得更加轻松方便,同时能够生成可与传统微调模型相媲美的输出结果。
传统微调与 PEFT
传统微调和 PEFT 都是 LLM 对齐技术。两者均可调整 LLM 并为模型提供数据,以生成您想要的输出结果。可以将 PEFT 视为传统微调技术的演进。
传统微调通过进一步训练整个 LLM 来对模型进行调整,这需要消耗大量计算资源、数据和时间。
相较之下,PEFT 仅修改模型中的一小部分参数,这通常让资源有限的企业组织也能更轻松地优化模型。
红帽 AI | 通过开源平台构建、部署和运行 AI 模型与应用
PEFT 有哪些优势?
PEFT 能够在较小规模的硬件上更快速地训练大型模型。
具体而言,PEFT 具有以下优势:
- 加快训练速度:由于更新的参数更少,PEFT 可以加快实验和迭代速度。
- 高效节能:PEFT 使用的 GPU 内存比传统微调少得多,并且可以在消费级硬件上运行。这意味着您可以在笔记本电脑上训练 LLM,而无需专用服务器。
- 能够避免灾难性遗忘:灾难性遗忘是指模型在接收新训练数据时遗忘了已学知识。PEFT 可帮助模型避免灾难性遗忘,因为它只更新少量参数,而非整个模型。
- 轻便灵活:使用 PEFT 进行调整的模型规模更小,更易于管理,也更容易跨平台部署。这使得模型在运维环境中更易于更新和改进。
- 可持续性:PEFT 使用的计算资源更少,符合环保运维目标。
- 方便易用:即使计算资源较少的团队和企业组织也可以微调模型,并获得理想结果。
PEFT 是如何运作的?
LLM 由多个神经网络层组成。可以将这些层想象为某种流程图,它从输入层开始,到输出层结束。这两个层之间夹着许多其他层,每个层都在数据通过神经网络时发挥着处理数据的作用。
如果您想调整语言模型处理信息的方式,需要更改参数。
LLM 中的参数是什么?
参数(有时也称为权重)塑造了 LLM 对语言的理解。
可以把参数想象成机器内部的可调节齿轮。每个参数都有一个特定数值,该数值的变化会影响模型解读和生成语言的能力。
一个 LLM 可能包含数十亿(甚至数千亿)个参数。模型的参数越多,它能够执行的任务就越复杂。
但是,随着模型参数数量的增加,所需的硬件资源也会增加。许多企业组织可能资金不足,无法满足这些硬件需求,因此像 PEFT 这样的调优技术就非常重要。
高效地对参数进行微调
PEFT 仅对少量参数进行战略性修改,同时保留预训练模型的大部分结构。以下是进行这些修改的一些示例方法:
冻结模型层:在推理过程中,计算会经过神经网络的所有层。通过冻结其中一些层,可以减少执行计算所需的处理能力。
添加适配器:可以把适配器想象成棋盘游戏的扩展包。将适配器添加到预训练模型中的相应层上,并进行训练来学习特定于域或特定于应用的信息。在这种情况下,原始模型不会发生更改,但会获得新功能。
可使用多种方法来执行 PEFT,包括:
- LoRA(低秩自适应)
- QLoRA(量化低秩自适应)
- 前缀调优
- 提示词调优
- P 调优
什么是微调?
微调是向 LLM 传达意图的一种方式,以便模型根据您的目标提供量身定制的输出。
想象这样的场景:一个 LLM 或许能够用莎士比亚风格撰写电子邮件,但它对公司所提供产品的细节一无所知。
要使用您独有的信息训练模型,您可以采用微调技术。
微调是指利用更具针对性的数据集对经过预先训练的模型进一步训练的过程,这样可以使模型有效执行独特任务。这些额外的训练数据会修改模型的参数,并生成一个取代原始模型的新版本。
若要针对特定于域的用例打造个性化的 LLM,微调至关重要。但是,传统微调是有代价的。
为什么微调如此昂贵?
一些因素导致了 LLM 微调成本高昂,例如:
- GPU 要求:微调需要大量处理能力。图形处理单元(GPU)的购买和运行成本高昂,并且在微调过程中需要长时间运行。此外,电力消耗和散热也可能成本不菲。
- 数据要求:使用新信息微调 LLM 时,所需的数据集必须具备高质量且进行正确标记。此类数据的获取、构建和预处理可能既昂贵又耗时。
哪种 LLM 对齐技术适合我?
LLM 对齐指的是训练和个性化语言模型以生成所需输出结果的过程。
在不同的 LLM 对齐技术间做决定时,请考虑以下因素:
- 数据依赖性:您需要多少数据?您是否能够获取正常运行该技术所需的数据?
- 准确性:进行调优后,该技术对模型准确性的影响有多大?
- 用户使用复杂性:它使用起来有多简单?
与传统微调相比,PEFT 所需的数据更少、准确率非常高,并且更简单易用。
其他值得探索的 LLM 对齐选项包括:
- 检索增强生成(RAG):RAG 可以用您选择的外部知识源(例如数据存储库、文本集合和既有文档)来补充 LLM 中的数据。
- RAG 对数据的依赖性较高,但具有较高的准确率,且使用复杂度低于微调。 您可以查看 RAG 与微调的对比。
- InstructLab:InstructLab 社区项目由 IBM 和红帽创建,企业组织中的任何人都能在该社区贡献知识和技能,所有这些内容都会整合到一个语言模型中。
- InstructLab 对数据的依赖性较低,因为它使用合成数据来补充人类生成的数据。其准确率与微调相当,用户使用复杂度则非常低。
红帽能如何提供帮助
参数高效微调是红帽® OpenShift® AI 支持的多项对齐技术之一。
OpenShift AI 是一个灵活且可扩展的 MLOps 平台,可用于构建、部署和管理 AI 应用。OpenShift AI 可为本地环境和公共云中的 AI/ML 实验和模型提供覆盖整个生命周期的支持。
红帽® AI 是一系列产品与服务的组合,能够在您企业 AI 旅程的任何阶段提供帮助,无论您是刚刚起步,还是准备在混合云环境中进行扩展。针对您企业独特的用例,它既能支持生成式 AI ,也能支持预测性 AI 相关工作。
红帽 AI 依托开源技术和广泛的合作伙伴生态系统,致力于在各类基础架构上实现卓越的性能、稳定性以及 GPU 支持。它能对小型、专用的模型进行高效微调,并且可灵活地在数据所在的任何位置进行部署。