Entdecke, wie ONNX die Übertragbarkeit und Interoperabilität von KI-Modellen verbessert und den nahtlosen Einsatz von Ultralytics YOLO Modellen auf verschiedenen Plattformen ermöglicht.
Im sich schnell entwickelnden Bereich der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML) ist es wichtig, Modelle effizient zwischen verschiedenen Tools und Plattformen auszutauschen. ONNX (Open Neural Network Exchange) geht diese Herausforderung an, indem es ein Open-Source-Format speziell für KI-Modelle bereitstellt. Es fungiert als universeller Übersetzer, der es Entwicklern ermöglicht, ein Modell in einem Framework zu trainieren, z. B. PyTorchtrainieren und es dann mit einem anderen Framework oder einer Inferenz-Engine, wie TensorFlow oder spezialisierte Laufzeiten wie ONNX Runtime. Diese Interoperabilität vereinfacht den Weg von der Forschung zur Produktion und fördert die Zusammenarbeit und Flexibilität innerhalb des KI-Ökosystems. ONNX wurde ursprünglich von Facebook AI Research und Microsoft Research entwickelt und ist heute ein florierendes Community-Projekt.
Der Kernwert von ONNX liegt in der Förderung Übertragbarkeit und Interoperabilität innerhalb des Lebenszyklus der KI-Entwicklung. Anstatt an das Ökosystem eines bestimmten Frameworks gebunden zu sein, können Entwickler/innen ONNX nutzen, um Modelle frei zwischen verschiedenen Tools und Hardwareplattformen zu bewegen. Durch die Definition eines gemeinsamen Satzes von Operatoren (die Bausteine von neuronale Netze) und ein Standarddateiformat (.onnx
), stellt ONNX sicher, dass die Struktur und die gelernten Parameter eines Modells (Gewichte) werden einheitlich dargestellt. Dies ist besonders vorteilhaft für Nutzer von Ultralytics YOLO Modelle, denn Ultralytics bietet einfache Methoden für Modelle ins ONNX exportieren. Diese Exportfunktion ermöglicht es den Nutzern, Modelle wie YOLOv8 oder die neueste YOLO11 und setzen sie auf einer Vielzahl von Hardware- und Software-Plattformen ein, oft unter Verwendung optimierter Inferenzmaschinen für verbesserte Leistung und Hardware-Beschleunigung.
ONNX erreicht die Interoperabilität durch mehrere wichtige technische Merkmale:
ONNX dient als entscheidende Brücke zwischen Modellschulungsumgebungen und verschiedenen Einsatzzielen. Hier sind zwei konkrete Beispiele:
Es ist wichtig, ONNX von verwandten Begriffen zu unterscheiden:
.pt
/.pth
oder TensorFlow's SavedModel sind nativ für ihre jeweiligen Frameworks. ONNX fungiert als Vermittler, der die Konvertierung zwischen diesen Formaten oder die Bereitstellung über eine gemeinsame Laufzeitumgebung ermöglicht. TorchScript ist ein weiteres Format für die Serialisierung von PyTorch , das manchmal als Alternative oder Vorläufer des ONNX verwendet wird.Zusammenfassend lässt sich sagen, dass ONNX ein wichtiger Standard ist, um Flexibilität und Interoperabilität in der Pipeline für maschinelles Lernen (MLOps) zu gewährleisten und es Entwicklern zu ermöglichen, die besten Tools für Training und Einsatz zu wählen, ohne durch Framework-Einschränkungen eingeschränkt zu werden. Plattformen wie Ultralytics HUB nutzen solche Formate, um den Weg von der Modellentwicklung zur realen Anwendung zu vereinfachen.