从零开始大模型微调 | 手把手教你如何使用LLaMA-Factory进行微调
和。
一、为什么要使用LLaMA-Factory进行微调?
在处理大模型微调的工作中,我们常常会面临各种棘手的问题。比如,传统的微调方法不仅复杂繁琐,还对技术和资源有着很高的要求,让很多人望而却步。然而,LLaMA-Factory 的出现改变了这一局面。
它最大的优势就是让大模型的微调变得轻而易举。不再需要您具备深厚的技术功底和大量的计算资源投入,就能实现对模型的优化和改进。
同时,在模型量化方面,它能够有效地压缩模型的规模,大大减少了模型运行所需的计算量和存储空间。这意味着您可以在性能稍弱的设备上也能流畅地运行模型,使其应用不再受限于高端硬件。
还有很重要的一点,LLaMA-Factory 提供了一站式的服务。从开始的模型微调,到中间的量化处理,再到最后的顺利运行,整个过程一气呵成,无需您在不同的工具和流程之间来回折腾,节省了大量的时间和精力。
二、如何使用LLaMA-Factory进行微调?
安装
使用它,比较简单,首先需要到它的github地址:github.com/hiyouga/LLa… 下载这个项目代码,你可以使用git clone 下载 该代码。
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
下载到本地后进入项目目录,安装相关依赖。
pip install -e .[metrics]
注:
-e
表示以可编辑(editable)模式安装当前目录下的项目。这意味着安装后,你对项目源代码的修改会直接反映在已安装的版本中,无需重新安装。点(.)表示当前目录,即要安装当前目录下的项目。
如果安装完成后,可以通过如下命令检查是否安装成功
llamafactory-cli version
如果安装成功,会返回类似如下内容:
| Welcome to LLaMA Factory, version 0.8.3.dev0 | | | | Project page: github.com/hiyouga/LLa… |
启动
安装完成之后,可以启动查看它的WebUI界面,在界面上更加方便我们微调模型。
llamafactory-cli webui
命令执行之后,出现如下响应代表成功启动了webui界面。
默认开启端口7860,在浏览器中输入地址即可访问。
这里有很多的参数,不过大多数参数并不需要改动,使用默认的即可。其他的参数用到时再说。
数据准备
LLaMA-Factory提供了很多内置的数据可供微调,在界面的数据集选择框中可以选择,不过我们微调肯定是希望使用自己准备的数据,下面就说下如何准备自己的数据。
目前LLaMA-Factory 只支持两种格式的数据集,alpaca 格式和 sharegpt 格式。我们只需要按照格式准备数据,然后将数据文件放入到 LLaMA-Factory项目的 data 目录下,然后在 dataset_info.json中 填写 你自定义的数据集名称和 你的数据集文件名称 即可。
Alpaca 格式
需要注意的是,该格式数据集包括 指令监督微调数据集、预训练数据集、偏好数据集、KTO 数据集和多模态数据集等不同类型的格式。
指令监督微调数据集
在指令监督微调时,instruction
列对应的内容会与 input
列对应的内容拼接后作为人类指令,即人类指令为 instruction\ninput
。而 output
列对应的内容为模型回答。
如果指定,system
列对应的内容将被作为系统提示词。
history
列是由多个字符串二元组构成的列表,分别代表历史消息中每轮对话的指令和回答。注意在指令监督微调时,历史消息中的回答内容也会被用于模型学习。
例如 data.json的内容如下:
[
{
"instruction": "人类指令(必填)",
"input": "人类输入(选填)",
"output": "模型回答(必填)",
"system": "系统提示词(选填)",
"history": [
["第一轮指令(选填)", "第一轮回答(选填)"],
["第二轮指令(选填)", "第二轮回答(选填)"]
]
}
]
对于上述格式的数据,dataset_info.json
中的数据集描述应为:
json体验AI代码助手代码解读复制代码{"自定义数据集名称": {
"file_name": "data.json",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output",
"system": "system",
"history": "history"
}
}
columns字段里的内容可以省去不写,可以简写为:
"数据集名称": {
"file_name": "data.json"
}
预训练数据集
在预训练时,只有 text
列中的内容会用于模型学习。
data.json内容如下:
[ {"text": "document"}, {"text": "document"}]
对于上述格式的数据,dataset_info.json
中的数据集描述应为:
json体验AI代码助手代码解读复制代码"数据集名称": {
"file_name": "data.json",
"columns": {
"prompt": "text"
}
}
更加详细的数据格式介绍可以到官方文档查看:github.com/hiyouga/LLa…https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md
具体的实际数据格式都在 data 目录下的 dataset_info.json 文件,比如下面的法律方面的数据:
在微调模型的过程中,最麻烦的莫过于准备数据了,因为训练或微调需要的数据只能是特定格式的数据,你不可能把混乱的、自己都看不懂的数据交给模型去训练。那如何将混乱的原始数据转为特定格式的数据,是模型微调前要准备的。
开始微调
当准备好数据之后,剩下的就交给LLaMA-Factory吧,操作起来还是比较简单的。
基本的过程如下:
- 启动WebUI界面,启动命令 :llamafactory-cli webui
- 选择基础模型
- 选择一个或多个你准备好的数据集
- 选择微调方法,默认是lora,还可以选择full(全量微调)、freeze (冻结微调)。
- 设置训练参数,比如学习率、训练轮数、批处理大小、
- 点击开始按钮,开始进行微调,在右边会出现模型的损失曲线图。当下面显示训练完毕时,就训练完成了。
- 微调结果的lora权重参数在输出目录下可以看到,配置路径也被保存起来了。
- 训练过程中,你可以选择中断训练,然后在检查点输入 之前 lora权重的目录,就可以在之前的训练结果上接着训练了。
如果你不想通过界面微调的话,可以点击预览命令,那么会显示微调的命令,你拷贝这个命令就可以在命令行执行。
模型评估
模型评估完成后会在界面上显示评估数据集的分数。其中,ROUGE分数衡量了模型输出答案和评估集中的标准答案的相似度,ROUGE分数越高代表模型学习得越好。
对话测试
在Web UI的 界面 Chat页签下,通过使用你之前微调结果的输出的检查点路径,加载微调后的模型进行对话测试。先点击加载模型,然后就可以在下面的文本框中输入文本了。
如果你想看没有微调的效果是如何的,取消检查点路径中选中的路径即可。
模型导出
在Web UI的 界面 Export 页签下,填写你要保存的输出地址,然后点击开始导出即可。
如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】
更多推荐
所有评论(0)