2024-01-06-AI 大模型全栈工程师 - 基于 ChatGLM2的 Fine-tuning 实战
摘要
2024-01-06 周六 杭州 晴
本章内容:
- Hugging Face 是什么?
答: 相当于 NLP 的 github ; 基于 transformer 的开源模型非常全; - ChatGLM2 基础使用
课程内容
1. Hugging Face 安装
pip install transformers
pip install transformers == 4.30
# conda 安装
conda install -c huggingface transformers
2. 小参数量微调
a. Prompt Tuning
a.1 在输入序列前,额外加入一组伪 Embedding 向量
a.2 仅训练这组伪 Embedding ,从而达到参数微调效果
b. P-Tuning
b.1 只用一个生成器生成上述伪 Embedding
b.2 只有生成器的参数是可训练的
c. Prefix-Tuning
c.1 伪造前面的 Hidden States
c.2 仅训练伪造的这个 Prefix
d. LORA
d.1 在 Transformer 的参数矩阵上加一个低秩矩阵(A*B)
d.2 只训练 A,B
d.3 理论上可以把上述方法应用于 Transformer 中的任意参数矩阵,包括 Embedding 矩阵
d.4 通常应用于 Query,Value 两个参数矩阵
e. AdaLORA
e.1 不预先指定可训练矩阵的秩
e.2 根据参数矩阵的重要性得分,在参数矩阵之间适当的分配参数预算
3. 实战1: 基于 Prefix-Tuning 微调 ChatGLM-6B
a. 数据准备
法律领域阅读理解: xxxx
b. ChatGLM 数据加载方式分析
实验本地完成
c. 数据预测
4. 实战2: 基于 LORA 微调 ChatGLM-6B
a. 编写训练代码
b. 训练效果
c. 大模型训练过程
5. 实战3: 训练自己的模型
本地自己独立完成
总结
小记: 学会训练自己的大语言模型,进行微调从而满足自己业务的相关需求,这个在特定的业务领域将会大有裨益。杭州的冬天还是有点冷的,所以对于健身的活动就减少了,我要寻找一个暖和的城市,开始自己下一段旅途。
后会无期,未来可期!