Ein Angebot von

Microsofts Projekt Brainwave: Die Suche nach der richtigen KI-Architektur

| Autor: Sebastian Gerstl

Muster einer FPGA-basierten Hardware-Plattform für "Project Brainwave". Auf seiner Entwicklerkonferenz Build 2018 kündigte Microsoft an, seine KI-Plattform auch für Kunden zugänglich zu machen.
Muster einer FPGA-basierten Hardware-Plattform für "Project Brainwave". Auf seiner Entwicklerkonferenz Build 2018 kündigte Microsoft an, seine KI-Plattform auch für Kunden zugänglich zu machen. (Bild: Microsoft)

Mit Projekt Brainwave bietet Microsoft eine FPGA-basierte Echtzeit-KI-Plattform in der Azure Cloud, mittels der Berechnungen mit möglichst geringer Latenzzeit durchführbar sein sollen. Was war ausschlaggebend für die Hardware-Wahl, und welche KI-Strategie verfolgt Microsoft? Ein Interview mit Doug Burger, Entwickler im Brainwave-Team.

Auf der Entwicklerkonferenz Build 2018 hat Microsoft eine Preview seines KI-Projekts Brainwave angekündigt. Hinter dem Namen Project Brainwave verbirgt sich eine Plattform für Echtzeit-KI-Berechnungen, bestehend aus Azure-Cloudanbindung, Software-Stacks und FPGA-basierter Hardware.

Entwicklern steht nun die Möglichkeit offen, Microsoft-Tools und die Azure-Cloud für dasTraining eines eigenen neuronalen Netzwerkes zu verwenden. Dazu ist Brainwave voll in Azure Machine Learning integriert. Das geschulte Netzwerk kann anschließend in der Inferenzphase in Edge-Geräten zum Einsatz kommen. Der zugrunde liegende Hardwareaufwand für Brainwave wird, wie auch die Arbeitsleistung in den Cloudrechenzentren selbst, zum Großteil von FPGAs übernommen.

Tatsächlich ist Microsoft schon seit Jahren aktiv an KI-Forschung und -Entwicklung interessiert: So werden beispielsweise selbstlernende Algorithmen zur Verbesserung des Suchmaschinendienstes Bing eingesetzt. Mit Brainwave macht Microsoft allerdings erstmals seine gewonnenen Erkenntnisse für Kunden zugänglich. Was steckt hinter der KI-Strategie von Microsoft, und welche Faktoren haben die Entscheidung beeinflusst, sich hinsichtlich Hardware primär auf FPGAs zu verlassen? Doug Burger, Distinguished Engineer, MSR NExT und Mitglied von Microsofts Brainwave-Team, gab ELEKTRONIKPRAXIS im Interview Auskunft.

ELEKTRONIKPRAXIS: Maschinelles Lernen, Künstliche Intelligenz, Deep Learning – all das sind aktuell wichtige Trendthemen in der Elektronik geworden. Manche sprechen hier von einem Paradigmenwandel, der alle Industrien betrifft . Welche Bereiche werden am stärksten betroffen sein?

Doug Burger, Distinguished Engineer, MSR NExT: Wenn man verschiedene Firmen fragt, bekommt man wahrscheinlich sehr unterschiedliche Antworten. Ich denke, Microsofts Sicht der Dinge ist diese: Wir denken darüber nach, wie KI wirklich in alles einfließt. Überall dort, wo sich wiederholende Aufgaben anfallen, oder wo eine Intelligenz eingesetzt werden kann um optimierte Abläufe oder genauere Ergebnisse zu erreichen, wird KI in Software-Stacks laufen. Jeder Prozess, ob in der Cloud oder am Netzwerkrand, bietet die Möglichkeit, ihn durch Einsatz von KI genauer, effizienter und präziser zu gestalten. Unser Unternehmen hat sich stark auf Entwicklerangebote konzentriert, die diese Aufgabe erleichtern. So haben wir z.B. 35 kognitive Dienste, die Sie einfach aufrufen können und die Ihnen unmittelbar nachdem die Daten gesendet wurden, die gewünschten Antworten liefern, ohne dass Sie etwas über KI wissen müssen.

