On-Device Training mit ONNX Runtime

On-Device Training bezeichnet den Prozess des Trainings eines Modells auf einem Edge-Gerät, wie z. B. Mobiltelefonen, eingebetteten Geräten, Spielekonsolen, Webbrowsern usw. Dies steht im Gegensatz zum Training eines Modells auf einem Server oder in der Cloud. Das Training auf dem Gerät kann für folgende Zwecke verwendet werden:

  • Personalisierungsaufgaben, bei denen das Modell auf den Daten des Benutzers trainiert werden muss.
  • Federated Learning-Aufgaben, bei denen das Modell lokal auf Daten trainiert wird, die auf mehrere Geräte verteilt sind, um ein robusteres aggregiertes globales Modell zu erstellen.
  • Verbesserung des Datenschutzes und der Sicherheit, insbesondere bei der Arbeit mit sensiblen Daten, die nicht mit einem Server oder einer Cloud geteilt werden können.
  • Lokales Training (ohne Beeinträchtigung der Anwendungsfunktionalität), wenn die Netzwerkkonnektivität unzuverlässig oder begrenzt ist.

ONNX Runtime Training bietet eine einfache Möglichkeit, ONNX-Modelle effizient auf Edge-Geräten zu trainieren und Schlussfolgerungen zu ziehen. Der Trainingsprozess ist in zwei Phasen unterteilt:

Die Offline-Phase

In dieser Phase werden Trainingsartefakte auf einem Server, in der Cloud oder auf einem Desktop vorbereitet, der keinen Zugriff auf Benutzerdaten hat. Diese Artefakte können mithilfe der ONNX Runtime Training-Python-Tools zur Artefakterstellung generiert werden, die im Python-Paket verfügbar sind.

Siehe die Installationsanweisungen

Die Trainingsphase

Sobald diese Artefakte generiert sind, können sie in Produktionsszenarien auf Edge-Geräten bereitgestellt werden. ONNX Runtime bietet eine breite Palette von Paketen in verschiedenen Sprachbindungen.

Siehe die Installationsanweisungen für eine vollständige Liste aller Sprachbindungen.

Sobald das Training auf dem Edge-Gerät abgeschlossen ist, kann ein inferenzbereites ONNX-Modell auf dem Edge-Gerät selbst generiert werden. Dieses Modell kann dann mit ONNX Runtime für Inferenz verwendet werden.

Installation

Siehe die Installationsanweisungen für Details, wie Sie für Ihr Szenario installieren.

Build aus dem Quellcode

Siehe die Build-Anweisungen für Details, wie Sie für Ihr benutzerdefiniertes Szenario erstellen.

Feature-Anfrage, Fehlerbericht oder Hilfe benötigt

Wenn Sie Hilfe benötigen, eröffnen Sie bitte ein Issue.