Lernen mit ONNX für den Handel - Seite 6

 

Angewandtes maschinelles Lernen mit ONNX Runtime



Angewandtes maschinelles Lernen mit ONNX Runtime

Jennifer Looper, Principal Education Cloud Advocate bei Microsoft, erörtert in diesem Video die Konvergenz von App-Erstellung, maschinellem Lernen und Data Science. Sie empfiehlt die Entwicklung intelligenter Apps für das Web und untersucht verschiedene JavaScript-APIs, darunter ml5.js, Magenta.js, PoseNet und Brain.js, um maschinelle Lerntechnologie in Apps zu integrieren. Looper betont die Nützlichkeit von scikit-learn für klassisches maschinelles Lernen und empfiehlt es als leistungsstarkes Tool ohne die schwere Lösung neuronaler Netze. Sie erörtert auch die Onnx-Laufzeit, die das Training und die Inferenz optimiert, indem sie einen gemeinsamen Satz von Operatoren zum Erstellen von Modellen für maschinelles Lernen und Deep Learning definiert, und bezieht Daten von Kaggle, um den Prozess der Durchführung einer grundlegenden Klassifizierungsaufgabe mithilfe von überwachtem maschinellem Lernen zu erklären. Der Referent demonstriert dann, wie man mithilfe von Modellen für maschinelles Lernen eine Empfehlungsmaschine erstellt, und schlägt vor, die Online-Ressourcen von Microsoft zu besuchen, um mehr über maschinelles Lernen zu erfahren. Sie kommt zu dem Schluss, dass Onnx Runtime für Anfänger als Teil ihres Lehrplans oder für alle geeignet ist, die mehr über maschinelles Lernen erfahren möchten.

  • 00:00:00 In diesem Abschnitt erörtert Jen Looper, Principal Education Cloud Advocate bei Microsoft, die Konvergenz zwischen App-Entwicklung und maschinellem Lernen und Data Science. Sie erläutert die Herausforderungen bei der Entwicklung mobiler Apps heute, insbesondere angesichts neuer Apps, die mit Intelligenz durchdrungen sind und im Hintergrund maschinelle Lernalgorithmen ausführen. Looper behauptet, dass diese neue Nachfrage nach intelligenten Erfahrungen zunächst zu den Herausforderungen beigetragen hat, denen Entwickler von Indie-Apps gegenüberstehen.

  • 00:05:00 In diesem Abschnitt erläutert der Referent, wie man intelligente Apps erstellt und welche architektonischen Entscheidungen und technischen Stacks diesen Prozess leiten würden. Zu den Optionen gehören das Erstellen einer nativen App, das Erstellen für das Web oder das Erstellen für den Desktop. Der Redner empfiehlt, beim Erstellen intelligenter Apps im Internet zu bleiben, und erklärt, dass es trotz der Unterschiede in den Fähigkeiten zwischen Webentwicklern und Ingenieuren für maschinelles Lernen Möglichkeiten gibt, diese Bereiche zusammenzuführen. Der Referent veranschaulicht die Zusammenarbeit zwischen Entwicklern und Ingenieuren für maschinelles Lernen, wobei er die Verwendung von Devops, Datenbeschaffung und -bereinigung, Schulung und Iteration sowie das ML-Ops-Team anführt, das eine genaue Bereitstellung und kontinuierliche Verbesserung von maschinellen Lernmodellen gewährleistet.

  • 00:10:00 Persönliche Anekdoten, der Referent erklärt, wie das Überbrücken von Gräben in der maschinellen Lerntechnik und das Erstellen von Web-Apps weniger entmutigend sein kann als die Überwindung der Angst vor Brücken. Der Referent stellt verschiedene Tools zur Einbindung von Machine-Learning-Technologie in Web-Apps vor, darunter TensorFlow.js, Brain.js und ONNX. Sie hebt die Vorteile jedes Tools hervor und ermutigt die Zuschauer, die TensorFlow-Website zu erkunden, um die coolen Demos zu entdecken, die sie anbieten. Sie konzentriert sich auch auf ONNX Runtime und seine Fähigkeit, ONNX-basierte Modelle in Web-Apps zu integrieren. Insgesamt zielt der Referent darauf ab, App-Entwicklern Kenntnisse über die verfügbaren Tools zur Verbesserung ihrer Apps mit maschineller Lerntechnologie zu vermitteln.

  • 00:15:00 In diesem Abschnitt des Videos erörtert der Sprecher verschiedene Javascript-APIs, die mit vortrainierten Modellen verwendet werden können, um künstliche Intelligenz im Browser zu erforschen und zu erstellen. Eines davon ist ml5.js, das auf Tensorflow aufbaut und Beispiele zur Bilderkennung und Tonanalyse bietet. Eine weitere erwähnte API ist Magenta.js, die vortrainierte Modelle verwendet, um Musik und Kunst im Browser zu erstellen. Der Referent spricht auch über PoseNet, mit dem einzelne oder mehrere Posen für den ganzen Körper, das Gesicht oder nur die Hand geschätzt werden können. Abschließend stellt der Referent Brain.js vor, mit dem neuronale Netze in Javascript auf Browsern und Node.js ausgeführt werden können.

  • 00:20:00 In diesem Abschnitt erörtert der Referent die Einschränkungen der Verwendung von JavaScript und des Browsers zum Trainieren von Modellen für maschinelles Lernen, was darauf hindeutet, dass dies keine großartige Umgebung für diesen Zweck ist und sich besser zum Ausführen von Standardmodellen eignet oder bestehende umzuschulen. Sie empfehlen, dass Python für robustere und geeignetere Modelle für maschinelles Lernen der richtige Weg ist und Programmierer genug Python lernen können, um gefährlich zu sein, und mit Jupyter Notebooks zum Trainieren ihrer Modelle arbeiten können. Sie diskutieren auch die Nutzung von Diensten wie loeb.ai für das Training zu Bildern und anderen Medien.

  • 00:25:00 In diesem Abschnitt erörtert der Referent eine Alternative zur Verwendung von TensorFlow für maschinelles Lernen, scikit-learn. Der Referent erklärt, dass nicht alle maschinellen Lernprobleme neuronale Netze erfordern, und sie haben auf GitHub einen Lehrplan erstellt, der keine neuronalen Netze verwendet. Sie zeigen auch, wie sie scikit-learn verwendet haben, um eine Küche-Empfehlungsanwendung zu erstellen, die von einer ONNX-Laufzeit unterstützt wird und es Benutzern ermöglicht, Zutaten einzugeben und Vorschläge für eine Art von Küche zu erhalten, die sie mit diesen Zutaten zubereiten können. Der Referent betont die Nützlichkeit von scikit-learn für klassisches maschinelles Lernen und empfiehlt es als mächtiges Werkzeug ohne die schwere Lösung neuronaler Netze.

  • 00:30:00 In diesem Abschnitt des Videos stellt der Sprecher scikit-learn vor, ein Open-Source-Framework für maschinelles Lernen, das Beispiele und Dokumentation für grundlegende maschinelle Lernaufgaben wie Klassifizierung, Regression und Clustering bereitstellt. Sie erklären, dass scikit-learn ein beliebtes Framework unter Datenwissenschaftlern ist und für jeden zugänglich ist, da es mit numpy, scipy und matplotlib gebündelt geliefert wird. Anschließend erörtert der Referent Onnx Runtime, ein Produkt von Open Neural Network Exchange (Onnx), das Training und Inferenz optimiert, indem es einen gemeinsamen Satz von Operatoren zum Erstellen von Modellen für maschinelles Lernen und Deep Learning definiert. Onnx Runtime unterstützt eine Vielzahl von Frameworks, Tools und Laufzeiten und ermöglicht es KI-Entwicklern, ihr bevorzugtes Framework mit ihrer gewählten Inferenz-Engine zu verwenden. Der Referent skizziert einen typischen Arbeitsablauf für maschinelles Lernen, der das Bereinigen von Daten mit Python, das Trainieren von Modellen mit scikit-learn und das Konvertieren von Modellen zur Verwendung mit Onnx Runtime mithilfe der skl-to-Onnx-Bibliothek umfasst.

  • 00:35:00 In diesem Abschnitt des Videos bezieht der Sprecher Daten von Kaggle über verschiedene Arten von Küchen und erklärt, wie die Daten bereinigt und ausgeglichen werden. Der Datensatz enthält 100 potenzielle Inhaltsstoffe, die als indisch, thailändisch, koreanisch, japanisch oder chinesisch klassifiziert sind. Um das Modell zu erstellen, erklärt der Referent, dass Sie einen Algorithmus, einen Klassifikator und einen Solver auswählen müssen, um die Ergebnisse zu optimieren. Der Datensatz ist klein, mit nur etwa 700 Datenpunkten. Die Daten sind gekennzeichnet, was bedeutet, dass überwachtes Lernen verwendet werden kann, und der Referent betont, wie wichtig es ist, die Daten zu verstehen, bevor sie für die Verwendung in maschinellen Lernanwendungen geformt und bereinigt werden.

  • 00:40:00 In diesem Abschnitt erläutert der Referent den Prozess der Durchführung einer grundlegenden Klassifizierungsaufgabe mithilfe von überwachtem maschinellem Lernen und der Auswahl eines mehrklassigen Klassifizierungsalgorithmus. Der Moderator präsentiert einen Spickzettel für die Mehrklassenklassifizierung und schließt neuronale Netze aufgrund der Art des Datensatzes und des lokalen Trainings aus. Die beiden verbleibenden Mehrklassen-Klassifizierungsalgorithmen sind logistische Regression und Entscheidungswälder. Der Präsentator wählt die logistische Regression und entscheidet sich für Eins versus Rest, um die Mehrklassenklassifizierung zu handhaben. Der Moderator erklärt dann, wie wichtig es ist, den richtigen Solver auszuwählen, und wählt den liblinearen Solver aus. Der Moderator trainiert das Modell mithilfe von lr fit und testet seine Genauigkeit anhand eines Rezepts mit Koriander, Zwiebeln, Erbsen, Kartoffeln, Tomaten und Pflanzenölen und gibt eine Genauigkeit von 71 % an. Der Referent stellt auch einen Spickzettel für Scikit-learn-Algorithmen vor, um bei der Auswahl eines geeigneten Algorithmus basierend auf der Menge an verfügbaren Daten und Bezeichnungen zu helfen.

  • 00:45:00 In diesem Abschnitt erörtert der Referent die Bedeutung der Auswahl des richtigen Klassifizierungsalgorithmus beim Erstellen eines Modells für maschinelles Lernen. Sie demonstrieren, wie sie mit verschiedenen Klassifikatoren und Lösern experimentiert haben, um herauszufinden, welche die beste Genauigkeit lieferten. Nachdem sie sich für den Support Vector Classifier (SVC) entschieden hatten, bauten sie das Modell um und testeten seine Genauigkeit. Nachdem sie mit der Genauigkeit des Modells zufrieden waren, wandelten sie es in eine Onyx-Datei um und verwendeten die Onyx-Laufzeitumgebung zum Erstellen einer Webanwendung. Der Referent erklärt, wie sie eine einfache Webanwendung mit einer Reihe von Kontrollkästchen erstellt haben, um Inhaltsstoffdaten in ein importiertes Modell einzuspeisen, und wie sie eine asynchrone Funktion verwendet haben, um die Inferenz zu starten. Anschließend demonstrierten sie die Web-App und überprüften, was das Modell vorschlug.

  • 00:50:00 Dieser Abschnitt des Videos zeigt, wie Sie mithilfe von Modellen für maschinelles Lernen eine Empfehlungsmaschine erstellen. Durch die Eingabe einer Zutatenliste schlägt das Modell vor, welche Art von Küche man kreieren könnte. Darüber hinaus lädt der Redner die Zuschauer ein, mehr über maschinelles Lernen über die Online-Ressourcen von Microsoft zu erfahren, die kostenlose Inhalte zu verschiedenen Themen bieten, darunter Clustering, Regression, Klassifizierung, Verstärkungslernen, Verarbeitung natürlicher Sprache und Zeitreihenanwendungen. Der Redner ermutigt die Zuschauer, Fragen zu stellen und sich mit den Inhalten auf der Website mycommworld.com auseinanderzusetzen.

  • 00:55:00 In diesem Abschnitt wird die Frage gestellt, ob Onnx Runtime ein gutes Tool für Einsteiger ist. Die Antwort ist ja, denn einer der Redner ist ein autodidaktischer Webentwickler, der glaubt, dass jeder alles lernen kann, wenn er sich nur genug anstrengt. Daher eignet sich Onnx Runtime für Anfänger als Teil ihres Lehrplans oder für alle, die mehr über maschinelles Lernen erfahren möchten.
