【课程笔记】华为 HCIP-AI Solution Architect 人工智能07:模型微调算法和工具简介
目录模型微调算法和工具简介一、大模型微调算法1. 大模型微调种类2. 高效微调技术二、大模型微调开源工具。
模型微调算法和工具简介
目录
一、大模型微调算法
1. 大模型微调种类
(1) 大模型微调的种类
大模型微调的假设前提:
①大模型仍然是欠拟合的
②模型预训练数据分布与特定任务数据分布不一致
Continue PreTraining(增量预训练):通过增加领域数据提升模型在特定领域的知识和能力
L0 基础大模型(自然语言大模型) -> L1行业大模型(政务大模型、金融大模型)
Supervised Finetuning(有监督微调):激发大模型理解领域内的各种问题并回答的能力
人工设计问题 -> 标注人员给出高质量答案 -> 用这些答案对微调
RLHF(奖励建模、强化学习训练):通过RLHF可以让大模型的回答对齐人类的偏好
随机抽取新的问题 -> 训练模型给出答案 -> 用奖励模型给输出的答案排序打分,反复训练模型
(2) 大模型增量预训练
冻结大部分参数而只训练少部分参数是一种常见且有效的策略。尤其在增量数据量不大的情况下,可以减少训练时间和资源消耗、同时避免过拟合
(3) 大模型指令微调 - SFT
指令微调(Instruction Tunning)是指通过构建指令格式的实例,然后以有监督的方式对大语言模型进行微调。指令格式通常包含任务描述,一对输入输出以及示例(可选)
(4) 大模型对齐微调 - RLHF
用人类更喜欢的数据去做训练:
①真实性:是虚假信息还是误导性信息?
②无害性:它是否对人或环境造成身体或精神上的伤害?
③有用性:它是否解决了用户的任务?
训练阶段 | 作用 |
---|---|
预训练 | 赋予大模型知识量,处理时间长,成本高 |
SFT有监督微调 | 对齐大模型回答问题方式 扩展知识面(下游任务) |
RLHF人类反馈强化学习 | 对齐人类价值观,解决大模型输出无关的、有害的答案 |
2. 高效微调技术
(1) 高效微调技术
高效微调技术可以粗略分为以下三大类:增加额外参数(Addition-Based)、选取一部分参数更新(Selection-Based)、引入重参数化(Reparametrization-Based)
而在增加额外参数这类方法中,又主要分为类适配器(Adapter-like)方法和软提示(Soft prompts)两个小类
①增加额外参数Addition-Based,如:Prefix Tuning、Prompt Tuning、Adapter Tuning及其变体
②选取一部分参数更新Selection-Based,如:BitFit
③引入重参数化Reparametrization-Based,如:LoRA、AdaLoRA、QLoRA
(2) 常见的大模型微调方法
大模型有多种微调方法,核心思想是尽可能“不动”或者“少动”预训练模型参数,达到提升模型在特定领域或者特定下游任务的能力。如下几种都可用于指令微调
(3) 大模型微调方法 - Prompt Tuning
(4) 大模型微调方法 - P-Tuning
(5) 大模型微调方法 - Prefix Tuning
(6) 大模型微调方法 - LoRA
(7) 主流大模型微调技术对比
LoRA没有额外的推理延时,减少内存和存储资源消耗,大致收敛于训练原始模型,运用最广
Adapter Tuning添加适配器层引入额外的计算,带来推理延迟
Prefix Tuning难以优化,性能随可训练参数规模非单调变化
P-Tuning前缀保留部分序列长度会减少下游任务的序列输入长度
总结
微调方式 | 原理 |
---|---|
Prompt Tuning | 在Embedding层中添加新的参数进行微调 |
P-Tuning | 在Prompt Tuning基础上,添加LSTM或者MLP模型,加速模型微调速度 |
Prefix Tuning | 自注意机制中,在Key和Value的基础上添加新的参数进行训练 |
LoRA | 通过低秩分解方式,获取模型参数中关键参数,针对关键参数进行微调即可 |
前三个微调方式,都会在模型基础上添加新的参数,增加模型推理阶段的时延,而LoRA不会添加新的参数,推理过程速度更快一些
常见的微调种类:
①增加额外参数:Prefix Tuning、Prompt Tuning、Adapter Tuning
②选择部分参数更新:BifFiT
③引入重参数化:LoRA、AdaLora、QLora
有监督微调:高效参数微调(使用少量的模型参数,进行模型训练的过程)
二、大模型微调开源工具
(1) Huggingface Transformers
(2) Huggingface PEFT
(3) Huggingface TRL
(4) 微软DeepSpeed
(5) DeepSpeed-Chat
(6) MindPet
更多推荐
所有评论(0)