Llamafactory,一键式训练大语言模型的入门级教程

目录

一、拉取镜像

二、 构建webui界面

1、内网穿透

2、模型下载

3、wandb安装

4、界面构建

三、模型推理

四、数据加载

五、模型训练

六、模型验证及导出


LlamaFactory是一个开源框架,支持多种流行的语言模型,及多种微调技术,同时,以友好的交互式界面,简化了大语言模型的训练及推理。

本章内容,从如何拉取Llamafactory镜像开始,到构建webui交互式界面,在到加载模型推理、私有化模型的训练及其验证,最后到模型的导出。全程都有示例图,一站式服务,无需你懂代码,无需你拥有高大上的AI基础知识,任何小白都可尝试训练私有模型,并部署在自己的服务器上。

一、拉取镜像

提到AI训练,尤其涉及到大语言模型,势必逃不开GPU。Autodl算力云平台,有多种显卡供你选择,租赁方式灵活多变,时租、日租、月租等等,价格相对实惠。

最主要是可一键拉取社区镜像,避免了自己部署环境时出现的种种bug。

AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

新用户需要注册登录,充值金额可自由选择,初用10块钱即可。

提供多种租赁方式,新手或者不常用者,建议时租(按量计费)或者日租即可。

建议首次选择最低配置 RTX3090 显卡就行,每小时价格约为 1.66 元。平台如果有多余的卡时,蓝色字体 "1卡可租" 点进去。

这里有两个注意事项,一是数据扩容,主要是用于存储数据的磁盘,免费50G的空间,首次不建议扩容,够用,而且后面觉得不够,可升降配置。

二是 首次拉取镜像,选择 社区镜像,输入 Llamafactory-webui,就会出现下方镜像,注意辨别账号名称为 HuiFei-AI,这里选择v2版本

现在该平台使用的人不少,选好机器后,最好快速创建,要不可能机器就没了。

创建并开机后,我的镜像约11个G,首次拉取时可能会慢点,不过还好并不计费,他会在拉取镜像成功之后,自动开机。不过我这次试验,挺快的,2两分钟内就拉取成功开机了。

建议大家首次拉取镜像时,如果选择的GPU配置低,或者磁盘空间小。别慌,首页有个控制台,进入容器实例中,找到你现在运行的机器,点击查看详情,可升降配置,以及扩充磁盘大小。但必须在关机状态下修改,修改后重新开机即可。

二、 构建webui界面

 开机后,直接使用平台提供的JupyterLab,服务器是linux系统的。

在构建webui界面前,需要做两项工作,一是内网穿透,二是模型下载

1、内网穿透

ngrok官网 ,首次注册登录,我是用github账号直接登录的

ngrok | API Gateway, Kubernetes Networking + Secure Tunnelshttps://ngrok.com/登陆成功后,就可以直接获取你自己的认证密钥了

 接下来就是配置你的认证密钥,开启终端,键入如下指令,记得切换你的认证密钥。

ngrok authtoken <你的auth token>

成功后,会提示配置文件保存的位置。 

2、模型下载

download_model.py 文件,默认是直接下载deepseek-1.5b模型,终端键入以下执行命令

python download_model.py

下载进度条,默认存放在 root/autodl-tmp 磁盘中

如果想下载别的模型,修改模型名称,文件里我列举了几个deepseek系列模型。 

 

如果大家还有别的模型需求, 去魔搭社区,点击下方官网链接

ModelScope魔搭社区https://community.modelscope.cn/选择模型库,搜索自己需要的模型名

假如想要下载通义千问QwQ-32B,点进去,复制名称,到 download_model 文件中替换模型名称 

 注意:上面下载的模型,默认存在autodl-tmp磁盘下,这是数据盘,能随便扩容。

3、wandb安装

wandb是一个实例监控工具,相较于平台上的监控,该工具所展示的信息较为丰富。同ngrok一样,首次需要注册登录,点击下方官网链接

Weights & Biases: The AI Developer Platform (wandb.ai)https://wandb.ai/site登录成功后,点击左上角home

然后获取自己的认证密钥,后面要用到。

终端键入以下命令

wandb login --relogin

 然后输入自己的认证密钥,粘贴密钥后,并不会显示,直接回车确认就行

4、界面构建

上述准备工作完成后,接下来就开始构建webui界面了,终端键入以下命令

cd LLaMA-Factory

llamafactory-cli webui

会弹出一个链接,打不开,此时就需要ngrok内网穿透了

打开一个新的终端,键入以下命令,端口号和上述链接保持一致。