Applied Machine Learning with Onnx Runtime
Applied Machine Learning with Onnx Runtime
  • 2021.12.02
  • www.youtube.com
This conference talk was delivered via the One Million Arab Coders initiative. It gives an overview of what applied ML is, how we need to bridge the divide b...
 

Bringen Sie die Leistung von ONNX wie nie zuvor zu Spark



Bringen Sie die Leistung von ONNX wie nie zuvor zu Spark

In diesem Video erklärt Shivan Wang von Huawei, wie man die Leistung von ONNX für Rückschlüsse auf Spark bringt. Er erörtert die Herausforderungen bei der Bereitstellung von DL-Modellen auf Spark und wie die Spark-Community einen Vorschlag namens Spip initiiert hat, um den Prozess zu vereinfachen. Der Redner erörtert auch den KI-Prozessor von Huawei, Ascent und das Ascent-KI-Ökosystem, das mehrere Ascent-Prozessormodelle und Atlas-Hardware umfasst. Er schlägt vor, Con als neuen Ausführungsanbieter in der nächsten Laufzeit hinzuzufügen, um ONNX-Modelle direkt auf Ascent-Hardware zu verwenden, ohne dass eine Modellübersetzung erforderlich ist. Abschließend erwähnt er, dass der POC-Code, um die Leistung von ONNX auf Spark zu bringen, fast fertig ist, und begrüßt interessierte Benutzer, eine Nachricht zu hinterlassen, um sie zu diskutieren und möglicherweise Ressourcen für Testzwecke bereitzustellen.

  • 00:00:00 In diesem Abschnitt erläutert Shivan Wang von Huawei, wie man Spark die Leistung von Onyx zur Inferenz bringen kann. Er erklärt, dass die gut definierte Datenrahmen-Inferenzschnittstelle sehr benutzerfreundlich für Dateningenieure ist, die Daten einfach laden und das Feature-Engineering abschließen können. Es gibt jedoch Lücken zwischen KI-Frameworks und internen Pre-Samples, was die Bereitstellung von DL-Modellen auf Spark erschwert. Um den Prozess zu vereinfachen, hat die Spark-Community eine Diskussion über einen Vorschlag namens Spip initiiert, der eine einfache API bereitstellen wird, um den Prozess von Spark und KI in kleinen Zellen zu beeinflussen. Schließlich können Benutzer durch Ausführen der Onyx-Inferenz im Spark-Executor den Onyx-Einfluss auf Big Data mithilfe der Onyx-Inferenzplattform einfach vervollständigen.

  • 00:05:00 In diesem Abschnitt erörtert der Redner den KI-Prozessor von Huawei namens Ascent und das Ascent-KI-Ökosystem, das mehrere Ascent-Prozessormodelle und Atlas-Hardware umfasst. Die Softwareschicht des Ascent-Ökosystems heißt Cam und bietet APIs, mit denen Entwickler schnell KI-Anwendungen unter Diensten erstellen können, die auf der Ascent-Plattform basieren. Um ein ONNX-Modell auf anderer Hardware auszuführen, muss der Benutzer zuerst ein von Con bereitgestelltes Modellübersetzungstool verwenden, um das Modell von ONNX nach Ascent zu übersetzen. Der Sprecher schlägt jedoch vor, dass eine bessere Lösung darin besteht, Con als neuen Ausführungsanbieter in der nächsten Laufzeit hinzuzufügen, sodass Benutzer ONNX-Modelle direkt auf Ascent-Hardware verwenden können, ohne dass eine Modellübersetzung erforderlich ist. Sie planen, den gesamten ONNX-Operator-Support bis Ende dieses Jahres abzuschließen und sicherzustellen, dass alle Modelle im ONNX-Modell Zoo auf Ascent gut funktionieren, gefolgt von der Weiterentwicklung im nächsten Jahr.

  • 00:10:00 In diesem Abschnitt erwähnt der Redner, dass der POC-Code, um die Leistung von ONNX zu Spark zu bringen, fast vollständig ist und grundlegende Operationen wie die Add-Operation korrekt ausgeführt werden können. Sie laden auch interessierte Benutzer ein, eine Nachricht zu hinterlassen, um zu diskutieren und möglicherweise Ressourcen für Testzwecke bereitzustellen. Der Abschnitt schließt mit einem Dank an die Zuschauer fürs Zuschauen.
Bring the power of ONNX to Spark as it never happened before
Bring the power of ONNX to Spark as it never happened before
  • 2022.07.13
  • www.youtube.com
Both data processing platforms and deep learning frameworks are evolving in their own fields. Usually, Spark is used for offline data processing, and then va...
 

Builders Build #3 – Von der Zusammenarbeit zur Produktion mit ONNX



Builders Build #3 – Von der Zusammenarbeit zur Produktion mit ONNX