Auf der anderen Seite haben wir Werkzeuge für anspruchsvolle Datenwissenschaft, mit denen sich neue Arten von Maschinen-Lernmodellen erstellen lassen. Diese Modelle lassen sich anschließend in der Cloud einsetzen, um etwa das gesamte Lebenszyklus-Management zu übernehmen, indem Daten kuratiert, verschiedene Versionen der Modelle verwaltet werden und so weiter.

Darum denke ich, dass die betroffenen Bereiche sich in zwei Kategorien einteilen lassen: Einmal Bereiche, in der mittels Informationstechnologie verwaltet wird, Sie beispielsweise einen großen Datenbestand haben, über den Sie mehr wissen wollen. Und zum anderen sind dies Bereiche, in denen man viele repetitive Aufgaben zu bewältigen hat, die für Menschen auf Dauer anstrengend oder sogar schmerzhaft sind – etwa, stundenlang auf ein Fließband zu starren oder den ganzen Tag lang in der Qualitätskontrolle etwas inspizieren zu müssen. KI wird in all diese Bereiche eindringen. Darum wollen wir es Entwicklern möglichst einfach machen und Anwender in die Lage versetzen, Künstliche Intelligenz zu nutzen.

ELEKTRONIKPRAXIS: Warum verwendet Microsoft FPGAs für Brainwave? Hat das Unternehmen auch mit anderen Hardwareplattformen wie GPUs oder ASICs experimentiert?

Doug Burger: Vielleicht sollten wir als erstes die Begrifflichkeiten festlegen. Wir bezeichnen alle Arten von Hardwarebeschleunigern für Deep Learning als neuronale Prozessor-Einheiten (neural processor units, NPU). Googles TPU oder Intels NNP sind beides Beispiele einer NPU. GPUs sind etwas anders, da sie ein anderes Ausführungsmodell verwenden. Wenn man allerdings NVIDIAs V100-Plattformen nimmt und sich vor allem die darin enthaltenen Tensoreinheiten ansieht, verhalten sich diese wie eine NPU-Funktionalität, die sich auf einer GPU versteckt.

Brainwave ist in dieser Hinsicht unsere NPU-Architektur für Inferenz. Wir haben uns entschlossen, mit Intel zusammenzuarbeiten und deren FPGA-Technologie zu verwenden, statt unsere eigenen ASICs auf Basis unserer Brainwave-NPU zu fertigen.

Doug Burger, Distinguished Engineer bei Microsoft und Mitglied des "Project Brainwave" Teams: "Die Frage, die noch nicht beantwortet ist, lautet: Was ist die für KI-Implementierung am besten geeignete Architektur? Hierüber ist man sich noch uneins."
Doug Burger, Distinguished Engineer bei Microsoft und Mitglied des "Project Brainwave" Teams: "Die Frage, die noch nicht beantwortet ist, lautet: Was ist die für KI-Implementierung am besten geeignete Architektur? Hierüber ist man sich noch uneins." (Bild: Microsoft)

ELEKTRONIKPRAXIS: Welche Gründe gab es für diese Entscheidung?

Zum einen schreitet die Geschwindigkeit, in der neue Innovationen erfolgen, derart rasch voran, dass wir monatlich neue Features und Erkenntnisse implementieren können. Also müssen wir stetig unsere Hardware-Architektur abändern, idealerweise transparent genug, um die neuen Errungenschaften auch gleich in den Software-Stack übernehmen zu können.

Zum anderen haben Leute früher gedacht, dass Agilität zu Lasten der Leistung geht. Aber sobald alles in einem Chip fixiert ist, hat man diesen für die nächsten Jahre am Hals, so wie er ist. Mit unserem Hardwareansatz haben wir gezeigt, dass diese Agilität möglich ist, um mit der rapiden Geschwindigkeit neuer Entwicklungen mitzuhalten, und wir trotzdem flexibel für neue Entdeckungen sind. Und wir können diese Agilität nutzen, ohne Leistung zu opfern. Die hat zwei Gründe. Zum einen wissen wir, wie man neuronale Netze bei viel kleineren Datentypen laufen lässt als gemeinhin üblich, ohne dabei die Modellgenauigkeit zu verlieren. Wir arbeiten also mit sehr geringer Präzision, und das ist außergewöhnlich gut auf die FPGAs abgestimmt.

