Wie IBMs Blaupause für die Branchentransformation KI, 5G und Zusammenarbeit nutzt
55.000 Projekte, 30.000 Entwickler, 54 Millionen Dollar Finanzierung und Kunden, darunter auch die NASA, in etwas mehr als 2 Jahren. Edge Impulse reitet auf der Welle des maschinellen Lernens an der Edge
Jan Jongbooms Traum war es, in seinen eigenen Worten, Geräte zu haben, die wirklich verstehen, was um sie herum passiert. Das war vor zehn Jahren, aber erst 2019 begann er, wirklich danach zu handeln. Damals gründeten Jongboom und Zach Shelby Edge Impulse mit dem Ziel, Entwicklern die Entwicklung der nächsten Generation intelligenter Geräte zu ermöglichen.
Heute kündigt Edge Impulse eine Serie-B-Finanzierung in Höhe von 34 Millionen US-Dollar unter der Leitung von Coatue an und verdreifacht damit seine Marktbewertung und Wachstumsprognose für 2022. Coatue schließt sich den bestehenden Investoren Canaan Partners, Acrew Capital, Fika Ventures, Momenta Ventures und Knollwood Investment Advisory an, um das zu krönen, was das Team als "unglaubliches Jahr" bezeichnet.
Seit der Einführung im Jahr 2019 haben fast 30.000 Entwickler aus Tausenden von Unternehmen fast 55.000 benutzerdefinierte Projekte für maschinelles Lernen mit Edge Impulse erstellt und mit Kunden wie Oura, Polycom, Advantech und NASA intelligentere Industrie-, Logistik-, Verbraucher- und Gesundheitslösungen entwickelt. Die Entwicklerbasis ist um das 4-fache gestiegen, wobei die jährlich wiederkehrenden Einnahmen im letzten Jahr um das 3-fache gestiegen sind.
All das klingt ziemlich beeindruckend und ist ein Beweis für die Vorhersage von Gartner, dass "maschinelles Lernen in Form von Deep Learning bis 2027 in über 65 % der Edge-Anwendungsfälle enthalten sein wird, gegenüber weniger als 10 % im Jahr 2021". Wir haben uns mit Jongboom getroffen, um mehr über Edge Impulse zu erfahren.
Dumme IoT-Geräte nützlich machen
Jongboom und Shelby gehen davon aus, dass IoT-Geräte großartig, aber auch dumm sind. Sie können Zeitreihen von verschiedenen Arten von Sensoren aufzeichnen, wie zum Beispiel Temperatur oder Schall, aber sie haben keine Ahnung, was das bedeutet oder wie sie etwas Nützliches daraus machen können.
Als Jongboom Shelby vor etwa drei Jahren bei Arm traf, wo sie beide arbeiteten, begannen sie darüber zu sprechen, was sie tun könnten, damit diese Geräte die Welt wirklich verstehen. Sie kamen schnell zu dem Schluss, dass maschinelles Lernen die Antwort ist.
Als Beispiel nannte Jongboom die Bekämpfung der Wilderei. Wenn Sie ein IoT-Gerät verwenden möchten, um zu erkennen, wenn ein Elefant in der Nähe ist, haben Sie zwei Möglichkeiten, sagte er. Die erste besteht darin, zu versuchen, ein Programm zu erstellen, das beschreibt, wie der auditive Input eines Elefanten aussieht. Die zweite besteht darin, Samples von Elefantengeräuschen zu verwenden und ein maschinelles Lernmodell sie herausfinden zu lassen.
Edge Impulse ist auf maschinelles Lernen für IoT-Geräte spezialisiert. Das bedeutet, dass sie den standardmäßigen Lebenszyklus des maschinellen Lernens anwenden müssen: Daten sammeln - Modell trainieren - Modell bereitstellen - Modell validieren - Wiederholen. Schauen wir uns an, wie sie jeden Schritt in diesem Prozess unterbringen.
Wir haben uns gefragt, welche Art von Geräten oder Sensoren Edge Impulse für den Datenerfassungsteil unterstützt. Jongboom erwähnte, dass sein Ökosystem von Partnern, die von Mikrocontroller-Entwicklern bis hin zu hochspezialisierten Siliziumprodukten für maschinelles Lernen reichen, "alles unter der Sonne" unterstützt.
Es gibt einige Faktoren, die man berücksichtigen sollte, wenn man darüber nachdenkt, wie ein 2019 gegründetes Unternehmen bis 2021 ein solches Ökosystem hätte schaffen können. Die Tatsache, dass die Gründer von Edge Impulse selbst als Embedded-Entwickler begonnen haben, wobei Shelby sein IoT-Startup zuvor an Arm verkauft hatte, verschaffte ihnen laut Jongboom einen Vorsprung. Sie wussten, was Entwickler wollten, und sie wussten, wie sie Hardware-Anbieter erreichen konnten. Außerdem haben sie die Datenaufnahme Open Source und einfach zu bedienen gemacht:
"Das war eine wirklich gute Geschichte, bei der wir Siliziumherstellern helfen können, auf den Markt zu kommen, und nachdem wir Silizium haben, auf dem wir laufen können. Das bedeutet, dass wir gemeinsam zu den Kunden gehen und eine viel bessere Geschichte haben können. Es ist nicht -- Oh, wir haben diese erstaunliche Plattform für maschinelles Lernen. Wir haben diese erstaunliche Plattform für maschinelles Lernen, und wir haben tatsächlich Unterstützung von den Siliziumherstellern, die bereits auf Ihren Brownfield-Geräten laufen. Das ist wirklich erstaunlich", bemerkte Jongboom.
Sammeln von Daten, Trainieren des Modells, Bereitstellen des Modells, Validieren des Modells, Wiederholen
Was das Training von maschinellen Lernmodellen betrifft, die Teil des Prozesses sind, verwendet Edge Impulse hauptsächlich Standard-Frameworks wie TensorFlow. Die Idee dahinter ist, so viel wie möglich zu abstrahieren, um die Modellgenerierung für die Personen, die die Domänenexperten sind, so benutzerfreundlich wie möglich zu gestalten.
Das Ziel, so Jongboom, sei es, Fachexperten die Werkzeuge an die Hand zu geben, um die Daten zu sammeln, sie dann auf Anomalien zu analysieren oder das Geschehen zu klassifizieren oder die Zukunft vorherzusagen. Und es geht nicht nur um maschinelles Lernen, sondern auch um Signalverarbeitung, denn "Signalverarbeitung ist wirklich schön und erklärbar".
Das Arbeitspferd von Edge Impulse ist TensorFlow, das über Keras verwendet wird. Wenn Sie einen Data Scientist an Bord haben, können Sie das Modell nach Belieben bearbeiten. Wenn nicht, müssen Sie das auch nicht. Es kann also alles sein, von Low-Code bis hin zu voller Freiheit. Und ja, die Low-Code-Referenz bedeutet, dass hier eine IDE auf dem Bild zu sehen ist - das Studio.
Edge Impulse Studio ist eine Online-IDE, und hier findet auch der Validierungsteil des Prozesses statt. Jongboom merkte an, dass dies beim maschinellen Lernen im Allgemeinen und noch mehr bei Edge-Anwendungen sehr wichtig ist. Das liegt daran, dass es sehr schwierig sein kann, Fehler in den Betriebseinstellungen zu korrigieren, wenn Sie etwas auf einem Gerät oder einer Maschine bereitstellen.
Mit Edge Impulse können Benutzer echte Daten hochladen, um sie zur Validierung zu verwenden, und es können auch synthetische Daten generiert werden. Und sie können auch eingreifen und je nach Art der Anwendung manuell Korrekturen für falsch positive oder falsch negative Ergebnisse vornehmen. Manchmal ist es entscheidend, dass bestimmte Ereignisse erkannt werden, auch wenn es zu Fehlalarmen kommt, und manchmal ist es in Ordnung, etwas zu übersehen.
Es gehe darum, so Jongboom, aufschlussreiche Anwendungen zu schaffen und Vertrauen zu schaffen. Wenn jemand die Daten mit Hilfe des maschinellen Lernmodells durchgeht, ist es viel einfacher, die Schwachstellen zu erkennen.
Der letzte Schritt in diesem Prozess - die Bereitstellung - ist für Edge Impulse derzeit etwas außerhalb des Rahmens. Edge Impulse gibt den Quellcode aus. Dazu gehören das mathematische Modell, der Normalisierungscode, der Signalverarbeitungscode, der Code für maschinelles Lernen und die gesamte Nachbearbeitungsoptimierung des Modells.
Keine kompilierten Binärdateien, auch keine Lizenzgebühren dafür, sagte Jongboom. Wie der Benutzer dies in sein Gerät integriert, bleibt ihm überlassen, fügte er hinzu. Jongboom merkte jedoch an, dass auch das Ökosystem eine Rolle spielt, und es kann so einfach wie zwei Codezeilen sein. Dieser Teil ist ebenfalls Open Source.
Edge Impulse EON: Die geheime Zutat zur Optimierung von Machine-Learning-Modellen für den Edge
Der Teil, über den wir bisher noch nicht gesprochen haben und der sowohl für Edge Impulse von zentraler Bedeutung als auch nicht Open Source ist, ist der TinyML-Teil. TensorFlow oder jedes andere Framework kann Modelle erzeugen, die aufgrund der Einschränkungen dieser Geräte in Bezug auf Leistung und Verarbeitungsfunktionen nicht gut für die Bereitstellung auf Edge-Geräten geeignet sind.
Hier kommt das EON (Edge Optimized Neural) von Edge Impulse ins Spiel. Dies ist die Technologie, die Edge Impulse verwendet hat, um Machine Learning-Modelle zu erstellen, die für den Einsatz in eingeschränkten Geräten am Edge geeignet sind. Das erste, was es tut, ist, alle Parameter des Bereitstellungsziels zu berücksichtigen und zwei Dinge zu tun.
Zuerst schaltet sich der EON-Tuner ein. Jongboom beschrieb dies als "eine superbreite Suchbasis von 1000 verschiedenen Modellen, die wir ausprobieren konnten". Der EON-Tuner sucht nach denen, die auf das Bereitstellungszielgerät passen, und wählt dann denjenigen mit der höchsten Genauigkeit aus.
Dann kompiliert der EON-Compiler neuronale Netze effizient zu Brownfield-Geräten. Die Funktionsweise besteht laut Jongboom darin, dass das Modell des maschinellen Lernens in einen Interpreter eingespeist wird, der einen Graphen erstellt und die Inferenz ausführt. Aber das ist ein verschwenderisches eingebettetes System, weil Sie den Interpreter plus alle potenziellen Zustände haben müssen, die der Interpreter konstruieren kann.
Der EON-Compiler kompiliert den Graphen einfach in den Quellcode und kompiliert ihn dann ein. Das spart zwischen 30 und 50 % RAM, was vor allem bei Brownfield-Geräten sehr viel ist. Der Compiler kann verwendet werden, und die Modelle, die von den Leuten generiert werden, sind ebenfalls Open Source, lizenziert unter der Apache 2.0-Lizenz, also keine Lizenzgebühren. Einige Leute entscheiden sich tatsächlich dafür, ihre Modelle mit der Community zu teilen.
Edge Impulse ist eine Software-as-a-Service-Plattform. Kunden zahlen pro Projekt und Monat oder pro Datenpipeline pro Monat. Sie zahlen auch für mehr Rechenleistung, Funktionen für die Zusammenarbeit, groß angelegte Datentransformation und Integration in Ihre Cloud, um die Daten abzurufen und aufzunehmen.
Edge Impulse hat derzeit ein Team von 40 Personen. Ziel ist es, mit dieser Serie-B-Finanzierung im kommenden Jahr auf 80 zu wachsen, wobei der Schwerpunkt auf dem Solutions Engineering-Team liegt. Jongboom sagte, dass sie auch darauf abzielen, die Community und den Support auf die gleiche Weise weiter auszubauen und ihr organisches Wachstum aufrechtzuerhalten.
