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

[BUG/Help] <词表替换>

Open qz701731tby opened this issue 2 years ago • 3 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Current Behavior

现在想要微调的项目中,有一些不在当前词表里面的token,想替换成词表中<unused_0>这样的token,词表中好像只有<unused_0>这一个。有什么解决办法吗?<|blank_*|>这些也是待使用的token吗?

Expected Behavior

No response

Steps To Reproduce

Environment

- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

Anything else?

No response

qz701731tby avatar Apr 20 '23 03:04 qz701731tby

你怎么加进去呢?

cywjava avatar Apr 28 '23 09:04 cywjava

你怎么加进去呢?

目前采用的方法是把不在词表中的字符替换成词表中的一些出现频率较少的特殊字符,例如emoji。

qz701731tby avatar Apr 29 '23 01:04 qz701731tby

我也想加入一些新词,我用的是tokenizer.add_tokens(),encode时没问题,但是decode时总是报错”IndexError: Out of range: piece id is out of range“

enelaliu avatar May 06 '23 10:05 enelaliu

我也想加入一些新词,我用的是tokenizer.add_tokens(),encode时没问题,但是decode时总是报错”IndexError: Out of range: piece id is out of range“

我这边测试tokenizer.add_tokens是没有问题的。 image

config.json中vocab_size是提前设定好的,可能也需要修改一下。

qz701731tby avatar May 08 '23 13:05 qz701731tby

我也想加入一些新词,我用的是tokenizer.add_tokens(),encode时没问题,但是decode时总是报错”IndexError: Out of range: piece id is out of range“

我这边测试tokenizer.add_tokens是没有问题的。 image

config.json中vocab_size是提前设定好的,可能也需要修改一下。

今天更新的code修复了前面的问题

duzx16 avatar May 08 '23 14:05 duzx16

使用tokenizer.add_tokens()后,encode后新增的词前边会自动加上一个空格(vocab中第5个token“▁”),导致与输入文本有出入; 且训练时,加入model.resize_token_embeddings(len(tokenizer))语句后,出现异常,loss巨大。 请问有正确的示例吗?

geolvr avatar May 17 '23 10:05 geolvr