Was noch viel interessanter ist: Unsere Brainwave Engine ist eigentlich ein System. Wenn wir ein neues neuronales Netzwerk darauf betreiben wollen, haben wir eine Software-Toolchain, die Informationen über dieses Netzwerk extrahiert, z.B., wie niedrig die Genauigkeit sein kann, welchen Datentyp wir verwenden sollten, welche Form die Matrizen haben etc. Dann injizieren wir diese Parameter in die FPGA-Synthese-Engine und erzeugen eine Version der NPU-Architektur, die speziell auf dieses Modell zugeschnitten ist. So fahren wir für verschiedene Modellklassen verschiedene Varianten unserer Engine.

Es gibt noch einen Aspekt, der ziemlich einzigartig ist: Es ist uns gelungen, die Notwendigkeit des Mini-Batching von Eingaben zu beseitigen. Deshalb nennen wir unsere Lösung auch „Echtzeit-KI“. Wenn Sie eine Anfrage haben, senden Sie diese direkt an das Intel FPGA. Dieses verarbeitet die Anfrage und sendet prompt eine Antwort zurück. Sie brauchen nicht hunderte von Anfragen zu stapeln und sie dann als Paket zu versenden, um einen guten Durchsatz zu erzielen. Daher betrachten wir die Eliminierung von Batching für Inferenz als einen großen Schritt nach vorne für neuronale Netze.

ELEKTRONIKPRAXIS: Da Sie von Inferenz sprechen: An welche Applikationen richtet sich Brainwave in der Einsatzphase?

Zum Start wollten wir das Angebot einfach halten. Fürs Erste richtet sich Brainwave an Anwendungen für Bild- und Videoanalyse. Man kann also schnell und einfach klassifizieren, was in Bild- und Videostreams zu sehen ist.

Intern arbeiten wir bereits an allen möglichen Applikationen: unterschiedliche Sprachen, Sprach- und Texterkennung, Suchfunktionen und prinzipiell alles, wozu ein Deep Neural Network geeignet ist. Bei KI-Modellen steht man meist vor zwei Optionen. Entweder, es ist groß und muss schnell ausgeführt werden, oder man will es in einem Umfeld betreiben, in dem keine großen Kosten entstehen dürfen. Und es gibt Kunden, die beides möchten.

ELEKTRONIKPRAXIS: Bei Endgeräten, beispielsweise in Embedded Systemen oder in sogenannten Edge-Geräten, ist meist Energieeffizienz ein wichtiger Faktor. FPGAs, vor allem High-End-FPGAs wie Intels Stratix-10-Bausteine, ziehen in der Regel viel Strom. Wie verträgt sich das?

Eines sollte klar sein: Viel Strom zu benötigen ist nicht dasselbe wie nicht energieeffizient zu sein. Auf einem Embedded-Gerät, speziell auf einem Deeply Embedded Device, will man möglichst gute Energieeffizienz. Aber das limitiert auch die Größe des KI-Modells, das man einsetzen kann, und die Genauigkeit des Modells.

Die Boards, die wir zum Start ausgeliefert haben, benötigen 75 Watt. Aber auf ihnen werden auch mehrere TeraFLOPs berechnet. Wenn wir also von Energieeffizienz sprechen, muss man berücksichtigen, wie viele Giga- oder TeraFLOPs pro Watt man mit diesem Modell bewältigen kann. Ich würde also sagen, dass Brainwave überaus energieeffizient ist. Es ist nur so, dass man kein 75-Watt-Bauteil in einem mikrocontroller-basierten System einsetzen würde, das nur zwei Watt unterstützt, egal, wie effizient es ist.

ELEKTRONIKPRAXIS: Wie sieht die weitere Roadmap von Projekt Brainwave aus?

Ich kann an dieser Stelle natürlich nicht alle unsere Pläne aufzählen. Wir bauen die Anzahl der weltweiten Implementierungen aus, also die Anzahl der Modelle, die wir unterstützen und Kunden anpassen können; ferner ein Tooling, um es Kunden einfacher zu machen, ihre eigenen Modelle für dieses Angebot zu erstellen. Das ist gewissermaßen unsere User-Roadmap.