Das Video veranschaulicht den Prozess der Bereitstellung eines Projekts von Colab in der Produktion mithilfe von ONNX. Der Referent behandelt verschiedene Aspekte wie die Vorverarbeitung von Signalen, das Ändern von Code für die Bereitstellung, das Erstellen eines Handlers auf AWS Lambda, das Akzeptieren von Audioeingaben auf einer Website, das Hochladen einer Funktion in S3 und das Bereitstellen von Abhängigkeiten für ONNX. Trotz einiger Schwierigkeiten stellt der Redner sein Modell erfolgreich mit AWS bereit und schlägt vor, dass er für zukünftige Schritte einen Browser zum Laden von Base64-Dateiobjekten oder Sounddatei-Lesebits verwenden kann.

Darüber hinaus zeigt das Video die Verwendung des SimCLR-Modells für kontrastives Lernen in Audio, das Erstellen eines Katalogs von Songs durch Einspeisen in das Modell und das Trainieren mit PyTorch, um bei k = 1 null Verlust und Rückruf zu erreichen. Der Referent diskutiert die Herausforderungen beim Einsatz von PyTorch in der Produktion und schlägt ONNX als Lösung vor. Das Video zeigt, wie Sie das PyTorch-Modell im ONNX-Format exportieren und laden und Inferenzen ausführen. Es zeigt auch, wie Audiodateien mit Torch Audio- und Numpy-Bibliotheken verarbeitet werden, und behebt Probleme beim Einrichten eines PyTorch-Modells für die Bereitstellung. Das Video bietet Einblicke in die Verlagerung von Modellen aus der Entwicklung in Colab-Notebooks in Produktionsumgebungen.

  • 00:00:00 In diesem Abschnitt diskutiert der Sprecher einen einfachen Rahmen für das kontrastive Lernen der visuellen Repräsentation unter Verwendung des SimCLR-Modells, bei dem zwei zufällige Transformationen aus einem Satz verschiedener Transformationen, die auf ein Bild angewendet werden, abgetastet werden, was zu zwei verschiedenen Bildern (x Tilde i und x Tilde j), die dann an einen Codierer (resnet 50) übergeben werden, um zwei Vektoren (hi und hj) zu ergeben, die an eine Projektionsfunktion (MLP) übergeben werden, um zwei Projektionen (zi und zj) zurückzugeben. Das Ziel besteht darin, die Kosinus-Ähnlichkeit der beiden Projektionen zu maximieren, indem ein Kontrastverlust verwendet wird, um f und g zu lernen, sodass die Ausgabe der beiden Projektionen des Modells sehr nahe beieinander liegt. Der Sprecher wendet dieses Framework auf Audio an, bei dem die Eingabe kein Bild, sondern ein in ein Spektrogramm umgewandeltes Signal ist, und verwendet einen Tiefpassfilter, um die Wiedergabegeschwindigkeit als eine der verschiedenen Transformationen zu ändern.

  • 00:05:00 In diesem Abschnitt erörtert der Moderator die Implementierung des NT_Xent-Verlusts, der für das Modell verwendet wurde, bei dem es sich um einen Kreuzentropieverlust handelt, der ein Paar positiver Werte und die Summe negativer Paare umfasst. Sie sprechen auch ein wenig davon, während der Auswertung zu schummeln, indem sie die gleichen Testdaten als Trainingsdaten verwenden und die Erinnerung bei k als Metrik verwenden. Schließlich erwähnen sie, dass sie eine Implementierung der Verlustfunktion auf einer Website namens Lightning gefunden haben und diese beim Testen mit Dummy-Daten gut funktioniert hat.

  • 00:10:00 In diesem Abschnitt erklärt der Sprecher, wie sie einen Katalog von Songs erstellt haben, indem sie sie in das Modell eingespeist haben, um einen Satz von Vektoren zu erhalten, die jeden Song darstellen, die dann mit ihren entsprechenden Titeln, Audiosignalen usw. gespeichert wurden Indexdarstellungen. Anschließend berechneten sie Ähnlichkeiten, indem sie das Skalarprodukt der Merkmale und des Katalogindex nahmen, die Vektoren normalisierten und den Abruf bei k berechneten, um die besten Übereinstimmungen zu ermitteln. Sie verwendeten eine normale Trainingsschleife in PyTorch und fügten den LARS-Optimierer hinzu, der dem Modell half, auf null Verlust zu konvergieren und einen Rückruf bei k gleich eins zu erreichen, was bedeutet, dass es konsistent den richtigen Song vorhersagte. Anschließend erörtert der Referent die Herausforderung bei der Verwendung von PyTorch in der Produktion und stellt eine Lösung mit ONNX vor, einem Format, das eine nahtlose Integration mit anderen Frameworks und die Bereitstellung auf verschiedenen Geräten ermöglicht.

  • 00:15:00 In diesem Abschnitt erörtert der Referent die Verwendung von ONNX, einem leichtgewichtigen Framework für Inferenz, mit dem Modelle aus anderen Frameworks wie PyTorch und TensorFlow zum Hosten in der Cloud importiert werden können. Der Redner beabsichtigt, eine Python-Handler-Funktion zu erstellen, die ONNX nutzt, um Inferenz auf Audiodaten auszuführen, das Spektrogramm aus dem Audio abzurufen, das Modell auf dem Spektrogramm auszuführen und ein JSON-Objekt mit Vorhersagen zurückzugeben. Der Referent weist darauf hin, dass das Modell zur Verwendung von ONNX als .onnx-Dateierweiterung gespeichert werden muss, und erklärt den Vorgang zum Exportieren des Modells von PyTorch nach ONNX.

  • 00:20:00 In diesem Abschnitt erklärt der Referent, wie Sie ein Modell mit den Funktionen „torch.one“ und „x.export“ aus dem PyTorch-Format in das ONNX-Format exportieren. Die Dummy-Eingabe ermöglicht es dem ONNX-Format, die erwartete Form der Eingabedatei zu verstehen, und Ausgabe- und Eingabenamen werden mithilfe eines Wörterbuchs oder JSON-Objekts angegeben. Der Referent liefert ein Beispiel für den Export eines Modells namens simclr mit dem aktuellen Zeitstempel, verwendet export params, um die Zugparametergewichtungen in der Modelldatei zu speichern, und zeigt, wie eine Lambda-Funktion hinzugefügt wird, um den Zeitstempel des Modells abzurufen.

  • 00:25:00 Beginnen Sie einen neuen Abschnitt, in dem der Ersteller des Videos untersucht, wie er mithilfe von ONNX Inferenzen für ein Modell lädt und ausführt. Sie erörtern das Erstellen einer Inferenzsitzung und das Laden des Modells aus einem Modellpfad. Der Ersteller plant, das Modell in eine API zu integrieren, ist sich aber nicht sicher, wie er das Audio in den Handler bekommt. Sie erwägen die Verwendung eines Base-64-Dings und erstellen eine neue Datei, um es zu testen. Anschließend besprechen sie, wie die Inferenz ausgeführt wird, ohne ein Modell zu laden, und beschließen, sich stattdessen darauf zu konzentrieren.

  • 00:30:00 In diesem Abschnitt erörtert der Sprecher die Änderung des Codes zur Verwendung von Torch-Audio anstelle eines numpy-Arrays. Der Sprecher entdeckt, dass er Fackel-Audio verwenden kann, und installiert es, um voranzukommen. Sie besprechen dann das Modifizieren der Eingabe- und Ausgabenamen und nennen die Ausgabe "Projektion", um Kosinus-Ähnlichkeit gegen ihre Bibliothek durchzuführen. Die Bibliothek ist als JSON-Objekt mit einer Reihe von Titeln, einer Reihe von Wellenformen und einer Reihe von Projektionen eingerichtet, die der Sprecher in seinen Kosinus-Ähnlichkeitsberechnungen verwenden möchte.

  • 00:35:00 In diesem Abschnitt schreibt der Sprecher Code und erklärt den Vorgang laut. Sie schreiben ein Skript, um eine Liste von Songs in einer Musikbibliothek zu sortieren, und diskutieren dabei verschiedene Techniken wie Matrixmultiplikation, Ähnlichkeiten und Sortieralgorithmen. Der Sprecher lädt auch eine JSON-Bibliothek und verwendet sie im Skript. Das Video ist Teil einer Reihe zum Erstellen von Software von der Zusammenarbeit bis zur Produktion mit dem ONNX-Framework.

  • 00:40:00 In diesem Abschnitt demonstriert der Moderator, wie ONNX verwendet wird, um einen Katalog im JSON-Format zu erstellen und zu speichern. Der Katalog wird aus Arrays erstellt, und der Präsentator überprüft die Formen, bevor er den Katalog mit der Funktion „dump()“ als JSON-Datei ausgibt. Der daraus resultierende Fehler wird behoben, indem der „Katalog“ in eine Kopie von „Bibliothek“ geändert wird. Der Präsentator wandelt dann die Arrays mit der Methode „tolist()“ in Listen um und lädt die JSON-Datei herunter. Abschließend zeigt der Moderator, wie die gespeicherte JSON-Datei mit der Funktion „load()“ geladen wird.

  • 00:45:00 In diesem Abschnitt erläutert der Referent seinen Ansatz zur Verarbeitung von Audiodateien aus Dateipfaden mit Torch Audio und Numpy-Bibliotheken in Python. Sie erklären, dass sie Torch Audio heruntergeladen haben und seine „Vorverarbeitungssignal“-Methode verwenden werden, um die Audiodatei erneut zu sampeln und vorzuverarbeiten. Anschließend verwenden sie die Mean-Funktion von Numpy, um den Mittelwert des verarbeiteten Signals unter Beibehaltung der Abmessungen zu berechnen, gefolgt vom Auffüllen des Signals mit np.pad. Insgesamt liefert der Referent eine klare und prägnante Erklärung ihrer Verarbeitungsmethode.

  • 00:50:00 In diesem Abschnitt des Videos versucht der Sprecher, mithilfe einer Funktion ein Spektrogramm einer Wellenform zu erhalten. Es scheint jedoch einige Probleme mit der Funktion zu geben, die die Zielabtastrate nicht erkennt und zu einer Fehlermeldung führt. Der Sprecher versucht, einen Testclip zur Fehlerbehebung zu verwenden, und druckt die Form des Spektrogramms, das eine unerwartete Ausgabe zurückgibt. Es ist unklar, was genau die Probleme verursacht, ob es sich um ein Eingabe- oder ein Modellproblem handelt.

  • 00:55:00 In diesem Abschnitt wertet der Sprecher einige der Fehlermeldungen aus, die beim Versuch, ein PyTorch-Modell für die Bereitstellung einzurichten, angezeigt wurden, und identifiziert Probleme mit der Größe des Torch-Pakets und inkompatiblen Abhängigkeiten. Sie stellen fest, dass eine mit Torch Audio geladene Datei angibt, dass sie über 1 GB Speicher benötigt, was möglicherweise zu Problemen führt, wenn Modelle mit großen Dateieingaben ausgeführt werden. Um dies zu beheben, schlagen sie vor, Dateien stattdessen mit librosa zu laden und Torch Audio zu ersetzen, wenn Spezifikationen wie Frequenz konvertiert und Dateien geladen werden. Insgesamt konzentriert sich dieser Abschnitt darauf, einige der Probleme hervorzuheben, die beim Übergang von Modellen von der Entwicklung in Colab-Notebooks zur Bereitstellung in Produktionsumgebungen auftreten können.

  • 01:00:00 In diesem Abschnitt installiert der Sprecher Torch und Torch Audio, um das Projekt weiter aufzubauen, das immer noch eine kleine Größe von weniger als 500 Megabyte hat. Sie verwenden Librosa und Resampling, um sicherzustellen, dass das Signal mit der ursprünglichen Abtastrate und einer Zielabtastrate zurückkehrt. Sie stoßen beim Ausführen des Skripts auf einige Fehler und stellen fest, dass sie verschiedene Kanäle mischen müssen, um sicherzustellen, dass das Ergebnis nicht seltsam ist. Sie setzen die Fehlerbehebung fort, um sicherzustellen, dass das Projekt wie erwartet funktioniert.

  • 01:05:00 In diesem Abschnitt arbeitet der Sprecher an der Signalvorverarbeitung und lädt verschiedene Kanäle. Sie stoßen auf ein Problem, bei dem das Signal nur einen Kanal hat und sie es mehr als einmal erweitern müssen. Der Sprecher verwendet Numpy und Squeeze Expand Dims, um das Problem zu lösen, und übernimmt schließlich die Änderungen.

  • 01:10:00 In diesem Abschnitt ändert der Sprecher den Code, um die Bereitstellung der SpeakFluent-REST-API zu ermöglichen, einer Funktion, die eine Anfrage verarbeitet und dann eine Inferenz ausführt. Sie ändern den Handler, um eine Anforderung mit der Audiodatei und dem Dateinamen zu erhalten, und speichern die Datei dann lokal. Sie führen die Inferenz mit der ONNX-Laufzeit ohne Torch aus und geben dann die beste Übereinstimmung zurück.

  • 01:15:00 In diesem Abschnitt erörtert der Sprecher den Quell-Python-Handler für die Anwendung, der derzeit eine Reihe von Songtiteln und die entsprechenden Titel mit der besten Übereinstimmung zurückgibt. Der Redner erwähnt auch zukünftige Ergänzungen des Handlers, die die Rückgabe des URI für einen S3-Bucket und den Übereinstimmungsprozentsatz für die beste Übereinstimmung beinhalten werden. Der Referent plant, eine Pause einzulegen, und wird auf den Aufbau eines tatsächlichen Handlers zurückkommen, der in eine AWS Lambda-Funktion hochgeladen und bereitgestellt werden kann.

  • 01:25:00 In diesem Abschnitt des Videos erklärt der Moderator, wie ein Handler auf AWS Lambda mithilfe eines Skripts und eines Ereignisses erstellt wird. Der Lambda-Handler ist so konzipiert, dass er ein Ereignis und keine Anfrage entgegennimmt, und er empfängt den Audioteil des Formulars aus dem Ereignis. Der Moderator erklärt, dass der Prozess das Erstellen eines Formulars am Frontend und das Abrufen der ID aus der Audioeingabe umfasst.

  • 01:30:00 In diesem Abschnitt des Videos erläutert ein Entwickler, wie Audioeingaben auf einer Website mit Javascript akzeptiert und die Datei zur Verarbeitung auf einen Server hochgeladen werden. Der Entwickler erklärt, dass er der Website eine Aufnahmeschaltfläche hinzufügen und Javascript verwenden wird, um eine Datei zu erstellen und automatisch auf den Server hochzuladen. Anschließend besprechen sie das Aufrufen von Inferenz für die hochgeladene Datei und das Zurückgeben eines 200-Statuscodes mit einem Textkörper unter Verwendung von JSON.dumps. Der Entwickler erwägt auch die Verwendung einer base64-Codierung des Audios anstelle einer Datei, um die Effizienz zu steigern. Sie untersuchen den Prozess der Ausführung der ONNX-Inferenz mit Python in AWS unter Verwendung der Lambda-Laufzeit.

  • 01:35:00 In diesem Abschnitt erläutert der Referent den Vorgang des Hochladens einer Funktion in S3 und das Erstellen einer neuen Funktion von Grund auf neu für das Projekt namens Diva. Der Sprecher äußert sich verärgert über den Prozess, fährt jedoch fort, eine neue Funktion mit Python 3.9 zu erstellen, diskutiert den Unterschied in ARM und erwägt auch, Dateien direkt in die Funktion hochzuladen.

  • 01:40:00 In diesem Abschnitt untersucht der Referent das Cloud Functions-Dashboard und demonstriert, wie man eine ZIP-Datei hochlädt, Ereignisformate in JSON ändert und ein neues Ereignis erstellt. Sie diskutieren auch die Notwendigkeit zusätzlicher Konfigurationen für Arbeitsspeicher und Umgebungsvariablen. Der Sprecher versucht dann, eine Aufnahme mit base64-Audio hinzuzufügen, stößt jedoch auf ein Problem mit den verfügbaren Optionen.

  • 01:45:00 In diesem Abschnitt scheint der Sprecher eine große JSON-Datei zu kopieren und einzufügen und sie als AWS Lambda-Bereitstellungspaket zu speichern. Sie erwähnen, dass sie eine andere Methode verwenden möchten, entfernen sie aber letztendlich und entscheiden sich stattdessen für die Verwendung des Lambda-Handlers. Sie müssen jedoch einige Dinge installieren und versuchen, einen Weg zu finden, das Paket auf AWS hochzuladen. Sie besprechen auch Exportfunktionen.

  • 01:50:00 In diesem Abschnitt erläutert der Referent die Schritte zum Kompilieren und Bereitstellen der erforderlichen Abhängigkeiten für ONNX, ein Open-Source-Modellverwaltungsprojekt. Sie erklären, dass es wichtig ist, in einer ähnlichen Umgebung wie Lambda zu kompilieren, um Kompatibilitätsprobleme zu vermeiden, und schlagen vor, den ONNX-Laufzeitordner zu finden und ihn in das Bereitstellungspaket zu kopieren. Während dieser Vorgang als "böse" angesehen werden kann, erklärt der Sprecher, dass er notwendig ist, um sicherzustellen, dass der Code ordnungsgemäß funktioniert. Dann listen sie die notwendigen Abhängigkeiten auf, darunter librosa, scipy und numpy, und besprechen die Größe des Deployment-Pakets, das bis zu 200 Megabyte betragen kann.

  • 01:55:00 In diesem Abschnitt erläutert der Referent die Schritte, die er unternehmen muss, um sein Modell mit AWS bereitzustellen. Sie müssen einen leichten Lambda-Handler erstellen, herausfinden, wie er mit AWS Limitout bereitgestellt wird, und entscheiden, ob er in S3 gespeichert werden soll, da er größer als 50 Megabyte ist. Der nächste Schritt besteht darin, die Verarbeitungsfunktion zu aktualisieren, um ein Base64-Audioobjekt anstelle einer Datei zu verwenden, und der Sprecher erwägt, einen Browser zu verwenden, um ein Base64-Dateiobjekt oder Sounddatei-Lesebits zu laden, um dies zu erreichen. Sie schließen mit der Feststellung, dass sie glauben, dass sie das einfach tun können.
