文章目录
- 前言
- 技术简介
- 一、autodl注册、认证、充值
-
- 1.1、autodl注册与认证
- 1.2、个人认证:学生认证
- 1.3、费用充值
- 二、服务器租赁
-
- 2.1、算力市场租赁服务器
- 2.2、租赁RTX4090(24G)服务器与社区镜像选择
- 三、服务器开机与JupyterLab控制台
-
- 3.1、开机服务器
- 3.2、打开JupyterLab
- 四、模型部署、数据集准备以及模型启动
-
- 4.1、点击新手教程
- 4.2、终端部署模型
- 4.3、数据集准备
- 4.4、数据集保存
- 4.5、可视化界面展示
- 五、自定义服务、SSH连接
-
- 5.1、自定义服务
- 5.2、SSH连接
- 六、模型微调
-
- 6.1、数据集选择
- 6.2、设置迭代轮数
- 6.3、修改保存目录名
- 6.4、模型微调
- 七、模型对话、卸载
-
- 7.1、Chat模式
- 7.2、加载模型
- 7.3、模型对话
- 7.4、模型卸载
- 八、模型导出
-
- 8.1、模型导出
- 8.2、模型导出路径地址选择
前言
①问题:在网上找了很多大模型微调的视频和案列教程,大多数博客内容不详细或者基本上都是卖课为主,所以我将进行图文详解,如何在autodl租赁4090服务器,通过LLaMA-Factory框架使用LoRA微调Qwen大模型、模型对话、模型导出等。
②内容较长,若想学习大模型基本的微调流程,请耐心按照步骤完成。
亲爱的家人们,创作很不容易,若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力,谢谢大家!有问题请私信或联系邮箱:fn_kobe@163.com
技术简介
1、大模型微调意义 ①适应下游需求:将通用预训练模型针对特定任务进行适配,以获得更好效果。 ②节省成本:不必从头训练大型模型,只需在预训练模型上进行少量参数更新。 ③灵活高效:快速更换或组合不同任务,满足多变的业务场景需求。
2、微调流程 ①数据准备:收集并清洗与目标任务相关的数据,划分训练/验证/测试集。 ②设置训练参数:如学习率、批大小、训练轮数等,并考虑早停策略。 ③选择微调策略:确定是全量微调还是部分参数微调。 ④训练监控:实时跟踪训练和验证指标,并适时调整超参数。 ⑤评估与部署:使用测试集评估模型性能,部署上线或进一步迭代。
3、Hugging Face 及其工具 ①Transformers:提供多种预训练模型(BERT、GPT、T5 等)的加载与微调接口。 ②Datasets:便捷管理和处理开源及自定义数据集。 ③Accelerate:简化多 GPU 或分布式训练设置。 ④Model Hub:海量预训练/微调后的模型供下载或二次开发。
4、三种典型微调方式 ①LoRA(Low-Rank Adaptation) i:将部分权重分解成低秩矩阵并只微调这些增量参数,大幅减少训练开销;在保持较好性能的同时,显著降低显存和计算量。
②Full-Tuning(全量微调) i:对模型的全部可训练参数进行更新,能充分发挥模型潜力;适用于数据量和算力资源充足、对精度要求极高的场景。
③Freeze 微调(冻结部分层) i:固定大部分层的参数,仅微调少数层(通常是模型后几层或某些模块);训练效率高,节省资源,但对任务的适配能力可能不如全量微调。
一、autodl注册、认证、充值
1.1、autodl注册与认证
①登录平台AutoDL:https://www.autodl.com/login进行注册与登录。
1.2、个人认证:学生认证
①上传相应信息和证件进行认证即可。
1.3、费用充值
①点击充值费用即可。
二、服务器租赁
下面演示完整的GPU服务器租赁过程。
2.1、算力市场租赁服务器
PS:相应的指标选择如下,这样比较划算。 ①计费方式:按量计费比较划算。 ②选择地区:尽量选择离自己所在地比较近的区域,这样网络延迟更短。 ③GPU型号:根据自己需求选择,一般选择中等配置4090或者3090(配置太高,费用太贵;配置太低,效果不佳)。 ④GPU个数:根据自己需求选择,简单的模型训练选择一个就行。
2.2、租赁RTX4090(24G)服务器与社区镜像选择
①点击箭头所指按钮。 ②跳转页面后,点击社区镜像。
③按图所示步骤搜索社区镜像LLaMA-Factory,按照步骤依次选择镜像和版本V4,点击立即创建。
三、服务器开机与JupyterLab控制台
3.1、开机服务器
①PS:进行环境配置时选择无卡模型开机,省钱小妙招。
②我环境配置好的,直接点击开机即可。
3.2、打开JupyterLab
①在JupyterLab直接操纵服务器。 PS:通过SSH连接VScode或者Pycharm远程连接服务器,若不知道怎么连接,有需要的朋友在评论区告诉我,我出一期教程讲解,谢谢大家。 ②进入JupyterLab控制台,稍后进行模型部署和训练。
四、模型部署、数据集准备以及模型启动
4.1、点击新手教程
①根据新手教程文档进行相应操作。
4.2、终端部署模型
①点击+号。 ②点击终端。
③在终端输入新手中的第一步《部署模型》命令。
4.3、数据集准备
①点击《数据集全自动处理》文件夹。 ②点击放置数据集文本文件:数据集是问答格式的。
ps:数据集是问答格式的,可以通过AI生成即可,注意一定要点击保存,如图所示。
4.4、数据集保存
①回到新手文本文件,复制如下命令:bash /root/LLaMA-Factory/chuli/单多轮脚本/DD.sh。 ②回到终端窗口,输入bash /root/LLaMA-Factory/chuli/单多轮脚本/DD.sh,保存数据集。
4.5、可视化界面展示
①回到新手文本文件,复制如下命令:bash /root/LLaMA-Factory/chuli/one.sh。
②回到终端窗口,输入bash /root/LLaMA-Factory/chuli/one.sh,出现如箭头所指URL表示启动成功。
五、自定义服务、SSH连接
5.1、自定义服务
①返回AutoDL主页,选择刚才开机服务器,点击自定义服务。 ②根据自己电脑系统配置SSH连接,笔者是windows,下载如图所示桌面工具即可。
③解压软件包打开应用程序即可。
5.2、SSH连接
①打开AutoDL应用程序。 ②返回AutoDL网站主页,复制SSH指令和密码。
③输入口令和密码后,点击代理。
④访问如下地址。 ⑤进入地址,准备进行模型微调。
六、模型微调
6.1、数据集选择
①下拉选择《你的数据集》,和之前保存的数据集名称一致。
②预览数据集。
6.2、设置迭代轮数
①100条数据集:建议迭代20轮;1000条数据集:建议迭代10轮;10000条数据集:建议迭代2轮。 笔者数据集186条,所以迭代18轮左右。 ②调整训练轮数。
6.3、修改保存目录名
①原始输出目录名(我以原始的目录名输出进行训练)。 ②修改如下(自己方便记忆的目录名称即可)。
6.4、模型微调
①点击预览命令。 ②点击开始:模型开始微调训练(时间较长,请耐心等待进度条跑完)。
损失函数变化如下(我截取微调过程中的图片如下):
③训练完成后,下方出现训练完毕。
七、模型对话、卸载
7.1、Chat模式
①点击chat。 ②选择检查点路径(模型输出的文件)。
7.2、加载模型
①点击加载模型。 模型加载完成。
7.3、模型对话
①下来进行问题输入:如你是谁,然后点击提交。 ②使用数据集的文本进行测试:点击train,预览数据集。
③数据集文本中的问题测试,发现模型语气发生变化。
④原始模型和微调后模型,问题提问后,回答对比如下,回答语气发生一定变化。(方便读者查看和对比) Ps:数据集越大,微调效果更好。
7.4、模型卸载
①模型聊完后,卸载模型,不然会一直占显存。 至此:大模型微调的基本流程已基本完成,控制面板的参数以及其他的微调方法,读者自行探索,至此不在赘述。
以下第八节是一些进阶知识。
八、模型导出
8.1、模型导出
①按图所示依次操作:选择检查点路径,点击Export,修改最大分块大小为2。
8.2、模型导出路径地址选择
①回到JupyterLab,进入autodl-tmp文件夹(服务器机子的数据盘文件夹,默认是50G存储空间,大文件放在此文件夹中)
ps:如果服务器数据盘容量不够,在服务器关机状态下扩容数据盘,扩容需要费用哈。 ②鼠标在空白页右击创建文件夹
③复制新创建的文件夹路径autodl-tmp/modelfn ④返回微调的控制台:输入/root/autodl-tmp/modelfn,点击开始导出,进行模型导出。
⑤模型导出完成。
最后切记:一定要关闭云服务器,不然会一直扣钱的。
评论前必须登录!
注册