ngrok http 7860

端口号暴漏成功后,会生成一个链接, 点击链接,可在本机上,打开llamafactory的webui界面了

此时,就正式开启了我们的训练大语言模型的奇妙之旅了。

三、模型推理

在webui界面,可加载本地模型进行推理聊天了,如下图所示:

模型路径 ->填写你下载到服务器上的模型位置,默认在 /root/autodl-tmp/盘符下

选择 chat 模式,然后点击加载模型

 模型加载成功后的界面如下,右侧是推理时的超参调节。

切记:模型不用时,记得先卸载模型。因为模型是要加载到内存中的,而模型本身又很大,占用相当大的内存空间。 

四、数据加载

llamafactory指定了数据路径,图中data,大家不用修改

数据集下拉选项,有一些 llamafactory 自带的数据集

 比如 alpaca_zh_demo 这个中文数据集,选中后,可预览

 那大家如何加载到自己的数据集呢 ?请看Llama-factory目录下的data目录,下图是我在本地机器上打开的,大家可在平台中查看该目录。

这里就有我们刚选中的 alpaca_zh_demo 数据集,是一个 json 文件。

大家可以将自己的数据集文件放到该目录下

这里有个注意事项:llamafactory 并不会自动检索data目录下的文件,而是通过一个配置文件,叫dataset_info,也是一个json格式的:

定义key为 “alpaca_zh_demo”,即webui界面,下拉选项中的数据集名称

value为{ "file_name": "alpaca_zh_demo.json"},记录的是数据集在data目录下的真实文件名

五、模型训练

选择 Trian 模式,即训练模式

基础模型还是选择本地路径,数据集选择自带的 alpaca_zh_demo 数据集。剩下的就是微调方式选择,以及超参数的设置

如果大家选择的显卡配置较低,建议 批处理大小为1,截断长度 1024,这些都会降低对机器的要求,保证能训练起来。

在其他参数设置选项中,启用外部记录面板,选择wandb,就可以使用该工具了。

 此时在开启训练时,终端会弹出链接,直接点进去就进入到你的wandb帐号了。

这里记录的训练日志信息,比较全面。

模型、数据集、参数都配置好后,点击下方的预览命令,会出现一串指令,是llamafactory 训练的指令集,其中,一些参数就是根据我们上面配置而生成的。

保存训练参数,保存至服务器中,路径自动生成。

载入训练参数,保证模型训练被中断后,可从断点开始训练,而不用重新开启训练。

保存检查点,是模型训练完以后,保存的重要文件,llama会根据时间自动生成文件名。

整体路径,会微调方式,检查点名称自动生成,具体可看预览命令中的 output_dir。默认会放在llamafactory中的save目录下,也就是系统盘中。

这里非常不建议直接用llamafactory自动保存的检查点路径,原因和下载模型那里一样,系统盘会崩的(默认30G),建议大家在输出目录中 添加绝对路径  autodl_tmp/save/train_2025-02-06, 就类似这样的格式,主要目的是将训练后保存的检查点放到数据盘中(可扩容)。

注意:记住上面保存检查点的路径,chat模式下,加载模型检查点时,直接粘贴进去就行了。 

开始训练后,webui 上会出现损失曲线,也会在下方打出日志。

当然,在终端也能查看训练进度,如下图所示

超参中,有个设备数量,这个不需要自己填写,程序会自动识别你当前用的GPU数量。

DeepSpeed stage 是一种加速器,后续参数详解会说,感兴趣的可以直接跳转。

六、模型验证及导出

 训练结束后,就可以直接加载训练后的模型,进行推理了。

该工具训练后,只会保存检查点,不是一个完整的模型格式。如果大家直接在该webui上加载模型,采用如下图的方式

  • 选中本地模型路径,即训练用的基础模型
  • 选中保存后的检查点

 加载模型,此时就是我们微调后的模型了。此时,可以用训练数据集中的问题,和模型聊天了。

下图就是我们刚才用到的数据集:

 同样的问题,提问训练后的模型。

 接下来就是将训练后的模型导出来,刚才说了,训练后只保存检查点,需要搭配原模型文件使用。

  • 模型路径,检查点,确定都无语后
  • 选中 export 模式
  • 模型一般较大,分块是指每一个文件的大小,可将模型分为几块保存
  • 选择导出目录,开始导出

这个也可以去终端看导出流程,页面上可能长时间没动静,后台依然在工作。

这是我导出来的模型文件,和基础模型的文件配置是一样的

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值