ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:
本镜像已下载并包含 chatglm3-6b 模型权重,使用其它模型权重需要自行准备并上传,准备方式包括在容器内从 HuggingFace 或 ModelScope 在线下载或者本地下载后上传或云存储挂载。
cd ChatGLM3/basic_demo
python cli_demo.py
本镜像使用 AdvertiseGen
数据集对 ChatGLM3-6B 进行单卡 lora 微调,使其具备专业的广告生成能力。
首先,先检查代码的运行地址,确保运行地址处于 finetune_demo
中。
cd ChatGLM3/finetune_demo
本镜像使用 AdvertiseGen 数据集来进行微调,已从 Tsinghua Cloud 下载处理好的 AdvertiseGen 数据集,并将解压后的 AdvertiseGen 数据使用 convert.py 调整并放到本目录的 /data/
下,重命名为 AdvertiseGen_fix。若要使用自定义数据集,格式请参考多轮对话格式进行调整。
接着,我们仅需要将配置好的参数以命令行的形式传参给程序,就可以使用命令行进行高效微调,微调的参数可在 configs/lora.yaml 中调整:
python finetune_hf.py data/AdvertiseGen_fix /workspace/chatglm3-6b configs/lora.yaml
为了得到更好的效果,可以修改 configs/lora.yaml 里的训练参数max_steps
、save_steps
、eval_steps
进行训练效果的调整。
在完成微调任务之后,我们可以查看到 output
文件夹下多了很多个checkpoint-*
的文件夹,这些文件夹代表了训练的轮数。 我们选择最后一轮的微调权重,并使用inference进行导入。
python inference_hf.py output/checkpoint-100/ --prompt "类型#裙*版型#显瘦*材质#网纱*风格#性感*裙型#百褶*裙下摆#压褶*裙长#连衣裙*裙衣门襟#拉链*裙衣门襟#套头*裙款式#拼接*裙款式#拉链*裙款式#木耳边*裙款式#抽褶*裙款式#不规则"