Builders Build #3 - From Colab to Production with ONNX
Builders Build #3 - From Colab to Production with ONNX
  • 2022.03.21
  • www.youtube.com
Last week, we built a Shazam clone using Self-supervised learning (SimCLR).Let's get the model out of Colab and run inference in production with ONNX!I have ...
 

Kombination der Leistung von Optimum, OpenVINO™, ONNX Runtime und Azure



Kombination der Leistung von Optimum, OpenVINO™, ONNX Runtime und Azure

Das Video zeigt die Kombination von Optimum, OpenVINO, ONNX Runtime und Azure, um den Arbeitsablauf der Entwickler zu vereinfachen und die Genauigkeit und Geschwindigkeit ihrer Modelle zu verbessern. Die Referenten demonstrieren die Verwendung von Hilfsfunktionen, ONNX Runtime und dem OpenVINO Execution Provider zur Optimierung von Deep-Learning-Modellen. Sie zeigen auch, wie man sich umarmende Gesichtsmodelle mithilfe von Quantisierung im Neural Network Compression Framework optimiert, und veranschaulichen den Trainings- und Inferenzprozess mit Azure ML, Optimum, ONNX Runtime und OpenVINO. Die Demonstration unterstreicht die Leistungsfähigkeit dieser Tools bei der Verbesserung der Leistung von Modellen bei gleichzeitiger Minimierung des Genauigkeitsverlusts.

  • 00:00:00 In diesem Abschnitt des Videos spricht Cassie mit Vertretern von Intel über das OpenVINO-Toolkit und die Onyx-Laufzeitumgebung. Das OpenVINO-Toolkit verwendet fortschrittliche Optimierungstechniken, die speziell für Intel-Hardware entwickelt wurden, um die Leistung von Deep-Learning-Modellen zu steigern. Mit der Onyx-Laufzeitbibliothek und einer einfachen Modifikation der Codezeile der Instant-Session können Entwickler Intels OpenVINO-Ausführungsanbieter verwenden, um die Inferenz von Onyx-Modellen zu beschleunigen. Die im Video gezeigte Demo zeigt die beschleunigte Leistung von YOLO V7, einem beliebten Deep-Learning-Modell, auf einer Intel-CPU.

  • 00:05:00 In diesem Abschnitt des Videos erläutert der Sprecher die verschiedenen Hilfsfunktionen, die in der Demo verwendet werden, um eine Vorverarbeitung durchzuführen, bestimmten Etiketten Farbwerte zuzuweisen und Bilder zu lesen und erneut zu verarbeiten. Die Demo verwendet ONNX Runtime, um eine Inferenzsitzung zu erstellen und die Inferenzaufgabe auszuführen, und OpenVINO Execution Provider, um die Deep-Learning-Modelle auf einer Intel-CPU zu beschleunigen. Der Prozess wird vereinfacht, indem eine einfache Änderung an der Codezeile vorgenommen wird, die das Installieren von ONNX- und OpenVINO-Bibliotheken, das Importieren der ONNX-Laufzeitbibliothek und das Festlegen des OpenVINO-Anbieters umfasst. Der Referent gibt auch einen kurzen Überblick über die Architektur, wie das ONNX-Modell in eine In-Memory-Graphdarstellung umgewandelt wird und in den Graph Practitioner für Backend-Abfragen geht.

  • 00:10:00 In diesem Abschnitt erörtern die Referenten, wie sich umarmende Gesichtsmodelle mithilfe der Quantisierung im Neural Network Compression Framework optimieren lassen. Sie gehen durch ein Codebeispiel, das zeigt, wie die Quantisierung während des Trainings mit Optimum Intel und der OV-Konfiguration aktiviert wird. Sie präsentieren auch einen KI-Workflow, der Datenvorbereitung, Modelltraining, Inferenz, Bereitstellung und Automatisierung integriert, um Entwicklern und Kunden dabei zu helfen, komplexe Aktivitäten effizienter durchzuführen. Die Referenten demonstrieren, wie Azure ML verwendet werden kann, um diese Workflows für eine bessere Leistung zu unterstützen.

  • 00:15:00 In diesem Abschnitt des Videos  erläutert der Referent den Prozess des Trainings und der Inferenz mit Azure ML, Optimum, ONNX Runtime und OpenVINO. Sie beginnen damit, die Dateien und Skripts zu besprechen, die für die Trainingspipeline verwendet werden, und wie der Auftrag an Azure ML übermittelt wird. Anschließend besprechen sie das Inferenzskript und wie es ONNX Runtime und den OpenVINO-Ausführungsanbieter nutzt. Der Referent stellt Details zu den F1-Score-Ergebnissen für die Quantisierung und das Training des Modells bereit und zeigt, dass es während dieses Prozesses nur zu einem geringen Genauigkeitsverlust kam. Insgesamt bietet der Abschnitt einen detaillierten Überblick über den Prozess des Trainings und der Inferenz unter Verwendung dieser Technologien.

  • 00:20:00 In diesem Abschnitt demonstriert der Sprecher, wie der Quantisierungsprozess funktioniert, indem er das fp32-Originalmodell und das int8-optimierte Modell zeigt, das durch Netron visualisiert wurde. Sie diskutieren auch, wie Azure ML und OpenVINO genutzt werden können, um die Genauigkeit und Leistung während des Trainings- und Inferenzprozesses zu verbessern. Sie erwähnen die Verwendung von ONNX Runtime zur weiteren Optimierung und Verbesserung der Leistung und ermutigen die Zuschauer, sich den Code und den Blog-Beitrag für weitere Informationen anzusehen. Insgesamt demonstriert die Demonstration die Leistungsfähigkeit der Kombination mehrerer Tools, um den Arbeitsablauf des Entwicklers zu vereinfachen und die Genauigkeit und Geschwindigkeit ihrer Modelle zu verbessern.
