2025年深入LLM微调:技术细节、**实践与未来发展方向

深入LLM微调:技术细节、**实践与未来发展方向随着 LLM 技术的蓬勃发展 生成式 AI 领域具有前所未有的发展机遇 其中以 ChatGPT 为代表的大语言模型给人们带来了惊喜的同时 也将 AI 浪潮推向了最高峰 ChatGTP LLaMA2 等通用大模型具备优秀的推理性能 但在面对复杂多变的业务场景时 往往难以满足多样化的需求

大家好,我是讯享网,很高兴认识大家。

随着LLM技术的蓬勃发展,生成式AI领域具有前所未有的发展机遇,其中以ChatGPT为代表的大语言模型给人们带来了惊喜的同时,也将AI浪潮推向了最高峰。

ChatGTP、LLaMA2等通用大模型具备优秀的推理性能,但在面对复杂多变的业务场景时,往往难以满足多样化的需求。ChatGPT等通用大模型通常需要经过复杂漫长的训练过程,预训练期间需要巨大的算力和存储消耗,大多场景下从0到1训练一个模型不仅成本高昂,而且没有必要,因此基于预训练的模型并对其进行微调成为有价值的研究方向。微调预训练的通用大模型,不仅可以节约成本,也可以使模型更符合特定领域的需求,变得更定制化、专业化。如下图所示,用户基于预训练的基础模型采用合适的微调技术,以定制化的数据集作为输入,经过微调训练最终可输出一个性能更优的微调模型。本文主要调研并梳理了LLM微调常规流程及常用技术,其中介绍了Fine-Tuning(全量参数微调)及Parameter-Efficient Fine-Tuning(高效参数微调),RLHF(基于人类反馈的强化学习),Fine-Tuning全量参数微调成本巨大,应用较少。鉴此本文重点介绍Adapter、Prefix Tuning、LoRA、RLHF 4种常用微调技术的原理,通过归纳整理相关论文及资料,为模型微调工作的技术选型提供参考。


讯享网

一、基本概念

1、微调的定义

首先对模型微调下个非严谨的定义,大模型微调(Fine-tuning)是指在预训练模型基础之上,采用标注的高质量数据集或基于人类反馈机制对基础模型进行训练,最终输出具备或增强特定领域能力模型的技术。

2、微调的必要性

全量训练成本高昂

据国盛证券报告《ChatGPT 需要多少算力》估算,GPT-3 训练一次的成本约为 140 万美元,对于一些更大的 LLM(大型语言模型),训练成本介于 200 万美元至 1200 万美元之间。以 ChatGPT 在 1 月的独立访客平均数 1300 万计算,其对应芯片需求为 3 万多片英伟达 A100 GPU,初始投入成本约为 8 亿美元,每日电费在 5 万美元左右。因此全量训练极其高昂,一般企业难以承受。

通用模型难以满足特定领域需求

例如,通用的语言大模型,经过高质量的医疗数据训练,可更加专业的进行医疗对话。在面对“感冒了怎么办?”之类的专业问题,微调前的模型回答可能相对宽泛,比如多喝水,症状严重时注意看医生等,但微调后的模型会基于与用户的多轮对话上下文,给出更精准、更专业的回答,经过医疗数据集微调后的模型,在面对医疗专业知识领域时,将具备更优的性能。

3、微调的价值

经过微调后的模型具备更强的专业能力,诸如在问题回答、语言生成、命名实体识别、情感分析、摘要生成、文本匹配等领域具备更优的性能。例如,基于财经新闻数据的预训练模型经过微调后能够在金融分析、股票预测等领域表现出色;基于医疗数据的预训练模型经过微调后能够提供患者更精准的医疗咨询和用药建议。模型微调后将具备更专业化、特定化的推理能力。

二、微调技术

1、微调流程

模型微调是一个循序渐进、不断优化迭代的系统工程,一般需要经过模型选取、任务定义、数据准备、策略选择、模型配置、模型微调、结果评估、优化迭代、模型测试、模型部署等流程,通过系统化、流程化的模型微调,将输出令人满意的结果。具体步骤简述如下:

  • 模型选取

    选取一个优秀的基础大模型,比如OpenAI的ChatGPT,Meta的LLaMA2等,成熟的大模型有大厂背书及活跃的社区支持,可以具备高质量的模型能力。

  • 任务定义

    定义一个特定领域的任务,比如上文所述的医疗问答任务。

  • 数据准备

    收集标签化的专业数据,比如上文的医疗问答数据可分为训练集和测试集,一部分用于训练,一部分用于测试。

  • 策略选择

    选择合适的模型微调策略,比如下文将详细描述的PERT或RLHF,选择更适合的微调技术。

  • 模型配置

    以第一步选取的基础模型作为起点,完成模型微调前的前置配置。

  • 模型微调

    基于选择的微调技术,不同不断的迭代训练模型,期间不断调整参数并监控模型的损失函数即精准度。

  • 结果评估

    使用测试数据集验证微调后模型的优劣

  • 优化迭代

    基于上一步评估的结果,不断迭代微调过程直到达到满意的预期效果。

  • 模型测试

    使用验证模型的性能。

  • 模型部署

    将微调后满足预期的模型部署后等待投入推理使用

2、Fine-Tuning

Fine-Tuning指的是全量参数微调,训练时间成本高。一般较少使用,因此本文重点介绍高效参数微调,通过冻结参数,局部微调,显著提供微调效率。

