模型微调算法和工具简介

目录

模型微调算法和工具简介

一、大模型微调算法

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

Logo

更多推荐