GLM4是清华智谱团队最近开源的大语言模型。以GLM4作为基座大模型,通过指令微调 的方式做高精度文本分类,是学习LLM 微调 的入门任务。

显存要求相对较高,需要40GB左右。
在本文中,我们会使用 GLM4-9b-Chat模型在 复旦中文新闻数据集上做指令微调训练,同时使用SwanLab监控训练过程、评估模型效果。
- 代码:完整代码直接看本文第5节 或 Github、Jupyter Notebook
- 实验日志过程:GLM4-Fintune - SwanLab
- 模型:Modelscope
- 数据集:zh_cls_fudan_news
- SwanLab:https://swanlab.cn
相关文章:Qwen2指令微调
知识点:什么是指令微调?
大模型指令微调(Instruction Tuning) 是一种针对大型预训练语言模型的微调技术,其核心目的是增强模型理解和执行特定指令 的能力,使模型能够根据用户提供的自然语言指令准确、恰当地生成相应的输出或执行相关任务。
指令微调特别关注于提升模型在遵循指令方面的一致性和准确性,从而拓宽模型在各种应用场景中的泛化能力和实用性。
在实际应用中,我的理解是,指令微调更多把LLM看作一个更智能、更强大的传统NLP模型(比如Bert) ,来实现更高精度的文本预测任务 。所以这类任务的应用场景覆盖了以往NLP模型的场景,甚至很多团队拿它来标注互联网数据 。
下面是实战正片:
1.环境安装
本案例基于Python>=3.8,请在您的计算机上安装好Python,并且有一张英伟达显卡(显存要求并不高,大概10GB左右就可以跑)。
我们需要安装以下这几个Python库,在这之前,请确保你的环境内已安装了pytorch以及CUDA:
代码语言:txt
swanlab
modelscope
transformers
datasets
peft
accelerate
pandas
tiktoken
一键安装命令:
代码语言:bash
pip install swanlab modelscope transformers datasets peft pandas accelerate tiktoken
本案例测试于modelscope1.14.0、transformers4.41.2、datasets2.18.0、peft0.11.1、accelerate0.30.1、swanlab0.3.10、tiktokn==0.7.0,更多环境细节可以查看这里
2.准备数据集
本案例使用的是zh_cls_fudan-news数据集,该数据集主要被用于训练文本分类模型。
zh_cls_fudan-news由几千条数据,每条数据包含text、category、output三列:
- text 是训练语料,内容是书籍或新闻的文本内容
- category 是text的多个备选类型组成的列表
- output 则是text唯一真实的类型

数据集例子如下:
代码语言:txt
"""
[PROMPT]Text: 第四届全国大企业足球赛复赛结束新华社郑州5月3日电(实习生田兆运)上海大隆机器厂队昨天在洛阳进行的第四届牡丹杯全国大企业足球赛复赛中,以5:4力克成都冶金实验厂队,进入前四名。沪蓉之战,双方势均力敌,90分钟不分胜负。最后,双方互射点球,沪队才以一球优势取胜。复赛的其它3场比赛,青海山川机床铸造厂队3:0击败东道主洛阳矿山机器厂队,青岛铸造机械厂队3:1战胜石家庄第一印染厂队,武汉肉联厂队1:0险胜天津市第二冶金机械厂队。在今天进行的决定九至十二名的两场比赛中,包钢无缝

最低0.47元/天 解锁文章
22万+

被折叠的 条评论
为什么被折叠?



