Closed 2132660698 closed 1 year ago
看起来是tokenizer加载错误,是不是在调用get_tokenizer函数的时候args.tokenizer_type不对,正常来说如果args是VisualGLMModel.from_pretrained返回的结果的话,应该会被覆盖为THUDM/chatglm-6b
。
model, args = FineTuneVisualGLMModel.from_pretrained('visualglm-6b', args)
# args.tokenizer_type == 'THUDM/chatglm-6b'
tokenizer = get_tokenizer(args)
model, args = FineTuneVisualGLMModel.from_pretrained(model_type, args) args 的值打印如下:
呃……可以直接print一下args.tokenizer_type吗,这一屏幕字符串也很难找
如果args.tokenizer_type不等于'THUDM/chatglm-6b'就说明模型加载有问题,可以检查一下模型checkpoint里的model_config.json
呃……可以直接print一下args.tokenizer_type吗,这一屏幕字符串也很难找 是这个:
我用的这个训练的
那应该可以正常加载tokenizer呀,可以print一下get_tokenizer返回的tokenizer是什么吗
报错前打印这个,是不是网络下载的问题呢?
是的,应该是网络的问题
这个可以配置本地加载吗?
把tokenizer的相关代码复制到本地,然后把args.tokenizer_type='THUDM/chatglm-6b'
替换成本地的路径就可以了
把tokenizer的相关代码复制到本地,然后把
args.tokenizer_type='THUDM/chatglm-6b'
替换成本地的路径就可以了
这个配置成本地后,问题解决了,非常感谢大家。
把tokenizer的相关代码复制到本地,然后把
args.tokenizer_type='THUDM/chatglm-6b'
替换成本地的路径就可以了
请问下这一步具体如何操作?
把tokenizer的相关代码复制到本地,然后把
args.tokenizer_type='THUDM/chatglm-6b'
替换成本地的路径就可以了请问下这一步具体如何操作?
找到你下载的14个G的那个visualglm-6b.zip,然后unzip,然后解压的文件里面有个model_config.json文件,里面的tokenizer_type改成你本地的模型地址,具体修改json文件的方法去搜一下就可以
把tokenizer的相关代码复制到本地,然后把
args.tokenizer_type='THUDM/chatglm-6b'
替换成本地的路径就可以了这个配置成本地后,问题解决了,非常感谢大家。
是配置本地的visualglm-6b路径还是chatglm-6b路径呢?
把tokenizer的相关代码复制到本地,然后把
args.tokenizer_type='THUDM/chatglm-6b'
替换成本地的路径就可以了
args.tokenizer_type='THUDM/chatglm-6b'是在哪个文件呢?
AttributeError 'FakeTokenizer' object has no attribute 'pad_token_id' AttributeError 'FakeTokenizer' object has no attribute 'encode' 这两个都出现过。