本文来自于微信公众号 AIGC开放社区(ID:AIGCOPEN),作者:AIGC开放社区。
目前,著名AI模型开源平台Hugging Face上有超过320,000个大模型,并且每天保持高速增长。据统计只有大约6,000个模型支持ONNX格式,但微软表示,实际上有超过130,000个模型支持该格式。
而ONNX格式模型可以通过微软的ONNX Runtime优化性能、节省算力、增强训练/推理能力,例如,通过ONNX Runtime加速语音识别模型whisper的推理能力,比PyTorch高74.30%,大幅度提升了模型的响应效率。
微软已与Hugging Face达成深度技术合作,扩大了ONNX Runtime的支持范围,支持90多种架构的大模型,包括Llama、(类ChatGPT大语言模型)、Stable-Diffusion(扩散模型)、BERT、T5、RoBERTa等,当下最流行的11种大模型。
什么是ONNX格式
ONNX英文全称是Open Neural Network Exchange,中文译为“开放神经网络交换”,是一种用于表示机器学习模型的开放标准文件格式,可在不同的深度学习框架之间实现互操作性。
该格式由微软、Facebook等科技巨头共同开发而成,旨在简化人工智能模型的开发和部署过程。ONNX支持多种深度学习框架,例如,PyTorch、TensorFlow、Caffe2、MXNet等。
这使得开发人员可以在一个框架中训练模型,然后将其转换为ONNX格式,并在另一个框架中进行部署和推理。
此外,ONNX模型的移植性非常强,可以在各种硬件平台(如CPU、GPU、FPGA和边缘设备)上运行,实现广泛的部署灵活性。
这意味着在部署过程中,开发人员不再受限于特定的硬件或软件环境。
ONNX Runtime推理平台介绍
ONNX Runtime是微软开源的一款高性能的跨平台库,主要用于运行和加速ONNX格式的机器学习模型。目前,Adobe、AMD、英特尔、英伟达、甲骨文等世界顶级公司,通过该平台加速AI模型的开发效率。
ONNX Runtime的特色功能包括支持多种模型架构、框架兼容性、跨平台支持、性能优化等。
支持多种模型架构:支持各种类型的模型,例如,计算机视觉、自然语言处理、语音识别、机器学习等领域的模型,使得在处理各种任务时具有高度的灵活性。
框架兼容性:ONNX Runtime支持多种深度学习框架导出的ONNX模型,如PyTorch,TensorFlow,scikit-learn和Apache MXNet,大大简化了模型部署过程,并提高了模型的可移植性。
跨平台支持:可在多个操作系统例如Windows、macOS、Linux和云,移动设备和IoT设备上运行,实现广泛的部署灵活性。
性能优化:ONNX Runtime专门针对不同的硬件平台如CPU、GPU和边缘设备进行了性能优化,从而实现高效的模型推理。支持各种硬件加速器,例如,NVIDIA TensorRT、Intel的OpenVINO和DirectML。
微软表示,在Hugging Face开源平台上还有10万个模型不支持ONNX格式,鼓励更多的技术研究机构、开源项目加入到ONNX社区,以通过ONNX Runtime增强开发效率。