Combining the power of Optimum, OpenVINO™, ONNX Runtime, and Azure
Combining the power of Optimum, OpenVINO™, ONNX Runtime, and Azure
  • 2023.01.27
  • www.youtube.com
Devang Aggarwal, and Akhila Vidiyala from Intel join Cassie Breviu to talk about Intel OpenVINO + ONNX Runtime. We'll look at how you can optimize large BERT...
 

Schnellere Inferenz von ONNX-Modellen | Edge-Innovationsreihe für Entwickler | Intel-Software



Schnellere Inferenz von ONNX-Modellen | Edge-Innovationsreihe für Entwickler | Intel-Software

Der OpenVINO Execution Provider für ONNX Runtime wird in diesem Video besprochen. Es ist ein plattformübergreifender Modellbeschleuniger für maschinelles Lernen, der die Bereitstellung von Deep-Learning-Modellen auf einer Reihe von Intel-Rechengeräten ermöglicht. Durch die Verwendung des für Intel-Hardware optimierten OpenVINO-Toolkits und die Festlegung des Anbieters als OpenVINO Execution Provider im Code können Entwickler die Inferenz von ONNX-Modellen mit fortschrittlichen Optimierungstechniken beschleunigen. Das Video betont die Einfachheit der Modifikation, die erforderlich ist, um die besprochenen Tools zu verwenden.

Faster Inference of ONNX Models | Edge Innovation Series for Developers | Intel Software
Faster Inference of ONNX Models | Edge Innovation Series for Developers | Intel Software
  • 2022.11.30
  • www.youtube.com
Join Ragesh in his interview with Devang Aggarwal, a product manager at Intel with Intel’s OpenVINO™ AI framework engineering team doing work around deep lea...
 

Schnellere und leichtere Modellinferenz mit ONNX Runtime von der Cloud zum Client



Schnellere und leichtere Modellinferenz mit ONNX Runtime von der Cloud zum Client