ELEKTRONIKPRAXIS: Angesichts der großen Zahl an Hardware-Ansätzen um KI-Beschleunigung zu ermöglichen ist es schwer, Vergleiche zu treffen, welcher Ansatz für die eigene Anwendung geeignet ist. Benchmarks sind in Arbeit, aber welche Möglichkeiten zum Vergleich bestehen?

Zwei Sachen könnten hier hilfreich sein. Zum einen gibt es ein Forschungsteam am Stanford Research Center namens DAWN. Dort hat man einen interessanten Ansatz für Benchmarking gefunden. Sie nehmen sich einen Datensatz wie beispielsweise ImageNet und versuchen herauszufinden, wie schnell und wie günstig ein neuronales Netzwerk diesen bezüglich einer gewissen Genauigkeit verarbeiten kann. Der Gold-Standard hierfür liegt derzeit etwa bei 93% Genauigkeit. Inzwischen werden dort Benchmark-Resultate eingereicht, die auf unterschiedlichen Hardware-Plattformen reproduziert werden können.

Die zweite Sache ist etwas allgemeiner gefasst. Wie bereits angesprochen, gibt es für die Hardware-Anforderungen für NPU-Chips keinen Konsens darüber, welche Architektur für neuronale Netzwerke am geeignetsten ist, egal, ob sie auf CPUs, FPGAs oder ASICs aufgebaut sind. Dahinter stehen Fragen wie: Eignen sich systolische Arrays besser als statisch geplante, ist ein Single-Threaded-Vektorenfluss besser als ein dynamischer Data Flow, wie verhält sich das im Vergleich mit einem massiv parallelem Ansatz wie in einer GPU?

All die alten Paradigmen, mit denen sich die KI-Forschung schon in den 1970er- und 80er-Jahren befasst hat, treten jetzt wieder zu Tage. Und sie alle sind potentielle Kandidaten dafür, was eine ideale KI-Architektur auszeichnen könnte. Diejenigen, denen das nicht bewusst ist, fragen sich heute: Was ist nun besser, FPGA oder GPU? Aber das ist der falsche Vergleich! FPGAs oder ASICs sind nur zwei Arten und Weisen, mit denen eine NPU zum Einsatz gebracht werden kann.

Die wichtigere Frage ist: Was ist die richtige Architektur für eine NPU? Wir haben unsere Meinung hierzu. Google und NVIDIA haben ihre eigene Meinung. Und Intel besitzt sogar diverse unterschiedliche Ansichten.

Das ist also für mich die wirklich wichtige Frage. Und das ist die große Debatte, die wir in den nächsten drei oder vier Jahren erleben werden.

MLPerf: Neue Benchmark misst KI-Performance

MLPerf: Neue Benchmark misst KI-Performance

04.05.18 - Google, Baidu sowie Forscher der Universitäten Harvard und Stanford haben eine Benchmark zum Messen der Leistung von maschinellem Lernen definiert. Ein erster Release der MLPerf genannten Suite ist für August vorgesehen. lesen

Microsoft Build 2018 – Künstliche Intelligenz und Mixed Reality

Microsoft Build 2018 – Künstliche Intelligenz und Mixed Reality

17.05.18 - Auf der Microsoft-Entwicklerkonferenz Build 2018 zeigte Microsoft verschiedene Neuerungen zur Künstlichen Intelligenz und Mixed-Reality-Anwendungen. Entwickler können davon ab sofort profitieren. lesen

Welche Hardware eignet sich besser zur KI-Beschleunigung?

Welche Hardware eignet sich besser zur KI-Beschleunigung?

04.06.18 - Moderne Hardwarebeschleuniger haben den praktikablen Einsatz von Künstlicher Intelligenz in IT und Industrie in greifbare Nähe gerückt. Doch welche Technologie eignet sich hierfür besser: GPUs, DSPs, programmierbare FPGAs oder eigene, dedizierte Prozessoren? ELEKTRONIKPRAXIS hat Hardwarehersteller und Embedded-Experten zu diesem Thema befragt. lesen

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45345738 / KI)