将seq2seq NLP模型转换为ONNX格式是否会对其性能产生负面影响?

2024-06-06 17:51:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在考虑将ml NLP模型潜在地转换为ONNX格式,以便利用其速度提升(ONNX运行时)。然而,与旧车型相比,我并不真正理解新车型的根本变化。此外,我不知道是否有任何缺点。如果您对此有任何想法,我们将不胜感激


Tags: 模型利用nlp格式ml速度onnx缺点
1条回答
网友
1楼 · 发布于 2024-06-06 17:51:20

模型的精度性能将是相同的(仅考虑编码器和解码器的输出)。推理性能可能因用于推理的方法而异(例如:贪婪搜索、波束搜索、top-k和top-p)。有关this的详细信息

对于onnx-seq2seq模型,您需要通过hand实现model.generate()方法。但是onnxt5{a3}在实现greedy search(对于onnx模型)方面做得很好。然而,大多数NLP生成模型通过beam search方法产生了良好的结果(您可以参考链接的源代码了解huggingface如何为其模型实现梁搜索)。不幸的是,对于onnx模型,您必须自己实现它

推理速度肯定会增加,如onnx运行时的this notebook所示(示例在bert上)。 您必须在onnx运行时上分别运行编码器和解码器&;可以利用onnx运行时。如果您想了解更多关于onnx及其运行时的信息,请参考this link

更新:您可以参考^{}库,它为t5实现了greedybeam search。对于bart,请看一下这个issue

相关问题 更多 >