一、 大模型 ChatGLM4 简介
GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中, GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出超越 Llama-3-8B 的卓越性能。
除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。我们还推出了支持 1M 上下文长度(约 200 万中文字符)的 GLM-4-9B-Chat-1M 模型和基于 GLM-4-9B 的多模态模型 GLM-4V-9B。
GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力,在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中,GLM-4V-9B 表现出超越 GPT-4-turbo-2024-04-09、Gemini 1.0 Pro、Qwen-VL-Max 和 Claude 3 Opus 的卓越性能。
本文将分享ChatGLM4的微调教程,大家可针对特定任务、适应特定领域和数据集特性进行微调,实现对预训练模型的优化升级,更高效地服务于各类实际应用场景。
二、大模型 ChatGLM4 微调步骤
1. 结束当前运行(按键盘上的 Ctrl + C)
2. 从 github 仓库 克隆项目
- 克隆存储库:
#拉取代码
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
出现以上页面即是克隆项目成功!
请注意,如果 git clone https://github.com/hiyouga/LLaMA-Factory.git
这个链接不存在或者无效,git clone
命令将不会成功克隆项目,并且会报错。确保链接是有效的,并且您有足够的权限访问该存储库。
3. 安装模型依赖库
- 切换到项目目录、激活 ChatGLM4 虚拟环境、安装依赖
#切换到之前创建好的 ChatGLM4 环境
conda activate ChatGLM4#切换到LLaMA-Factory根目录
cd LLaMA-Factory#安装项目依赖
pip install -e ".[torch,metrics]"
等待安装完成
4. 启动 webui.py 文件
注意这里需要在 LLaMA-Factory 的根目录启动
# 启动 webui.py 文件
python src/webui.py
需要设置 Gradio 服务器名称和端口
# 设置 Gradio 服务器名称和端口
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080# 启动 webui.py 文件
python src/webui.py
启动端口后就可以访问微调页面了页面如下:
5. 微调页面操作步骤
5.1 语言切换
5.2 选择微调模型
5.3 加载本地模型的文件路径
5.4 . 准备数据集
- 复制以下路径进入 算家云文件管理 页面,并打开 identity.json 文件
/ChatGLM4/basic_demo/LLaMA-Factory/data/
- 按照以下数据格式进行数据替换
5.5 选择数据
5.6 开始微调模型
出现以上问题,需要安装 deepspeed 依赖
# 安装 deepspeed 依赖
pip3 install deepspeed
等待安装完成
再次启动 webui.py 文件,开始微调模型
# 启动 webui.py 文件
python src/webui.py
5.7 微调过程展示
- web 页面
- 命令行
5.8 训练完成
5.9 模型验证
- 选择模型检查点
- 选择数据集
- 开始执行验证模型
- 等待执行完成
5.10 模型加载
- 加载模型检查点
- 输入文本,进行对话
5.11 模型合并
- 加载保存导出模型的文件夹路径
- web 完成页面
- 命令行完成页面
四、大模型 ChatGLM4 微调调用
1. 编辑 web_demo.py 文件
# 切换到项目工作目录
cd /ChatGLM4/basic_demo# 激活 ChatGLM4 虚拟环境
conda activate ChatGLM4# 编辑 trans_web_demo.py 文件
vim trans_web_demo.py
找到以上模型路径,替换为刚刚保存的路径
/root/sj-tmp/GLM-4-9B-Chat-0920-2
2. 启动 web_demo.py 文件
# 切换到项目工作目录
cd /ChatGLM4/basic_demo# 激活 ChatGLM4 虚拟环境
conda activate ChatGLM4# 运行 trans_web_demo.py 文件
python trans_web_demo.py
3. 访问端口,进行模型测试
测试结果如下:
以上就是ChatGLM的微调教程分享,欢迎大家在评论区交流讨论~