镜像社区
部署GPU实例
文档中心
常见问题(FAQ)
LLM
ChatGLM3
ChatGLM3 镜像,开源双语对话语言模型,支持模型的推理和模型微调。
0/小时
v1.0

ChatGLM3 镜像操作指南

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  1. 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能。
  2. 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
  3. 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K 和进一步强化了对于长文本理解能力的 ChatGLM3-6B-128K

支持的GPU型号

  • RTX40系列
  • 3090
  • P40

使用

模型准备

本镜像已下载并包含 chatglm3-6b 模型权重,使用其它模型权重需要自行准备并上传,准备方式包括在容器内从 HuggingFaceModelScope 在线下载或者本地下载后上传云存储挂载

模型推理

待实例初始化完成后,控制台-应用中打开”JupyterLab“;进入JupyterLab后,新建一个终端Terminal,执行以下命令可以进行模型的推理问答:

cd ChatGLM3/basic_demo
python cli_demo.py

image

其中,输入 clear 清空对话历史,stop 终止程序

模型微调

本镜像使用 AdvertiseGen 数据集对 ChatGLM3-6B 进行单卡 lora 微调,使其具备专业的广告生成能力。

(0)环境检查

首先,先检查代码的运行地址,确保运行地址处于 finetune_demo 中。

cd ChatGLM3/finetune_demo

(1)数据集准备

本镜像使用 AdvertiseGen 数据集来进行微调,已从 Tsinghua Cloud 下载处理好的 AdvertiseGen 数据集,并将解压后的 AdvertiseGen 数据使用 convert.py 调整并放到本目录的 /data/ 下,重命名为 AdvertiseGen_fix。若要使用自定义数据集,格式请参考多轮对话格式进行调整。

(2)使用命令行进行单卡 LoRA 微调

接着,我们仅需要将配置好的参数以命令行的形式传参给程序,就可以使用命令行进行高效微调,微调的参数可在 configs/lora.yaml 中调整:

python finetune_hf.py  data/AdvertiseGen_fix  /workspace/chatglm3-6b  configs/lora.yaml

为了得到更好的效果,可以修改 configs/lora.yaml 里的训练参数max_stepssave_stepseval_steps进行训练效果的调整。

(3)使用微调的数据集进行推理

在完成微调任务之后,我们可以查看到 output 文件夹下多了很多个checkpoint-*的文件夹,这些文件夹代表了训练的轮数。 我们选择最后一轮的微调权重,并使用inference进行导入。

python inference_hf.py output/checkpoint-100/ --prompt "类型#裙*版型#显瘦*材质#网纱*风格#性感*裙型#百褶*裙下摆#压褶*裙长#连衣裙*裙衣门襟#拉链*裙衣门襟#套头*裙款式#拼接*裙款式#拉链*裙款式#木耳边*裙款式#抽褶*裙款式#不规则"

参考资料

镜像信息
@BhAem
已使用
28
镜像大小20GB
最近编辑2025-02-13
支持卡型
RTX40系48G RTX40系P403090A100A800
+6
框架版本
PyTorch-2.3.0
CUDA版本
12.4
应用
JupyterLab: 8888
版本
v1.0
2025-06-26
PyTorch:2.3.0 | CUDA:12.4 | 大小:20.00GB