(一)选择显卡
根据ChatGLM3-6b有效微调所需的显存,选择显卡
镜像选择官方的,一路点击最高配置(一定要保证python版本高于3.11)
注意:恒源云实例的base环境就有pytorch配置了,不需要再新建虚拟环境,否则内存会爆
同时,要把数据下载在数据盘/hy-tmp,而不是系统盘,因为系统盘已经有很多实例原有的文件了
cd /hy-tmp
监控显存:watch -n 1 nvidia-smi(开一个新的终端)
在自己windows终端输入实例的登录指令和密码,可以连到实例的终端上(在自己的网络差,打不开实例的jupyter lab时用)
(二)部署大模型
1、验证base环境
确保你的开发环境已经正确配置了 CUDA 和 PyTorch,以便能够利用 GPU 进行加速计算
>>> import torch
>>> print(torch.cuda.is_available())
2、下载代码仓库和依赖
git clone https://github.com/THUDM/ChatGLM3
(有时候报错是因为github服务器的网络不行)
cd ChatGLM3(因为requirements.txt在ChatGLM3目录下)
pip install -r requirements.txt
3、下载模型(权重参数)(modelscope API下载)
软件依赖:
pip install protobuf 'transformers>=4.30.2' cpm_kernels 'torch>=2.0' gradio mdtex2html sentencepiece accelerate
软件下载:
pip install modelscope
模型下载:
export MODELSCOPE_CACHE='/hy-tmp'
设置环境变量,指向希望保存的模型文件的路径(如果不设置这个环境变量,ModelScope 会使用默认的缓存路径来存储下载的模型文件)
(即使你在 /hy-tmp
目录下执行 modelscope download
命令,如果不设置 MODELSCOPE_CACHE
环境变量,ModelScope 仍然会将模型文件下载到默认的缓存路径,而不是当前目录。)
modelscope download --model 'ZhipuAI/chatglm3-6b'
使用modelscope命令工具下载模型
(如果因为有些目录已经存在导致的下载不成功,就把文件删干净,重新运行一遍;有些文件本来就是打不开的,比如数据集文件需要下载到本地才能打开)
4、运行模型
修改basic_demo里的cli_demo.py的模型路径,改成chatglm3-6b的绝对路径,最前头加/
然后运行该文件,进行对话
stop结束对话
(三)微调
0、下载依赖
进入/hy-tmp/ChatGLM3/finetune_demo
下载依赖,requirements.txt(这个模型有两个地方要下载requirements)
1、准备数据集
下载数据集zip,上传到该目录的新建data文件夹下,
然后解压tar -xzvf filename.tar.gz(注意要在data目录下),删除解压文件
新建change.py文件(注意在finetune_demo文件夹下),然后把代码复制过来运行(直接复制运行,会说缩进错误)
修改数据集的数据形式,让它变成一问一答的形式
2、使用lora命令行进行微调
python finetune_hf.py data/AdvertiseGen_fix 权重路径 confCUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE="1" NCCL_IB_DISABLE="1" lora.yaml文件的路径
(复制粘贴命令的时候,最好问一下ai,了解每个参数的含义,然后替换该替换的路径)
3、试试推理
CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE="1" NCCL_IB_DISABLE="1" python inference_hf.py output/checkpoint-3000/ --prompt "类型#裙*版型#显瘦*材质#
网纱*风格#性感*裙型#百褶*裙下摆#压褶*裙长#连衣裙*裙衣门襟#拉链*裙衣门襟#套头*裙款式#拼接*裙款式#拉链*裙款式#木耳边*裙款式#抽褶*裙款式#不规则"
(检查路径,output里最高只有3000,不是4000,要替换)