3、PERT

  • Adapter

    在《Parameter-Efficient Transfer Learning for NLP 》论文中提出了Adapter方法,论文指出对预训练模型每层中插入下游任务参数,微调时冻结模型主体参数,仅训练特定任务的参数,最终显著减少训练过程中产生的算力成本。为论证Adapter方法的有效性,论文作者基于BERT Transformer模型,对26种类别的文本任务进行GLUE基准测试,最终Adapter展示了令人满意的效果,在GLUE基准测试中,相比较于100%的全量参数微调,每个任务在仅添加3.6%参数的情况下,仅有0.4% 以内的性能差异。

    如下图所示,Adapter结构在Transformer Layer中加入Adapter Layer,位置分别位于多头注意力的投影之后及第二个前馈层之后,训练时固定原始预训练模型参数,仅对新增的Adapter及Layer Norm层进行微调。其中每个Adapter 由2个Feedward前馈层组成,首个前馈层接受Transformer输出作为输入,通过将高维特征d投影至低维特征m以控制模型参数量,低维特征m经过中间非线性层输出,第二个前馈层将低维特征m反向还原为高维度特征d,最后作为Adapter的输出。

经实验结果表明,通过添加并训练少量参数,Adapter方法的性能可媲美全量微调,论证了Adapter方法可作为一种高效的参数微调方法。

  • Prefix Tuning

    基于Prompt的设计灵感斯坦福大学团队在论文中提出的一种通过冻结模型参数,通过连续的特定任务向量而实现的更轻量级模型微调技术。Prefix Tuning属于连续的模板构建,通过把传统人工设计模版中的token替换成可微调的Virtual Token。其中模型输入前添加的连续的针对特定任务的向量序列我们称之为Prefix,通过更新特定任务的Prefix参数大幅提高微调效率。

对于Decoder-only的GPT,prefix只加在句首,模型的输入表示为:

对于Encoder-Decoder的BART,prefix同时加在编码器和解码器的开头:

如下图所示,在下游任务微调时,模型参数被冻结,之后Prefix部分参数被更新,显著提高训练效率。

  • LoRA

Prefix Tuning通过输入序列的前缀加入prefix token,引导模型模型提取x特征相关的信息,以便更好的生成结果y。训练微调过程中,我们只需要冻结模型其余参数,仅单独训练prefix token相关参数即可,每个下游任务均可单独训练一套prefix token,Prefix-Tuning虽然过程看似方便,但也存在以下弊端:

  • 训练难度大

    原始论文指出,训练模型的效果并非严格随prefix参数量单调递增

  • 会降低原始文字prompt表达能力

    为节省计算量和显存,我们一般会固定数据的输入长度,增加prefix之后,留给原始文本数据的空间会被挤压,因此可能会降低原始文本prompt的表达能力,使得输入层有效信息减少。

Prefix Tuning训练难度大,那是否有其他的微调方法呢?LoRA(Low-Rank Adaptation)是微软研究团队提出的一种通过冻结预训练模型参数,在Transformer每一层中加入2个可供训练的A、B低秩旁路矩阵(其中一个矩阵负责降维、另一个负责升维),可大幅减少微调参数量的方法。LoRA整体架构如下图:

如图左侧表示全参微调的场景,参数分为和两部分:

  • :预训练权重 

    讯享网
  • :微调增量更新权重

全参微调可视为冻结的预训练权重W+微调过程中产生的增量更新权重 ,假设输入为x,输出为y,则有 。

如图右侧表示LoRA微调场景,我们用矩阵A和矩阵B近似表示 :

  • 讯享网:低秩矩阵A,其中r被称为“秩”,对A进行高斯初始化。 
  • :低秩矩阵B,对B采用零初始化。 

经过拆分,我们将 改写成 的等价形式,微调参数 从降为 ,同时不改变输出数据的维度,即在LoRA下我们可以定义为: 。

其中,论文指出对于AB两个低秩矩阵,会使用超参α(常数)来做调整,以适配更优的微调性能。基于LoRA架构,在原始预训练矩阵的旁路,我们用低秩矩阵A和B来近似代替增量更新权重 ,训练过程中通过固定预训练权重 ,只对低秩矩阵A和B进行微调训练,可大幅提高效率,据论文统计,采用LoRA方法在微调GPT3 175B时,显存消耗从1.2TB降至350GB,极大的降低了训练开销。

4、RLHF

RLHF(Reinforcement Learning from Human Feedback)是基于人类反馈的强化学习。传统基于prompt提示词生成的结果相对主观并依赖上下文,缺少人类的偏好和主观意见。RLHF中使用人类反馈作为性能衡量标准,不断通过反馈结果来优化模型,可使训练后的模型更符合人类预期。RLHF涉及多个模型和多个训练阶段,一般分为以下3大核心步骤:

  • 预训练模型

    使用标注过的数据来调整预训练模型参数,例如OpenAI在其InstructGPT中采用较小版本的GPT-3,Anthropic使用1000万-52B参数的Transformer进行训练使其更好的适应特定任务领域。

  • 训练奖励模型

    RM奖励模型用于评估文本序列质量,它接收一系列文本并返回数值,数值对应人类的偏好程度。训练数据通常由多个语言模型生成的文本序列组成,这些序列经过人工评估或使用其他模型(比如ChatGPT)进行打分。奖励模型不断指导模型生成更符合人类预期的高质量文本。

  • 基于强化学习微调

    利用上一步输出的奖励值,采用强化学习进一步微调,在强化学习中需要定义状态空间、动作空间、策略函数及价值函数。其中,状态空间使输入的序列分布,动作空间是全量的token(词汇表中的词),价值函数基于奖励模型的输出和策略约束,用于评估给定状态下采取特定动作的价值,策略函数根据当前状态选择下一个动作(token),最大化奖励。

三、讨论与展望

本文重点介绍了几种常用微调技术,各种技术的特点描述总结如下表所示:

模型微调过程中可根据实际场景选择合适的微调方案,以获得更优的性能。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

img

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

img

小讯
上一篇 2025-03-15 21:17
下一篇 2025-03-15 07:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/119198.html