In diesem Video erklärt Emma von der Microsoft Cloud and AI Group Open Neural Network Exchange (ONNX) und ONNX Runtime, eine Hochleistungs-Engine zum Inferieren von ONNX-Modellen auf unterschiedlicher Hardware. Emma erläutert den erheblichen Leistungsgewinn und die Reduzierung der Modellgröße, die die ONNX Runtime INT8-Quantisierung bieten kann, sowie die Bedeutung der Genauigkeit. Sie demonstriert den End-to-End-Workflow der ONNX Runtime INT8-Quantisierung und präsentiert die Ergebnisse eines Basismodells mit PyTorch-Quantisierung. Darüber hinaus erläutert Emma die Fähigkeit von ONNX Runtime, die Modellinferenz von der Cloud zum Client zu optimieren, und wie es standardmäßig eine Größe von weniger als 300 Kilobyte sowohl auf Android- als auch auf iOS-Plattformen erreichen kann.

  • 00:00:00 In diesem Abschnitt erklärt Emma, Senior Program Manager im AI Framework Team bei Microsoft Cloud and AI Group, die Rolle von ONNX und ONNX Runtime im AI Software Stack. ONNX, das für Open Neural Network Exchange steht, ist ein Standardformat zur Darstellung sowohl traditioneller maschineller Lernmodelle als auch neuronaler Deep-Learning-Netze. ONNX Runtime ist eine leistungsstarke Engine zum Inferieren von ONNX-Modellen auf unterschiedlicher Hardware. ONNX Converters und ONNX Runtime sind die wichtigsten Bestandteile des Workflows zur Operationalisierung eines ONNX-Modells, das von jedem Framework aus mithilfe von ONNX-Konvertertools aktiviert werden kann. Es gibt viele beliebte Frameworks, die ONNX unterstützen, darunter PyTorch, TensorFlow und Caffe.

  • 00:05:00 In diesem Abschnitt werden die Vorteile und Funktionen von ONNX Runtime besprochen. ONNX Runtime ist eine leistungsstarke Inferenz-Engine für ONNX-Modelle, die APIs für eine Vielzahl von Sprachen und Hardwarebeschleunigungen für CPUs, GPUs und VPUs bietet. ONNX Runtime ist außerdem offen und erweiterbar, was eine einfache Optimierung und Beschleunigung der maschinellen Lerninferenz ermöglicht. Es wurde bereits in mehrere interne und externe Plattformen integriert und unterstützt viele Flaggschiff-Produkte. Eine der neuesten und aufregendsten Funktionen von ONNX Runtime ist die INT8-Quantisierung für die CPU, die Gleitkommazahlen mit niedrigeren Bits annähert, den Modellspeicher reduziert und die Leistung verbessert. Benchmark-Ergebnisse bei verschiedenen Modellen und Hardware zeigen deutliche Beschleunigungen mit ONNX Runtime.

  • 00:10:00 In diesem Abschnitt erörtert der Referent den erheblichen Leistungsgewinn der ONNX Runtime INT8-Quantisierung, die die Inferenzleistung auf einem großen Computer um das bis zu Dreifache und auf kleineren Computern um etwa 60 Prozent beschleunigen und das Modell reduzieren kann Größe um fast das Vierfache. Der Referent betont auch die Bedeutung der Genauigkeit und liefert ein Beispiel dafür, wie quantisierte ONNX Runtime-Modelle bei einer gängigen NLP-Aufgabe eine ähnliche Genauigkeit wie FP32-Modelle beibehalten können. Der Referent demonstriert dann den End-to-End-Workflow der ONNX Runtime INT8-Quantisierung, die das Konvertieren von Modellen in das ONNX-Format, die Verwendung des Quantisierungstools zum Erhalten eines INT8-Modells und das anschließende Durchführen von Inferenzen in ONNX Runtime umfasst. Abschließend stellt der Referent die Ergebnisse eines Baseline-Modells mit PyTorch-Quantisierung vor und bewertet die Leistung mit der Tokenize- und Bewertungsfunktion von Hugging Face.

  • 00:15:00 In diesem Abschnitt erörtern die Referenten den Prozess der ONNX-Laufzeitquantisierung zur Optimierung der Modellleistung und -größe. Der Prozess beinhaltet einen Optimierungsschritt vor der Quantisierung, der nur für Transformatormodelle notwendig ist. Nach der Optimierung kann das Modell mithilfe der Quantisierungs-API von ONNX Runtime in ein 8-Bit-Format quantisiert werden, was zu einer viel kleineren Modellgröße führt. Die Ergebnisse zu Leistung und Genauigkeit zeigen, dass die ONNX Runtime-Quantisierung die PyTorch-Quantisierung in Bezug auf den F1-Score übertrifft. Ein weiteres spannendes Feature von ONNX Runtime ist die Möglichkeit, die Laufzeitgröße für geräteinterne Inferenzen auf Smartphones und Edge-Geräten zu minimieren.

  • 00:20:00 In diesem Abschnitt wird die Fähigkeit der ONNX-Laufzeit zur Optimierung der Modellrückführung von der Cloud zum Client erörtert. Zwei Haupttechniken werden für ONNX Runtime Mobile ermöglicht: die Einführung eines neuen optimierten Formats namens ONNX Runtime-Format und das Erstellen von ONNX Runtime mit Operatoren, die nur von vordefinierten Modellen benötigt werden, um die Größe der Runtime zu reduzieren. Dies reduziert die Runtime-Größe erheblich, indem ungenutzte Operatoren entfernt werden, was die Inferenz des eigenen Geräts besser durchführbar macht und die Speicheranforderungen erfüllt. Das zentrale ONNX Runtime-Mobilpaket kann standardmäßig sowohl auf Android- als auch auf iOS-Plattformen eine Größe von weniger als 300 Kilobyte erreichen. ONNX Runtime ist ein Open-Source-Projekt mit Tutorials und Beispielen, die in seinem GitHub-Repository verfügbar sind.
Faster and Lighter Model Inference with ONNX Runtime from Cloud to Client
Faster and Lighter Model Inference with ONNX Runtime from Cloud to Client
  • 2020.10.16
  • www.youtube.com
ONNX Runtime is a high-performance inferencing and training engine for machine learning models. This show focuses on ONNX Runtime for model inference. ONNX R...
 

Schnelle T5-Transformatormodell-CPU-Inferenz mit ONNX-Konvertierung und -Quantisierung



Schnelle T5-Transformatormodell-CPU-Inferenz mit ONNX-Konvertierung und -Quantisierung

Durch die Konvertierung des T5-Transformatormodells in ONNX und die Implementierung der Quantisierung ist es möglich, die Modellgröße um das Dreifache zu verringern und die Inferenzgeschwindigkeit auf das Fünffache zu erhöhen. Dies ist besonders nützlich, um ein Fragegenerierungsmodell wie T5 auf einer CPU mit einer Latenzzeit von weniger als einer Sekunde bereitzustellen. Zusätzlich bietet die Gradio-App eine optisch ansprechende Oberfläche für das Modell. Das T5-Transformatormodell von Huggingface wird verwendet, und die FastT5-Bibliothek wird für ONNX und Quantisierung verwendet. Die Implementierung dieser Optimierungen kann zu erheblichen Kosteneinsparungen bei Produktionsbereitstellungen dieser Systeme führen.

  • 00:00 Einführung und Tagesordnung

  • 01:07 Installieren Sie die Transformers-Bibliothek von hugging face

  • 02:18 Herunterladen Modell mit umarmendem Gesicht

  • 02:40 Beispiel für das Generieren einer Frage

  • 04:00 Bereitstellung der Gradio-App in der GUI

  • 08:11 T5 Pytorch in ONNX konvertieren und mit FastT5 quantisieren

  • 17:22 Speichern Sie das Modell im Laufwerk

  • 18:30 Führen Sie die Gradio-App mit dem neuen Modell aus

  • 21:55 Zukünftige Folge & Fazit
Fast T5 transformer model CPU inference with ONNX conversion and quantization
Fast T5 transformer model CPU inference with ONNX conversion and quantization
  • 2021.04.26
  • www.youtube.com
Question Generation using NLP course link: https://bit.ly/2PunWiWThe Colab notebook shown in the video is available in the course.With the conversion of T5 t...
 

Azure AI und ONNX Runtime



Azure AI und ONNX Runtime

