使用Turbo进行命名实体识别,测试速度无明显提升
Hi,feifeibear
我仿照您提供的例子(bert_for_sequence_classification_example.py)写了个用于命名实体识别的测试程序,运行下来发现Turbo提速并不明显,请问这中间有什么潜在的注意事项吗?

可能是输入太短?用onnxrt有加速么?
请问中文大概多少个字能体现出效果呢,我可以再测试下
onnxrt是有些加速的,虽然我不知道为什么onnxrt这边Torch的时长更长了。。。。

我这边把timeline打出来了,您可以帮忙看看哪块有比较大的嫌疑吗?

看起来挺正常的,你多测几次,避免warmup开销,试试设置一下OMP线程数目
好的,OMP线程数目默认是机器本身CPU个数吗?
嗯嗯,设置方法如下 https://github.com/Tencent/TurboTransformers/blob/master/benchmark/run_cpu_variable_benchmark.sh#L31
好的,非常感谢!! 最后想再请教下turbo在CPU环境下主要是改了哪里来加速的呢,有相关的paper吗,我只找到了一篇说GPU的:TurboTransformers: An Efficient GPU Serving System For Transformer Models
把pytorc的代码用C++重写了一遍,加入了算子融合,矩阵乘法用了mkl,其他操作用omp并行加速。 没有相关paper。
请在README里注明一下实际上目前版本的turbo只是在调用onnxruntime吧,编译二进制还挺麻烦的,代码里都没用上,不如直接掉onnxruntime