Tencent / TurboTransformers

a fast and user-friendly runtime for transformer inference (Bert, Albert, GPT2, Decoders, etc) on CPU and GPU.
Other
1.49k stars 198 forks source link

Transformers版本不一致 #254

Open Hap-Zhang opened 2 years ago

Hap-Zhang commented 2 years ago

@feifeibear

您好,我看到TurboTransformers最新版本中已经要求transformers版本为4.11.1了,对于我们之前使用transformers4.6.1版本训练出来的模型想要使用TurboTransformers来加速,需要怎么做呢?还是说训练模型的Transformers版本必须和TurboTransformers保持一致呢?

feifeibear commented 2 years ago

训练和推理应该没什么影响。huggingface它的新版本4.x.x和旧版本3.x.x的接口不一致了,所以我升级一下,都是4.x.x应该无所谓吧。

Hap-Zhang commented 2 years ago

@feifeibear 好的,谢谢大佬。 我看代码里这块单独处理了pooler层,是有什么讲究吗? image

我基于huggingface预训练模型进行finetuning,出来的模型用turbo作为后端运行,会报下面的错误,后来调试发现模型中其实没有pooler这一层的,TurboTransformer的代码里为什么会特地加入pooler呢? image

Hap-Zhang commented 2 years ago

我这边用的预训练模型是bert-base-chinese

feifeibear commented 2 years ago

因为bert-base-uncased都有一个pooler层吧。你的模型如果没有可以去掉。

Hap-Zhang commented 2 years ago

嗯,的确,我用的是BertForTokenClassification,这个里面没有用到pooler,那是不是意味着我用的话,需要改下turbotransformers底层的代码呢?