基于LLaMA-Factory的微调训练作业 #125
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#125
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
租用容器
打开进入JupyterNotebook的终端Terminal
安装LLaMA-Factory
源码下载
创建虚拟环境以及安装依赖
验证LLaMA-Factory是否安装成功
使用LLaMA-Factory运行基座模型
启动web界面
设置隧道
请将下面代码的ssh地址换成自己ssh地址,ssh地址可在算力云平台上租用的容器那查询到:
然后打开Git Bash,将已经更改好的代码粘贴到Git Bash里运行:
运行后会要求你输入password,这里的password从算力云平台上ssh地址下面的密码那可以复制粘贴:
输入密码后可以看到如下👇界面证明隧道已经设置成功了
运行基座模型
打开 LLaMA Board
设置隧道成功后可以在网页中输入 http://127.0.0.1:7860 打开 LLaMA Board界面。
选择基座模型
打开后可以将页面更改自己习惯使用的语言,并且选择基座模型GLM-4-9B-Chat
加载基座模型
点击 'Chat' 选项,然后点击 '加载模型' 。加载完毕后会显示 '模型已加载,可以开始聊天了' 。
测试基座模型对话能力
这里模型回答的是 "我是一个人工智能助手"。
修改数据集
接下来在JupyterNotebook里左边的文件目录里找到/LLaMA-Factory/data/,在这个目录下点击创建一个名为 my_demo.json 的文件
然后从编辑器打开 my_demo.json 这个文件
将如下代码复制到 my_demo.json 文件中
然后在继续在 /LLaMA-Factory/data/ 中找到 dataset_info.json 这个文件,从编辑器中打开此文件:
将如下代码添加到 dataset_info.json里:
开始微调
确认已经卸载基座模型
接下来回到LLaMA Board的界面
由于之前加载过一次模型,所以这里需要先卸载之前的模型;如果没有卸载的话界面会显示训练失败,在终端里会显示 out of memory
测试无量化微调
卸载之后,先试一次无量化的微调训练
然后点击下方的 '开始微调',等到微调结束后会显示 '训练完毕'。在 'Chat' 界面下可以跟大模型进行对话:
这里模型的回答还是 '我是一个人工智能助手'。
开始量化微调训练
这里我们继续点击 '卸载模型',然后回到 'Train'界面;
在 '高级配置' 里选择' 量化等级' ,然后调整 '学习率' 以及 '训练轮数'。
继续点击 '开始微调',等 '训练完毕' 后在'Chat'界面继续跟大模型对话,这时模型回答的是 '我是信息中心助手' 。
量化微调显存使用对比
这里是8Bit量化微调与4Bit量化微调的显存使用对比:
将微调模型仿OpenAI兼容接口
启动接口
在左边文件中找到 /LLaMA-Factory/saves/GLM-4-9B-Chat/lora/train_2024-09-25-16-22-47,这里的文件train_2024-09-25-16-22-47选择的是我自己刚刚训练的4Bit量化模型
在代码里把文件换成train_2024-09-25-16-22-47,然后在终端里输入此代码
输入后显示:
方法一::使用Curl进行命令行测试
方法二:可视化测试
设置隧道
这里也要把ssh地址改成自己的ssh地址,注意API端口变成8000
接入NextChat
打开NextChat,点击 '设置',将接口地址改为http://127.0.0.1:8000
实验中遇到的问题
在做实验的过程中,在开启量化训练时,模型训练完毕后打算加载模型,但显示加载模型错误,这时回到终端,这里显示需要安装一个包,但是安装之后仍然无法加载模型。
这里我的解决办法是重新启动设置隧道启动LLaMA Board才解决此问题。
我量化8bit报错这是哪里有问题?
搞定了,环境缺少导致,pip重新安装库