ChatGLM2-6B icon indicating copy to clipboard operation
ChatGLM2-6B copied to clipboard

eos和pad token id 一样

Open luyuntao92 opened this issue 1 year ago • 7 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Current Behavior

image 两个token id 一样,是不是改错了?

https://huggingface.co/THUDM/chatglm2-6b/commit/22f6409e8bd748d9f5e81bba5d29d1e7544d4f0f

Expected Behavior

No response

Steps To Reproduce

有人反映微调出现重复词,停不下来,是不是和这个有关系?

Environment

- OS:Ubuntu 20.04
- Python:3.9
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :11.7

Anything else?

No response

luyuntao92 avatar Jun 29 '23 06:06 luyuntao92

我觉得也是唉 image 这块pad和eos都等于eos了 输出“self.sp_model.pad_id() = -1"

Yuang-Deng avatar Jun 29 '23 07:06 Yuang-Deng

更新了,这个改掉了。 image image 但是,好奇怪,pad给的是unk,感觉预训练阶段没有pad这个token?

luyuntao92 avatar Jun 30 '23 01:06 luyuntao92

更新了,这个改掉了。 image image 但是,好奇怪,pad给的是unk,感觉预训练阶段没有pad这个token?

我自己在special token里面加上了pad,微调之后不会出现停不下来的情况,但是训练时loss一个epoch之后会上升 image 代码里面attention mask和position id的产生逻辑和glm1不一样了,我改了一下可能还是有点问题

Yuang-Deng avatar Jun 30 '23 02:06 Yuang-Deng

这个问题我也有,没有人解决吗

ArtificialZeng avatar Jul 03 '23 02:07 ArtificialZeng

我也不断出现重复词。直到把输出占满。无法终止。

ArtificialZeng avatar Jul 03 '23 02:07 ArtificialZeng

更新了,这个改掉了。 image image 但是,好奇怪,pad给的是unk,感觉预训练阶段没有pad这个token?

我自己在special token里面加上了pad,微调之后不会出现停不下来的情况,但是训练时loss一个epoch之后会上升 image 代码里面attention mask和position id的产生逻辑和glm1不一样了,我改了一下可能还是有点问题

这个具体怎么操作啊。怎么在special token里面加上pad

ArtificialZeng avatar Jul 03 '23 03:07 ArtificialZeng

我是在下载的模型文件里有个tokenization_chatglm.py 里面改的 sptokenizer有个special token,加上pad,然后把pad_id重新设置一下

Yuang-Deng avatar Jul 03 '23 12:07 Yuang-Deng