首页 > 编程知识 正文

Onnx的卷积层源码(runtime error 9)

时间:2023-05-04 20:37:16 阅读:77484 作者:730

微软宣布将开源应用于onnx运行时预测引擎、优化的自然语言处理模型BERT版本。 该模型由微软为Bing搜索引擎构建,可扩展到GPU和CPU上的计算,以低延迟即时处理数百万次查询。

二进制语言深度学习模型(BERT )由谷歌开发,用于自然语言处理中很受欢迎的深度学习模型,但BERT需要非常大量的运算

微软去年11月发布了研究进展,将BERT模型压缩到剩下的三层,而对精度没有很大影响,大大降低了运算成本。 但是,即使只剩下三层模型,基准服务也需要77毫秒,这种延迟在每秒处理百万个查询和文件的规模上仍然成本太高,因此微软将进一步优化模型,并使用C API重新生成整个模型

目前,这一优化成果正在Bing中使用。 微软表示,该模型可用于web检索的自然语言处理。 他们希望轻松地与社区分享这一成果。 在目前的解决方案中,开发人员需要在c函数库中重新实例化整个模型,但这个项目需要太长时间,因此为了推动Transformer的预测和其他改进,微软将扩展对CPU的支持

onx运行时是机器学习模型的预测引擎,与支持PyTorch、TensorFlow和ONNX标准的工具兼容。 onx运行时具有开放、可扩展的基础架构,可以使用内置的“图形优化”(Graph Optimization )和各种硬件加速功能来优化和加速推理。 Transformer模型(如BERT )由许多“运算符”(Operator )图表组成,ONNX Runtime内置了图表优化功能,可以简化图表以减少节点,实现更复杂的节点集成和布局优化

应用这些优化,128个串行长度的12层fp16 BERT-SQUAD的预测延迟时间可以仅为1.7微秒,24层fp16 BERT-SQUAD的预测时间为4微秒,在onx运行时为128个串行

用户现在可以通过使用onnx运行时获得最新的BERT优化。 微软使用Bing的Transformer预测程序代码综合开发ONNX Runtime,因此用户只需要在Bing流量规模上运行OnxRuntime来预测大型Transformer网络

微软表示,ONNX Runtime的易用性将优化新场景的时间从几天缩短到几个小时,并将ONNX Runtime用于计算机视觉、语音、语言处理、预测等各种模型,从而实现了相同的硬件

微软提供了PyTorch和TensorFlow版本的BERT加速器示例程序的代码。 此外,还推出了使用Azure机器学习创建和管理工作流水线的教程,以指导用户在onnx运行时进行培训和部署。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。