使用 ONNX Runtime 进行设备端训练

设备端训练 指的是在边缘设备(如手机、嵌入式设备、游戏机、Web 浏览器等)上训练模型的过程。这与在服务器或云端训练模型形成对比。设备端训练可用于

  • 个性化任务,其中模型需要在用户数据上进行训练。
  • 联邦学习任务,其中模型在分布在多个设备上的数据上进行本地训练,以努力构建更强大的聚合全局模型。
  • 提高数据隐私和安全性,尤其是在处理无法与服务器或云共享的敏感数据时。
  • 当网络连接不可靠或受限时,在本地进行训练(不影响应用程序功能)。

ONNX Runtime 训练 提供了一种在边缘设备上高效训练和推理 ONNX 模型的简便方法。训练过程分为两个阶段

离线阶段

在此阶段,训练工件在服务器、云或无法访问用户数据的桌面设备上准备。这些工件可以使用 ONNX Runtime 训练工件生成 Python 工具 生成,这些工具在 Python 包中提供。

请参阅安装说明

训练阶段

一旦生成这些工件,就可以将其部署到边缘设备上的生产场景中。ONNX Runtime 在多种语言绑定中提供了各种软件包。

请参阅安装说明以获取所有语言绑定的完整列表。

一旦边缘设备上的训练完成,就可以在边缘设备本身上生成可用于推理的 ONNX 模型。然后,此模型可以与 ONNX Runtime 一起用于推理。

安装

请参阅安装说明,了解如何为您的场景安装的详细信息。

从源代码构建

请参阅构建说明,了解如何为您的自定义场景构建的详细信息。

功能请求、错误报告或需要帮助

如果您需要帮助,请打开一个 issue