我正在尝试微调一个预训练的GPT2模型。当应用相应的分词器时,我最初收到了以下错误信息:
使用了pad_token,但是它还没有被设置。
因此,我更改了我的代码为:
GPT2_tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
GPT2_tokenizer.pad_token = GPT2_tokenizer.eos_token
在稍后调用
trainer.train()
时,我遇到了以下错误:
断言错误:如果没有定义填充标记,则无法处理批大小> 1。
由于我在上面明确定义了 pad_token,因此我期望这些错误(或者说我对原始错误的修复和这个新错误)是有关联的 - 尽管我可能会错。 eos_token 和 pad_token 是否会产生某种干扰?是否有简单的解决方法?
非常感谢!
model.config.pad_token_id = GPT2_tokenizer.pad_token_id
。 - derekchen14