Semantischer Cache für AI-fähige Bildanalyse

Anonim

Die Verfügbarkeit von hochauflösenden, kostengünstigen Sensoren hat die Datenmenge, die produziert wird, exponentiell erhöht, was das bestehende Internet überfordern könnte. Dies hat dazu geführt, dass Rechenkapazität benötigt wird, um die Daten in der Nähe ihres Erzeugungsorts an den Rändern des Netzwerks zu verarbeiten, anstatt sie an Cloud-Datenzentren zu senden. Edge-Computing, wie es bekannt ist, reduziert nicht nur die Belastung der Bandbreite, sondern reduziert auch die Latenz, um aus Rohdaten Intelligenz zu gewinnen. Die Verfügbarkeit von Ressourcen am Rande ist jedoch begrenzt, da Skaleneffekte fehlen, die eine Cloud-Infrastruktur kosteneffektiv verwalten und anbieten.

Das Potenzial von Edge Computing ist nirgends so offensichtlich wie bei der Videoanalyse. Hochauflösende (1080p) Videokameras werden in Bereichen wie der Überwachung alltäglich und können je nach Bildrate und Datenkomprimierung 4-12 Megabit Daten pro Sekunde produzieren. Neuere Kameras mit 4K-Auflösung erzeugen Rohdaten in der Größenordnung von Gigabit pro Sekunde. Das Erfordernis für Echtzeiteinblicke in solche Videoströme treibt die Verwendung von KI-Techniken wie tiefe neuronale Netze für Aufgaben einschließlich Klassifizierung, Objekterkennung und -extraktion und Anomalieerkennung voran.

In unserem Hot Edge 2018 Conference Paper "Schattenmarionetten: Genaue KI-Inferenz auf Cloud-Ebene bei Geschwindigkeit und Wirtschaftlichkeit von Edge" untersuchte unser Team von IBM Research - Ireland experimentell die Leistung einer solchen KI-Workload, Objektklassifizierung, unter Verwendung einer kommerziell verfügbaren Cloud -hosted Dienstleistungen. Das beste Ergebnis, das wir erzielen konnten, war eine Klassifizierungsausgabe von 2 Bildern pro Sekunde, was weit unter der Standard-Videoproduktionsrate von 24 Bildern pro Sekunde liegt. Das Ausführen eines ähnlichen Experiments auf einem repräsentativen Edge-Gerät (NVIDIA Jetson TK1) erreichte die Latenzanforderungen, verwendete jedoch die meisten der auf dem Gerät verfügbaren Ressourcen in diesem Prozess.

Wir brechen diese Dualität, indem wir den Semantic Cache vorschlagen, ein Ansatz, der die geringe Latenz von Edge-Implementierungen mit den nahezu unbegrenzten Ressourcen kombiniert, die in der Cloud verfügbar sind. Wir verwenden die wohlbekannte Technik des Caching, um Latenz zu maskieren, indem AI-Inferenz für eine bestimmte Eingabe (z. B. Videoframe) in der Cloud ausgeführt und die Ergebnisse am Rand gegen einen "Fingerabdruck" oder einen Hash-Code basierend auf extrahierten Merkmalen gespeichert werden von der Eingabe.

Dieses Schema ist so ausgelegt, dass Eingaben, die semantisch ähnlich sind (z. B. zu derselben Klasse gehören), Fingerabdrücke aufweisen, die einander "nahe" sind, entsprechend einem bestimmten Abstandsmaß. Abbildung 1 zeigt den Entwurf des Caches. Der Encoder erzeugt den Fingerabdruck eines Videoeingangs und durchsucht den Cache nach Fingerabdrücken in einer bestimmten Entfernung. Wenn eine Übereinstimmung vorhanden ist, werden die Inferenzergebnisse aus dem Cache bereitgestellt, wodurch die Abfrage des in der Cloud ausgeführten AI-Service vermieden wird.

Wir finden die Fingerabdrücke analog zu Schattenpuppen, zweidimensionale Projektionen von Figuren auf einem Bildschirm, die von einem Licht im Hintergrund erzeugt werden. Jeder, der seine Finger benutzt hat, um Schattenpuppen zu schaffen, wird bestätigen, dass die Abwesenheit von Details in diesen Figuren ihre Fähigkeit, die Grundlage für gutes Geschichtenerzählen zu sein, nicht einschränkt. Die Fingerabdrücke sind Projektionen der tatsächlichen Eingabe, die selbst bei Fehlen von Originaldetails für Rich-AI-Anwendungen verwendet werden können.

Wir haben eine vollständige Proof-of-Concept-Implementation des semantischen Cachespeichers entwickelt, die einem "as a service" -Design-Ansatz folgt und den Service über eine REST-Schnittstelle Edge-Device / Gateway-Benutzern zugänglich macht. Unsere Auswertungen auf verschiedenen Edge-Geräten (Raspberry Pi 3 / NVIDIA Jetson TK1 / TX1 / TX2) haben gezeigt, dass die Latenz der Inferenz um das Dreifache und die Bandbreitennutzung um mindestens 50 Prozent im Vergleich zu einer Cloud reduziert wurde. einzige Lösung.

Eine frühzeitige Evaluierung einer ersten prototypischen Implementierung unseres Ansatzes zeigt sein Potenzial. Wir werden den ursprünglichen Ansatz weiter entwickeln, indem wir mit alternativen Codierungstechniken experimentieren, um die Präzision zu verbessern, und gleichzeitig die Auswertung auf weitere Datensätze und KI-Aufgaben ausdehnen.

Wir erwarten, dass diese Technologie unter anderem für den Einzelhandel, die vorausschauende Wartung von Industrieanlagen und die Videoüberwachung eingesetzt wird. Zum Beispiel könnte der semantische Cache zum Speichern von Fingerabdrücken von Produktbildern an Kassen verwendet werden. Dies kann verwendet werden, um Speicherverluste aufgrund von Diebstahl oder falschem Scannen zu verhindern. Unser Ansatz dient als Beispiel für den nahtlosen Wechsel zwischen Cloud- und Edge-Services, um die besten KI-Lösungen der Zukunft zu liefern.

menu
menu