[BUG/Help] 求大佬看下,微调多轮对话,预测时出现130000 is not in list问题
q497629642 opened this issue · 38 comments
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
Expected Behavior
No response
Steps To Reproduce
使用AutoTokenizer、AutoModel加载微调好的多轮对话checkpoint,使用stream_chat预测
Environment
- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :
Anything else?
No response
应该是大佬们昨晚上在hf上更新了新模型和代码的原因,重新下载拉取试试。我也是碰到这个问题
我试试
应该是大佬们昨晚上在hf上更新了新模型和代码的原因,重新下载拉取试试。我也是碰到这个问题
试了,还是报那个问题
遇到这个问题+1
你要更新你的checkpoint目录里面的ice_text.model
和tokenization_chatglm.py
你要更新你的checkpoint目录里面的
ice_text.model
和tokenization_chatglm.py
请问怎么更新能说具体点吗?昨晚是更新了代码,重新下载了模型,然后花了4个多小时训练的,有办法补救吗
150001 not in the list, reinstall everthing still not work.
你要更新你的checkpoint目录里面的
ice_text.model
和tokenization_chatglm.py
更新了,还是报错
你要更新你的checkpoint目录里面的
ice_text.model
和tokenization_chatglm.py
请问怎么更新能说具体点吗?昨晚是更新了代码,重新下载了模型,然后花了4个多小时训练的,有办法补救吗
把加载模型的目录下的这两个文件替换了,从 https://huggingface.co/THUDM/chatglm-6b 下载
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004]
inputs 类型#上衣材质#牛仔布颜色#白色风格#简约图案#刺绣衣样式#外套衣款式#破洞
label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004]
labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。
全更新了,这tokenizer之后貌似啥mask也没有
你要更新你的checkpoint目录里面的
ice_text.model
和tokenization_chatglm.py
请问怎么更新能说具体点吗?昨晚是更新了代码,重新下载了模型,然后花了4个多小时训练的,有办法补救吗
把加载模型的目录下的这两个文件替换了,从 https://huggingface.co/THUDM/chatglm-6b 下载
依然无法解决
你要更新你的checkpoint目录里面的
ice_text.model
和tokenization_chatglm.py
请问怎么更新能说具体点吗?昨晚是更新了代码,重新下载了模型,然后花了4个多小时训练的,有办法补救吗
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004] inputs 类型#上衣_材质#牛仔布_颜色#白色_风格#简约_图案#刺绣_衣样式#外套_衣款式#破洞 label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004] labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。 全更新了,这tokenizer之后貌似啥mask也没有
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004] inputs 类型#上衣_材质#牛仔布_颜色#白色_风格#简约_图案#刺绣_衣样式#外套_衣款式#破洞 label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004] labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。 全更新了,这tokenizer之后貌似啥mask也没有
估计就是分词还是有问题
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004] inputs 类型#上衣_材质#牛仔布_颜色#白色_风格#简约_图案#刺绣_衣样式#外套_衣款式#破洞 label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004] labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。 全更新了,这tokenizer之后貌似啥mask也没有
不好意思,还需要更新一下 tokenizer_config.json
。150001就是gmask,decode的时候本来就是不显示的。更新之后应该是130001,去掉了前20000个不用的image token
我可以了,把那几个文件更新之后,需要tokenizer 也要换成自己的chepoint路径(还要把.cache/huggingface/modules/transformers_modules/checkpoint-1000/缓存删掉)
tokenizer = AutoTokenizer.from_pretrained("./output/XXX-chatglm-6b-pt-8-1e-2/checkpoint-1000", trust_remote_code=True)
model = AutoModel.from_pretrained("./output/XXX-chatglm-6b-pt-8-1e-2/checkpoint-1000", trust_remote_code=True).half().cuda()
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004] inputs 类型#上衣_材质#牛仔布_颜色#白色_风格#简约_图案#刺绣_衣样式#外套_衣款式#破洞 label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004] labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。 全更新了,这tokenizer之后貌似啥mask也没有
不好意思,还需要更新一下
tokenizer_config.json
。150001就是gmask,decode的时候本来就是不显示的。更新之后应该是130001,去掉了前20000个不用的image token
ok了,是这个问题
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004] inputs 类型#上衣_材质#牛仔布_颜色#白色_风格#简约_图案#刺绣_衣样式#外套_衣款式#破洞 label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004] labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。 全更新了,这tokenizer之后貌似啥mask也没有
不好意思,还需要更新一下
tokenizer_config.json
。150001就是gmask,decode的时候本来就是不显示的。更新之后应该是130001,去掉了前20000个不用的image token
感谢,可以了
可以解决,谢谢!
重新下载了模型和config文件,仍然报错
[5, 65421, 61, 67329, 32, 98339, 61, 72043, 32, 65347, 61, 70872, 32, 69768, 61, 68944, 32, 67329, 64103, 61, 96914, 0, 0, 5, 87052, 96914, 81471, 64562, 65759, 64493, 64988, 6, 65840, 65388, 74531, 63825, 75786, 64009, 63823, 65626, 63882, 64619, 65388, 6, 64480, 65604, 85646, 110945, 10, 64089, 65966, 87052, 67329, 65544, 6, 71964, 70533, 64417, 63862, 89978, 63991, 63823, 77284, 88473, 64219, 63848, 112012, 6, 71231, 65099, 71252, 66800, 85768, 64566, 64338, 100323, 75469, 63823, 117317, 64218, 64257, 64051, 74197, 6, 63893, 0]
默认的AdvertiseGen数据集跑的
下载最新权重文件,运行evaluate.sh 后依然报错,应该是150001未变为130001导致的。
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004]
[5, 65421, 61, 67329, 32, 98339, 61, 72043, 32, 65347, 61, 70872, 32, 69768, 61, 68944, 32, 67329, 64103, 61, 96914, 0, 0, 5, 87052, 96914, 81471, 64562, 65759, 64493, 64988, 6, 65840, 65388, 74531, 63825, 75786, 64009, 63823, 65626, 63882, 64619, 65388, 6, 64480, 65604, 85646, 110945, 10, 64089, 65966, 87052, 67329, 65544, 6, 71964, 70533, 64417, 63862, 89978, 63991, 63823, 77284, 88473, 64219, 63848, 112012, 6, 71231, 65099, 71252, 66800, 85768, 64566, 64338, 100323, 75469, 63823, 117317, 64218, 64257, 64051, 74197, 6, 63893, 0] 默认的AdvertiseGen数据集跑的
更新ice_text.model
下载最新权重文件,运行evaluate.sh 后依然报错,应该是150001未变为130001导致的。
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004]
更新ice_text.model
, tokenization_chatglm.py
和 tokenizer_config.json
哎,还是想吐槽一句。hf的代码更新了,本地代码的复制代码处理方式都不会同步更新到,sentencepiece会跑不起来
不好意思,我是加载的 int4qe模型,也出现了 150001 is not in list的报错,我看了大家上面的讨论,但我没有在chatglm-6b-int4-qe文件夹中找到ice_text.model, tokenization_chatglm.py 和 tokenizer_config.json这三个文件啊?
是修改哪里 (我一个小时前刚刚删除了这个文件夹重新从hf上进行了下载……)
下载最新权重文件,运行evaluate.sh 后依然报错,应该是150001未变为130001导致的。
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004]更新
ice_text.model
,tokenization_chatglm.py
和tokenizer_config.json
我今天重新下了一次所有的文件,并且重新pull了一次代码,但是微调还是130001 is not in list,/(ㄒoㄒ)/~~
不好意思,我是加载的 int4qe模型,也出现了 150001 is not in list的报错,我看了大家上面的讨论,但我没有在chatglm-6b-int4-qe文件夹中找到ice_text.model, tokenization_chatglm.py 和 tokenizer_config.json这三个文件啊? 是修改哪里 (我一个小时前刚刚删除了这个文件夹重新从hf上进行了下载……)
出现130000有两种情况:
第一种情况是推理预训练模型时出现的,这种情况是预训练模型的相关文件没有更新导致的,下载最新的ce_text.model, tokenization_chatglm.py 和 tokenizer_config.json替换掉。
第二种情况是推理微调模型时出现的,这种情况是生成的微调模型的相关文件是旧版本导致的,复制预训练模型下的ce_text.model, tokenization_chatglm.py 和 tokenizer_config.json替换掉output下对应文件。
不知道为什么微调时一直生成旧版本的文件,删除了.cache/huggingface/modules/transformers_modules下的缓存无效
@xiaoyaolangzhi 感谢,用第二种情况cp了之后能正常推理了。
商品广告文案能正常预测了,但‘介绍下北京’之类的正常的对话能力严重退化,P-tuning方法还是会造成模型能力变窄甚至退化,我用LoRA方法不会影响原始模型预测能力。
出现130000有两种情况: 第一种情况是推理预训练模型时出现的,这种情况是预训练模型的相关文件没有更新导致的,下载最新的ce_text.model, tokenization_chatglm.py 和 tokenizer_config.json替换掉。 第二种情况是推理微调模型时出现的,这种情况是生成的微调模型的相关文件是旧版本导致的,复制预训练模型下的ce_text.model, tokenization_chatglm.py 和 tokenizer_config.json替换掉output下对应文件。 不知道为什么微调时一直生成旧版本的文件,删除了.cache/huggingface/modules/transformers_modules下的缓存无效
@xiaoyaolangzhi 之前的tokenizer在保存config的时候有一个bug,已经修复了,多谢指。之前保存的checkpoint还需要手动更新一下。
上面提到的checkpoint怎么手动更新呢?
出现130000有两种情况: 第一种情况是推理预训练模型时出现的,这种情况是预训练模型的相关文件没有更新导致的,下载最新的ce_text.model, tokenization_chatglm.py 和 tokenizer_config.json替换掉。 第二种情况是推理微调模型时出现的,这种情况是生成的微调模型的相关文件是旧版本导致的,复制预训练模型下的ce_text.model, tokenization_chatglm.py 和 tokenizer_config.json替换掉output下对应文件。 不知道为什么微调时一直生成旧版本的文件,删除了.cache/huggingface/modules/transformers_modules下的缓存无效
在预测的时候出错了,下载了最新的文件,也没有效果。output文件夹下面没有找到tokenization_chatglm.py和tokenizer_config.json. 这个只有model文件夹有
input_ids [20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20003, 20005, 85421, 20061, 95898, 20032, 88554, 20061, 97257, 84555, 20032, 85107, 20061, 86268, 20032, 85347, 20061, 91689, 20032, 89768, 20061, 105428, 20032, 85173, 93942, 20061, 90984, 20032, 85173, 90936, 20061, 84703, 85509, 150001, 150004] inputs 类型#上衣_材质#牛仔布_颜色#白色_风格#简约_图案#刺绣_衣样式#外套_衣款式#破洞 label_ids [20005, 91689, 86561, 87061, 97257, 90984, 20006, 92194, 85173, 84290, 84622, 101549, 83823, 85173, 84290, 103343, 83832, 83912, 85209, 84703, 85509, 84051, 20006, 89418, 98598, 107019, 20006, 84257, 91319, 86069, 94197, 83823, 85173, 92265, 84880, 84131, 83832, 93416, 105428, 86261, 20006, 85594, 107834, 20006, 93412, 125145, 85388, 83823, 150001, 150004] labels 简约而不简单的牛仔外套,白色的衣身十分百搭。衣身多处有做旧破洞设计,打破单调乏味,增加一丝造型看点。衣身后背处有趣味刺绣装饰,丰富层次感,彰显别样时尚。 全更新了,这tokenizer之后貌似啥mask也没有
不好意思,还需要更新一下
tokenizer_config.json
。150001就是gmask,decode的时候本来就是不显示的。更新之后应该是130001,去掉了前20000个不用的image token
怎么更改 是去tokenizer_config.json 里 "gmask_token": "[gMASK]", [gMASK] 改成130001吗?
下载最新权重文件 https://huggingface.co/THUDM/chatglm-6b ,这个问题已经修复了。
remove add_special_tokens=False
如果使用pipeline,可能需要修改 ../python3.9/site-packages/transformers/pipelines/text_generation.py:203
def preprocess(self, prompt_text, prefix="", handle_long_generation=None, **generate_kwargs):
inputs = self.tokenizer(
prefix + prompt_text, padding=False, add_special_tokens=True, return_tensors=self.framework
)
chatglm2-6b也报错