0.前言
P-tuning v2的实验在网上一抓一大把,这里就说一下我在微调过程中遇到的有些bug,踩过的一些坑,在网上找了很久都没有一些好的解决方案,在这里记录一下。
1.下载预训练模型
在官方给出的教程中,并不需要预先将模型下载到本地,而是直接连接hugging face获取,但是!在国内因为限制问题,就会导致连接失败,于是需要将预训练模型预先下载到本地,放在ptuning目录下,比如
这里!我就踩到了第一个坑里,在大部分的教程中,一般会用
git clone https://github.com/THUDM/ChatGLM2-6B.git
来下载预训练模型,但是!我又是等了好半天都没有下载下来。
所以,在这里倾情推荐智谱AI的下载连接:
chatglm2-6b-int4 · 模型库 (modelscope.cn)https://modelscope.cn/models/ZhipuAI/chatglm2-6b-int4/files 但是一定要用下面的这条指令下载到你的指定目录下
pip install modelscope # 安装modelscope
modelscope download --model ZhipuAI/chatglm2-6b-int4 --local_dir ./chatglm2-6b-int4
2.torch.distributed.elastic.multiprocessing.errors.ChildFailedError
这个bug真的很恐怖,折磨了我三天,我在8月份微调的时候,相同的参数配置,并没有出现报错,结果10月份来,一直报错。看似是报错ChildFailedError,实际上你要看它上面那一部分的报错:
我们再对应到源码
这里的意思大概就是所用的load_dataset方法并没有“use_auth_token”这个参数,我大致查了一下,这个参数为True则使用公开数据集,为False则是使用私有数据集,我不知道是版本更新还是怎么的,我就直接删除了这个参数就好了。