框架
和Java生成的中间文件可以在JVM上运行一样,AI技术在具体落地应用方面,和其他软件技术一样,也需要具体的部署和实施的。既然要做部署,那就会有不同平台设备上的各种不同的部署方法和相关的部署架构工具
onnx
在训练模型时可以使用很多不同的框架,比如 Pytorch, TensorFLow, MXNet,以及深度学习最开始流行的 Caffe 等等,这样不同的训练框架就导致了产生不同的模型结果包,在模型进行部署推理时就需要不同的依赖库,而且同一个框架比如 tensorflow 不同的版本之间的差异较大
为了解决这个混乱问题,LF AI 这个组织联合 Facebook, MicroSoft等公司制定了机器学习模型的标准,这个标准叫做ONNX, Open Neural Network Exchage,所有其他框架产生的模型包 (.pth, .pb) 都可以转换成这个标准格式,转换成这个标准格式后,就可以使用统一的 ONNX Runtime等工具进行统一部署。onnx runtime引擎为生成的onnx模型文件提供推理功能
OpenVino
Intel公司针对自家设备开开发的部署工具
TensorRT
NVIDIA公司针对自家GPU开发的部署工具
MediaPipe
Google针对自家硬件设备和深度学习框架开发的部署工具
NCNN
腾讯公司开发的移动端平台部署工具
Optimum
Optimum是huggingface transformers库的一个扩展包,用来提升模型在指定硬件上的训练和推理性能。该库文档地址为 Optimum。
huggingface optimum中文教程-1、初探 - 知乎
Diffusers
Hugging Face 平台提供了基础模型权重以及通用的模型训练框架 diffusers