《大语言模型:原理与工程实践》-有监督微调和强化对齐
本帖最后由 rtyu789 于 2024-9-27 00:21 编辑# 一、有监督微调
在预训练中,通常使用大规模的无监督数据进行训练,但是这不能解决特定的任务,所以需要收集符合人类需求的有监督数据进一步微调模型
其中有监督微调的主要作用有:
1. 定制化任务适应能力
2. 提升泛化能力
3. 减少数据需求
4. 灵活性和可迁移性
对于使用有监督微调,主要的应用场景有以下类型:
1. 问答系统
2. 信息检索和推荐系统
3. 机器翻译
4. 文本生成和摘要
5. 文本分类和情感分析
# 二、指令微调方法
大语言模型中主要使用的微调方法有以下:
## 2.1 全参数微调(Full Fine-tuning,FFT)
描述:最直接的微调方法,模型中的所有参数都会被更新,会修改模型的权重
优点:充分适应新的任务
缺点:需要较多的计算资源
## 2.2 适配器微调
描述:在前馈层和多头注意力层之间添加了适配器层,只对适配器层进行参数优化,减少计算资源需求
优点:是一种易于扩展的解决方案,通过适配器层解决全微调和灾难性遗忘的问题
!(/data/attachment/forum/202409/27/001701siz5szyys0bg77tw.jpg.thumb.jpg?rand=4697.321736604745)
## 2.3 前缀微调(Prefix Tuning)
描述:在输入序列中添加提示作为前缀来引导模型完成特定任务
优点:只需要存储大语言模型以及已知任务特定前缀的副本,降低了计算和存储的开销
!(/data/attachment/forum/202409/27/001702rfpbzn6wczuiizv8.jpg.thumb.jpg?rand=1501.2538140463082)
## 2.4 提示微调(Prompt Tuning)
描述:轻量级的微调技术,仅仅修改提示词信息来提高生成质量
优点:主需要修改模型的输入,无需对整个模型进行微调,节约了时间和成本
## 2.5 低秩微调(LoRA)
描述:在原始大语言模型的权重旁添加一个旁路镜像降维和升维的操作,只需要要对降维和升维矩阵B进行训
优点:参数量小,对算力和存储的需求小;LoRA微调会生成单独的模块,可以和其他微调方法
!(/data/attachment/forum/202409/27/001703m80nkqpkta9oqlwk.jpg.thumb.jpg?rand=3798.066671405329)
接下来,文章还介绍了大模型的微调和推理策略,主要有以下几种:
1. 混合微调策略
2. 基于上下文学习的推理策略
3. 基于思维连的推理策略
!(/data/attachment/forum/202409/27/001840abaegmzt4bztkeep.jpg.thumb.jpg?rand=4167.769168931867)
但在大模型的微调中,也存在一些问题,比如会产生的模型的幻觉,大模型微调的幻觉问题的解决方式主要有以下几种:
1. 数据多样性
2. 对抗训练
3. 多任务学习
4. 模型结构设计
# 三、大语言模型强化对齐
# 3.1 强化学习的基础
强化学习可以看做是智能体和环境交互学习的过程,指的是智能体在面对环境的不同状态时,能采集合理的动作进行回应,以获得最大的回报
强化学习一般分为两个阶段:
1)智能体按照策略和环境进行多次交互,形成经验,这个过程被称为**探索**,这个阶段形成的策略称为行为策略
2)智能体按照某些算法从经验中学习,优化自己的策略,这个过程称为**学习**,这个阶段形成的策略称为目标策略
强化学习中主要有两类方法:
1. DQN方法
2. 策略梯度方法
# 3.2 大语言中的强化模型
大语言中的强化模型主要有以下几类:
1. (词令级别)Token-level强化模型
2. (句子级别)Sentence-level强化建模
# 3.2 RLHF算法
主要分为以下三个步骤
1. 预训练一个语言模型
!(/data/attachment/forum/202409/27/001837po0m15secomcg13d.jpg.thumb.jpg?rand=6203.436354484553)
2. 聚合问答数据并训练一个奖励模型
!(/data/attachment/forum/202409/27/001847dnadynzbzzsfnfnf.jpg.thumb.jpg?rand=2610.305206283954)
3. 用强化学习方式微调语言模型
!(/data/attachment/forum/202409/27/001847amnptpenthw9fshv.jpg.thumb.jpg?rand=8946.007756036504)
# 四、总结
在学习这两章内容的同时,自己也在互联网上进行了搜索,发现互联网上的确有很多扩展的资料,可能对某一方面的论述更加的充分,但是无法展现整个内容的全貌,但是从书籍中可以更加全貌的了解
# 参考资料
[大模型LLM-微调 Adapter Tuning](https://blog.csdn.net/leah126/article/details/140877949)
[大模型微调实战:基于 LLaMAFactory 通过 LoRA 微调修改模型自我认知](https://www.lixueduan.com/posts/ai/05-finetune-llamafactory)
(https://arxiv.org/abs/2106.09685)
<p>太难了,需要较多的计算资源的</p>
页:
[1]