Der Text behandelt verschiedene Aspekte des maschinellen Lernens und seines Einsatzes. Es behandelt die Entwicklung der Datenwissenschaft, die Herausforderungen der Framework-Kompatibilität, die Verwendung von Azure AI und ONNX Runtime für die Modellbereitstellung, die Erstellung von ML-Umgebungen und die Einschränkungen von ONNX Runtime. Der Referent betont die Standardisierung von ONNX und die Unterstützung mehrerer Frameworks, was die Optimierung für unterschiedliche Hardware erleichtert. Das Video erwähnt auch das Fehlen eines Benchmarks für Hardwarepräferenzen und die Notwendigkeit, mehrere Tools zu verwenden, um die Einschränkungen von ONNX zu überwinden.

  • 00:00:00 In diesem Abschnitt des Transkripts erörtert der Sprecher die Entwicklung der Datenwissenschaft und wie sie sich von einer Wissenschaft der Laborarbeit zu einer Welt der Vernetzung gewandelt hat. Der Referent teilt seine Erfahrungen mit IoT-Systemen und wie sie sich von der manuellen Erstellung zur Nutzung von Cloud-Diensten entwickelt haben. Der Referent betont auch, wie wichtig es ist, in Umgebungen arbeiten zu können, in denen die Nutzung von Cloud-Diensten nicht erlaubt ist und wie spezialisierte Unternehmen in diesen Situationen benötigt werden. Abschließend geht der Referent auf die Herausforderungen ein, Frameworks oder Cloud-Anbieter wechseln zu müssen und erklärt, warum Kunden häufig den Anbieter wechseln, statt das Framework zu wechseln.

  • 00:05:00 In diesem Abschnitt spricht der Referent über das Problem der Kompatibilität zwischen verschiedenen KI-Frameworks und deren Auswirkungen auf Unternehmen. Am Beispiel einer Bank erklärt er, wenn ein Unternehmen sein System auf einem KI-Framework aufgebaut hätte, aber dann ein neuer Kunde käme, der ein anderes Framework verwenden möchte, müsste das Unternehmen das System komplett von Grund auf neu aufbauen, was ihn kosten würde sowohl Zeit als auch Geld. Anschließend erläutert er die Onex-Laufzeitumgebung, die es Unternehmen ermöglicht, ihre bestehenden Frameworks und Modelle in ein kompatibles Format zu konvertieren, ohne dass eine vollständige Rekonstruktion erforderlich ist. Der Referent erwähnt auch verfügbare Tools, um diese konvertierten Modelle zu analysieren und zu optimieren.

  • 00:10:00 In diesem Abschnitt erklärt der Referent, wie Azure AI und ONNX Runtime verwendet werden können, um Modelle für maschinelles Lernen einfach auf verschiedenen Plattformen bereitzustellen. Durch die Auswahl der geeigneten Optionen für ihre Plattform und Sprache können Unternehmen die Software verwenden, um die 0- und 1-Sequenzen ihres neuronalen Netzwerks zu laden und die Plattform und Sprache ihrer Wahl zu verwenden, um das System für eine einfache Bereitstellung zu exportieren. Die Sitzung behandelt auch, wie Onex verwendet werden kann, um das Training während des gesamten Entwicklungsprozesses zu optimieren, was zu schnelleren und genaueren Ergebnissen führt. Der Referent stellt auch das automatische Optimierungssystem von Intel serrandello für GPUs und CPUs vor, das die Modellentwicklung noch effizienter macht.

  • 00:15:00 In diesem Abschnitt erörtert der Referent die Schaffung seiner ML-Umgebung und die Entwicklung eines Klassifikators für Pflanzenarten basierend auf der Länge und Breite von Kelch- und Blütenblättern. Der Redner merkt an, dass das Erstellen einer ML-Umgebung früher den Kauf von Server-Clustern und die manuelle Konfiguration von allem erforderte, aber jetzt können sie ihre eigene ML-Umgebung erstellen und ihr eigenes Studio starten, ohne dass Hardware erforderlich ist. Ihre ML-Umgebung umfasst eine normale virtuelle Maschine und ONNX, das zum Speichern von TensorFlow-Modellen verwendet wird. Der Referent demonstriert dann die Erstellung eines einfachen neuronalen Netzwerks zur Klassifizierung von Pflanzenarten auf der Grundlage der angegebenen Parameter.

  • 00:20:00 In diesem Abschnitt zeigt der Sprecher, wie ein gespeichertes ONNX-Modell geladen und eine Vorhersage darauf ausgeführt wird. Sie importiert das Tensorflow-Framework, lädt das ONNX-Modell und weist den Eingabewerten einen eindeutigen Eingabenamen zu. Anschließend erstellt sie ein Verknüpfungsfeld, um zufällige Eingabewerte zum Ausführen des ONNX-Ausdrucks zu generieren. Zuletzt führt sie den Anruf aus und erhält die Kategorie des Ausgabewerts, der aus der Vorhersage erhalten wurde. Das zuvor erstellte ONNX-Modell ist eine einzelne Datei, für die keine Dokumentation erforderlich ist, wodurch die Verwendung durch Entwickler vereinfacht wird.

  • 00:25:00 In diesem Abschnitt erklärt der Referent, wie Azure AI und ONNX Runtime es einfach machen, Modelle für maschinelles Lernen in verschiedene Anwendungen zu integrieren. Mit Azure AI muss der Kunde nur sein Modell in seiner bevorzugten Sprache erstellen und kann dann Azure AI verwenden, um das Modell zu laden und die erforderlichen Eingabedaten zum Aufrufen des Modells zu erstellen. ONNX Runtime kann dann verwendet werden, um das Modell unabhängig von der zugrunde liegenden Plattform in verschiedene Anwendungen wie Xamarin, Android oder Mac zu integrieren. Dadurch ist es möglich, Machine-Learning-Modelle einfach auf verschiedenen Geräten und Plattformen zu integrieren. Der Referent merkt auch an, dass ONNX Runtime für verschiedene Prozessoren optimiert wird, einschließlich solcher für mobile Geräte.

  • 00:30:00 In diesem Abschnitt erklärt der Referent, dass ONNX zum De-facto-Standard für maschinelle Lernmodelle geworden ist, da es alle wichtigen Frameworks unterstützt und von vielen Unternehmen unterstützt wird. Diese Standardisierung ermöglicht eine einfachere Optimierung für unterschiedliche Hardware, ohne dass wie in der Vergangenheit eine manuelle Optimierung erforderlich ist. Darüber hinaus ist ONNX nicht auf neuronale Netze beschränkt und kann auch für andere Algorithmen verwendet werden. Der Redner merkt auch an, dass ONNX dieselben mathematischen Funktionen und Operationen auf verschiedenen Plattformen unterstützt, was eine nahtlose Bereitstellung auf unterschiedlicher Hardware und Plattformen ermöglicht, solange die unterstützten Opsets übereinstimmen.

  • 00:35:00 In diesem Abschnitt geht der Referent auf die Leistungseinschränkungen der ONNX-Laufzeit ein. Obwohl ONNX ein großartiges Tool ist, das für allgemeine Anwendungsfälle gut funktioniert, nutzt es die Hardware nicht voll aus. Hier können andere Tools als ONNX wie Pytorch vorteilhafter sein. Wenn sich eine Person jedoch auf den Export des Modells konzentriert, kann ONNX andere Tools vollständig ersetzen. Außerdem erklärt der Referent, dass ONNX keine Machine-to-Machine-Kommunikation wie Multi-Machine-Rendering abwickelt. Der Referent schlägt vor, neben ONNX andere Tools zu verwenden, um diese Einschränkungen zu überwinden.

  • 00:40:00 In diesem Abschnitt geht der Referent auf das Fehlen eines Benchmarks für Hardwarepräferenzen ein und hebt hervor, dass die meisten Benchmarks auf der Website des Hardwareherstellers zu finden sind. Sie stellen auch fest, dass viele Unternehmen jetzt für die Hardware schreiben und nicht umgekehrt. Der Referent nennt dann die am häufigsten verwendeten Plattformen für die Beschleunigung, darunter Core ml, ONNX Runtime und RT. Sie erwähnen, wie die Schulungsphase beschleunigt wird, und sobald diese abgeschlossen ist, ist es einfacher, an Kunden zu verkaufen. Die Referenten weisen darauf hin, dass es in den nächsten Jahren nur wenige Änderungen geben wird und dass Xeon und ähnliche Programme prominent bleiben werden.
Azure AI and ONNX Runtime
Azure AI and ONNX Runtime
  • 2023.03.09
  • www.youtube.com
Language: ItalianoAbstract:We will see how to create an AI model with Azure, turn it into ONNX, and use it in our .NET services natively with ONNX Runtime. A...
 

Stellen Sie maschinelles Lernen mit ONNX überall bereit. Python-SKLearn-Modell, das in einer Azure ml.net-Funktion ausgeführt wird



Stellen Sie maschinelles Lernen mit ONNX überall bereit. Python-SKLearn-Modell, das in einer Azure ml.net-Funktion ausgeführt wird

Das Video zeigt, wie die ONNX-Laufzeit die Bereitstellung von Modellen für maschinelles Lernen, die in verschiedenen Sprachen und Frameworks erstellt wurden, vereinfacht und standardisiert. Es demonstriert den Prozess des Verpackens eines Python-Scikit-Learn-Modells in ein ONNX-Modell und dessen Bereitstellung in einer Azure ML .NET-Funktion. Das Video hebt hervor, dass die Azure-Funktion einfach über eine HTTP-POST-Anforderung ausgelöst werden kann, was den Aufruf von jeder Anwendung oder Website erleichtert, und unabhängig von der zum Erstellen des maschinellen Lernmodells verwendeten Sprache in ein ONNX-Modell konvertiert werden kann über ML.NET bereitgestellt, um konsistent ausgeführt zu werden.

  • 00:00:00 In diesem Abschnitt stellt das Video die ONNX-Laufzeit vor und wie sie den Bereitstellungsprozess von Modellen für maschinelles Lernen vereinfacht, die in verschiedenen Sprachen und Frameworks erstellt wurden. Mit der ONNX-Laufzeit können Modelle so gekapselt werden, dass sie problemlos in einer anderen Umgebung bereitgestellt werden können. Es ersetzt den Beizprozess und bietet eine Standardlaufzeit, die in Python, R, .NET, Java und anderen Sprachen funktioniert. Das Video zeigt ein End-to-End-Beispiel für die Erstellung eines einfachen Modells in Python, dessen Verpackung in ein ONNX-Modell und dessen Ausführung in einer ML .NET-Funktion. Der in diesem Beispiel verwendete Code ist auf dem öffentlichen GitHub des YouTube-Kanals von Advancing LLS verfügbar.

  • 00:05:00 In diesem Abschnitt demonstriert der Referent, wie ein maschinelles Lernmodell mithilfe von ONNX in einer Azure-Funktion bereitgestellt wird. Die Demo zeigt zunächst ein grundlegendes Python-Modell, das scikit-learn verwendet, um ein lineares Regressionsmodell mit Hauspreisdaten aus San Francisco zu trainieren. Das Modell wird mit einem Trainingssatz trainiert, der aus numerischen und kategorialen Werten besteht, und sobald das Modell trainiert ist, wird es ausgewählt, um in einem Container beibehalten und bereitgestellt zu werden. Abschließend testet der Sprecher das Modell, indem er im Trainingssatz die Vorhersage aufruft, und erhält einige Werte zurück. Dieser Prozess kann verwendet werden, um maschinelle Lernmodelle überall mit ONNX bereitzustellen und auszuführen.

  • 00:10:00 In diesem Abschnitt des Videos richtet der Moderator das Modell so ein, dass es in ONNX ausgeführt wird, sodass Python es nicht verwenden muss. Die Anzahl der Features, die in das Training des Modells einfließen, wird angegeben, und das ONNX-Modell wird initialisiert, um zu wissen, was zu erwarten ist. Die anfängliche Eingabe wird als Feature-Eingabe bezeichnet, die für das Scoring benötigt wird. Um das Modell zu bewerten, wird eine Sitzung erstellt und eine Codezeile ist für die Vorhersage auf der Grundlage der Trainingsdaten verantwortlich. Die Vorhersagen werden dann gedruckt.

  • 00:15:00 In diesem Abschnitt erörtert der Referent die Ausführung eines Python-Modells in ONNX und wie es unabhängig von den verwendeten Paketen konsistent in Python ausgeführt werden kann. Der Referent zeigt, wie ein Python-Modell in ONNX konvertiert und in einer Azure-Funktion mithilfe eines HTTP POST mit einem JSON-Objekt ausgeführt wird. Die Funktion zieht wichtige Daten wie das Jahr, die größere Wohnfläche und den Verkaufszustand heraus und leitet sie an das Modell weiter, das ONNX verwendet, um die Daten zu bewerten und das Ergebnis zurückzugeben. Der Referent erklärt, dass die Azure-Funktion ein Standard-HTTP-Trigger mit einer REST-API auf der Rückseite ist, was den Aufruf von jeder Anwendung oder Website aus erleichtert.

  • 00:20:00 In diesem Abschnitt erklärt der Sprecher die Schritte, die erforderlich sind, um eine Variable namens Input zu erstellen und sie zu verwenden, um den Input-Tensor so zu formen, dass er für die Ausführung der Sitzung akzeptabel ist. Die Sitzung wird gestartet und gestartet, um die neue Sitzung auf dem Pfad auszuführen und mit der angegebenen Eingabe zu punkten. Das Score-Ergebnis wird dann herausgezogen und als Ergebnisobjekt verpackt und an die Funktion zurückgegeben. Der Referent demonstriert, wie das bereitgestellte Modell in Postman getestet wird, indem Rohparameter des JSON-Objektmodells wie Baujahr und Wohnbereich durchlaufen werden, um eine Punktzahl zurückzuerhalten. Der Vorteil der Bereitstellung von Modellen für maschinelles Lernen über ONNX und ML.NET besteht darin, dass es keine Rolle spielt, in welcher Sprache Menschen ihre Modelle erstellen, solange sie in ein ONNX-Modell konvertiert werden können, können sie konsistent bereitgestellt und ausgeführt werden.
Deploy Machine Learning anywhere with ONNX. Python SKLearn Model running in an Azure ml.net Function
Deploy Machine Learning anywhere with ONNX. Python SKLearn Model running in an Azure ml.net Function
  • 2020.07.21
  • www.youtube.com
Deploying Machine Learning Models is hard. ONNX tries to make this process easier. You can build a model in almost any framework you're comfortable with and ...
 

Stellen Sie Modelle für maschinelles Lernen (TensorFlow/Caffe2/ONNX) bereit – schnell und einfach



Stellen Sie Modelle für maschinelles Lernen (TensorFlow/Caffe2/ONNX) bereit – schnell und einfach

Das Video zeigt, wie Transfer Learning zum Klassifizieren von Bildern verwendet werden kann und wie das Bildklassifizierungsmodell mithilfe von Python und TensorFlow in eine Endbenutzeranwendung integriert werden kann. Der Referent zeigt anhand eines Anwendungsbeispiels aus dem Autohandel, welche Herausforderungen entstehen, wenn Fotos nicht aus der erforderlichen Perspektive hochgeladen werden und Beschriftungen manuell geprüft werden müssen, was zu Langeweile und Ineffizienz führt. Er erklärt, wie man diese Herausforderungen überwinden kann, indem man ein bestehendes neuronales Netzwerk trainiert, um Fotoperspektiven mit der Transfer-Lerntechnik zu erkennen. Anschließend zeigt er, wie das Modell mithilfe des Open-Source-Projekts GraphPipe in der Oracle-Cloud getestet und bereitgestellt wird. Abschließend betont der Referent, wie wichtig es ist, Machine-Learning-Modelle aus der Laborphase in die Produktionsphase zu bringen.

  • 00:00:00 In diesem Abschnitt erklärt Jeroen Kloosterman, wie maschinelles Lernen für die Bildklassifizierung verwendet werden kann und wie das Bildklassifizierungsmodell in eine Endbenutzeranwendung integriert werden kann. Er weist auf die Herausforderungen einer Autohandelsanwendung hin, bei der Fotos nicht aus der erforderlichen Perspektive hochgeladen und Etiketten manuell überprüft werden müssen, was zu Langeweile und Ineffizienz führt. Um diese Herausforderungen zu meistern, verwendet Jeroen die Transfer-Learning-Technik, indem er ein vorhandenes neuronales Netzwerk trainiert, um Fotoperspektiven mit Python und Tensorflow zu erkennen. Indem er nur die letzten Schichten des neuronalen Netzwerks nachverfolgt, um unterschiedliche Perspektiven zu erkennen, trainiert Jeroen Kloosterman das Netzwerk erfolgreich, die Fotos automatisch zu klassifizieren.

  • 00:05:00 In diesem Abschnitt zeigt Jeroen, wie man das im vorherigen Abschnitt trainierte Modell testet und es dann mithilfe des Open-Source-Projekts GraphPipe in der Oracle-Cloud bereitstellt. Zu Beginn wird das Retrain-Python-Skript aufgerufen, das TensorFlow verwendet, um das Modell neu zu trainieren. Nach dem Einrichten der Umgebung in der Oracle-Cloud schreibt der Präsentator einen Beispielclient mit Python, um den Bildklassifizierer aufzurufen. Die vom Modell zurückgegebene Klassifizierung kann dann vom Front-End verwendet werden, um dem Endbenutzer der Autoverkaufs-App eine Nachricht anzuzeigen. Abschließend betont der Referent, wie wichtig es ist, Machine-Learning-Modelle aus der Laborphase in die Produktionsphase zu bringen.
Deploy Machine Learning Models (TensorFlow/Caffe2/ONNX) - Fast and Easy
Deploy Machine Learning Models (TensorFlow/Caffe2/ONNX) - Fast and Easy
  • 2018.11.06
  • www.youtube.com
In this video you learn how to Build and Deploy an Image Classifier with TensorFlow and GraphPipe. You can use the same technique to deploy models of other f...
Grund der Beschwerde: