Silizumbasierte Neuro-Mathematik

Was beschäftigt einen KI-Prozessor-Spezialisten wie Graphcore gerade?

| Autor / Redakteur: Jürgen Höfling / Ulrike Ostler

Für das maschinelle Erlernen komplexer Strukturen, wie die in der Abbildung, sind die Graphcore-Prozessoren ausgelegt.
Für das maschinelle Erlernen komplexer Strukturen, wie die in der Abbildung, sind die Graphcore-Prozessoren ausgelegt. (Bild: Graphcore)

Künstliche Intelligenz benötigt gigantische Rechenleistung. KI-Spezialprozessoren sind direkt in ihrer Hardware für diese Anforderungen konzipiert, die einen mehr für Neuronale Netze, andere in Richtung Deep Learning, wieder andere für Maschinelles Lernen. Zu letzteren gehören die „C2“-Prozessoren von Graphcore. Die Roadmap der Neuro-Mathematiker aus Bristol sieht wie folgt aus.

Mit großen Plänen geht das britische Spezialprozessor-Startup Graphcore in das Jahr 2020. Die „Intelligent Processor Unit“ (IPU) der Briten, in dem die zentralen Rechenverfahren des Maschinellen Lernens (ML) in Silizium gegossen sind, wird nicht nur von potenziellen Anwendern wie Bosch oder BMW per Direktinvestition gefördert, sondern auch von IT-Schwergewichten wie Microsoft und Dell geschätzt, die den ML-Chip C2 in der Cloud (MS Azure) oder als ML-Server (Dell) anbieten.

Auf der „Neural Information Processing Systems“ (NeurIPS)- Konferenz, auf der sich Jahr für Jahr im Dezember die „Neuro-Mathematiker“, sprich ML- und KI-Spezialisten, treffen (im letzten Dezember im kanadischen Vancouver), verkündete Graphcore die sechs Schwerpunkte seiner Forschungs- und Entwicklungsaktivitäten für das Jahr 2020:

  • Noch mehr Recheneffizienz bei Gleitkomma-Operationen
  • Speichereffiziente Lernprozesse
  • Verteilte Lernprozesse in hochskalierbaren Maschinen
  • Suchalgorithmen in einer neuronalen Architektur auf Basis von evolutionärem Computing
  • Ausgedünnte Strukturen für Lernprozesse von Modellen mit sehr vielen Parametern
  • Selbstüberwachte Lernprozesse und probabilistische Modelle

Für alle sechs Forschungsfelder folgen einige Aufgabenstellungen.

Noch mehr Rechen-Effizienz bei Gleitkomma-Operationen

Die „ungenaue“ Mathematik, sprich Numerik, ist die Rechengrundlage des Maschinellen Lernens. Gleitkomma-Operationen haben bekanntlich eine begrenzte Genauigkeit, weil unendliche viele (reelle) Zahlen durch endlich viele Ziffernkombinationen dargestellt werden sollen. Mit doppelt genauen Gleitkomma-Operationen, also mit 64-Bit-Gleitkommazahlen, kommt man nicht sehr weit bei ML-Aufgaben: da rechnet sich die Maschine sozusagen zu Tode und benötigt Unmengen von Speicher.

Insofern geht es auch bei Graphcore darum, mit möglichst ungenauen Gleitkomma-Operationen möglichst schnell gute Resultate auf der Basis der vorhandenen Daten zu generieren. Während bis vor Kurzem Lernprozesse (im Jargon: „Trainings“) mit gemischter halber Gleitkomma-Genauigkeit Standard waren, experimentiert man bei Graphcore mit Lernprozessen mit Float-8-Formaten.

Speichereffiziente Lernprozesse

Zwar reduziert schon die Absenkung der Genauigkeits-Parameter bei den Gleitkomma-Operationen den Speicherbedarf, doch sieht Graphcore (und natürlich die ML-Forschungs-Community insgesamt, das darf man wohl getrost unterstellen) weitere Optimierungspotenziale, um möglichst wenig Speicher zu verbrauchen. Das Graphcore-Team jedenfalls erkennt entsprechende Sparpotenziale in der Bildung von Teilmengen von Aktivierungsfunktionen während der Vorwärtsphase im neuronalen Lernprozess (Forward Pass) sowie daran anschließend der Neuberechnung von Layer-Aktivierungsfunktionen, die während der Vorwärtsphase nicht gespeichert worden sind, im Rahmen der Rückwärtsphase (Backpropagation).

Das klingt in der Beschreibung für nicht ML-Spezialisten sicher sehr kryptisch. Letztlich geht es darum, mit begrenzten Datenmengen ähnlich gute Trainingsergebnisse zu erzielen wie mit weitaus größeren Datenmengen.

Mit dieser geballten Batterie von ML-Spezialprozessoren „C2“ geht Graphcore Aufgabenstellungen des Maschinellen Lernens an.
Mit dieser geballten Batterie von ML-Spezialprozessoren „C2“ geht Graphcore Aufgabenstellungen des Maschinellen Lernens an. (Bild: Nick Rochowski for Graphcore)

Graphcore arbeitet außerdem an fundamentalen Optimierungs-Algorithmen für stochastisches Lernen. Bei diesen Entwicklungsarbeiten geht es um Normalisierungstechniken ebenso wie um stabiles Verhalten der Lernkurve in der Lernphase sowie um Möglichkeiten, auch mit kleinen Teilmengen der Eingabedaten (Batches) gute Ergebnisse zu erzielen, die verallgemeinerbar sind.

Verteilte Lernprozesse in hochskalierbaren Maschinen

Um mit den gewaltigen Datenmengen, die in der Regel bei Maschinellem Lernen bewältigt werden müssen, fertig zu werden, ist massenhafte Parallelisierung von Hardware und Software ein altbewährtes Mittel, das auch bei Graphcore zur Anwendung kommt. Aber da man auch in der Mathematik für alle Erleichterungen und Abkürzungen irgendwie und irgendwann „zahlen“ muss, ist die Arbeitsteilung bei Maschinellem Lernen nicht ohne eine solche „Zahlfunktion“ zu haben.

Im Falle neuronalen Lernens heißt das beispielsweise, dass eine zunehmende Zahl von „Parallelarbeitern“ dazu führt, dass sich kontinuierlich auch die Batch-Größen erweitern, wodurch die Effizienz wichtiger Optimierungs-Algorithmen wie beispielsweise des „stochastischen Gradienten-Abstiegsverfahrens“ (stochastic gradient descent, SGD) nachlässt.

Anwendungsfall von Algorithmen des Maschinellen Lernens: Interaktion von menschlichem und künstlichem Arm.
Anwendungsfall von Algorithmen des Maschinellen Lernens: Interaktion von menschlichem und künstlichem Arm. (Bild: Nick Rochowski for Graphcore)

Graphcore vermutet, dass es bei der Parallelisierung von Modellen (Modelle sind in der ML die zugrunde liegenden Algorithmen) einen Scheitelpunkt gibt, an dem die weitere Vermehrung der parallelen Instanzen keine weitere Geschwindigkeitssteigerung mehr ergibt. Die Graphcore-Spezialisten versuchen deshalb, dieses Dilemma dadurch zu umschiffen, indem sie den Lernprozess nicht mit einem einzigen überparametrisierten Supermodell, sondern mit vielen kleineren Modellen parallel durchführen.Dabei lassen sich diese kleineren Modelle praktisch unabhängig voneinander trainieren, was nach Graphcore-Angaben einen deutlichen Leistungsgewinn erbringt.

Suchalgorithmen in einer neuronalen Architektur auf Basis von evolutionärem Computing

Evolutionäres Computing, also eine Verarbeitungsstruktur, die sich an Muster in der Natur anzulehnen versucht, hat sich nach Graphcore-Angaben gut bei der massiven Parallelisierung von Lernprozessen bewährt, und zwar ohne dass ein extremer Kommunikations-Overhead entsteht - Overhead ist ja ein grundsätzliches Problem bei jeder Parallelisierung. Graphcore setzt evolutionäre Computing-Methoden bei der Black-Box-Optimierung und bei Such-Verfahren auf der Basis neuronaler Architekturen ein. Evolutionäres Computing erlaubt effiziente Suchprozesse für Meta-Learning-Aufgaben in vieldimensionalen Räumen, so die Erfahrungen aus den Graphcore-Labors.

Ausgedünnte Strukturen für Lernprozesse von Modellen mit sehr vielen Parametern

Der Trend geht in der ML-Szene zu immer größeren Netzwerken mit einer immer größeren Menge von Parametern, sagt man bei Graphcore. Der Grund dafür sei, dass sie einfacher zu trainieren seien und dass die Ergebnisse besser seien. Der Nachteil dabei ist allerdings, dass die Zeitdauer der Lernvorgänge immer länger werden.

Einen Ausweg sieht Graphcore in der Nutzung von Teilnetzen mit einem ausgedünnten Parameterraum. Das hat natürlich auch Nachteile. Graphcore arbeitet nach eigenen Angaben an Methoden, damit die ausgedünnten Strukturen während des Trainings Verbindungsmuster bilden und so zusätzliche Hilfestellung beim Identifizieren der richtigen Modelle leisten.

Selbstüberwachte Lernprozesse und probabilistische Modelle

Überwachte Lernprozesse kosten viel Zeit und Geld. So müssen bei einem überwachten Lernprozess wie beispielsweise einer Bildklassifikation die einzelnen Bildelemente, in einer Verkehrssituation können das zum Beispiel die Elemente Fußgänger, Radfahrer, Auto, Radweg, Ampel etc. sein, manuell etikettiert („gelabelt“) werden. Bei nicht-überwachtem Lernen werden nicht gelabelte Daten benutzt und mithilfe von Wahrscheinlichkeitsmodellen versucht, die Daten automatisch zu etikettieren.

Simon Knowles (li) und Nigel Toon sind gemeinsam die Gründer des britischen KI-Prozessor-Start-up Graphcore.
Simon Knowles (li) und Nigel Toon sind gemeinsam die Gründer des britischen KI-Prozessor-Start-up Graphcore. (Bild: Nick Rochowski for Graphcore)

Graphcode will in dieser automatischen Erkennung von Datenstrukturen in diesem Jahr deutlich vorankommen. Derzeit konzentriert man sich auf „energie-basierte Modelle als sehr effiziente Modelle für das Erzeugen von impliziten Samples“. Die Methode bietet nach Einschätzung von Graphcore neue Möglichkeiten, fortgeschrittene Markov-Ketten / Monte Carlo (MCMC)-Modelle für modellbasiertes Verstärkungs-Lernen einzusetzen.

Insbesondere sei mit der Methode eine maximale Entropieplanung möglich, auf deren Basis Sampling und Lernen von Multi-Modell-Verteilungen über Wegstrecken möglich ist“. Mit anderen Worten und möglichst einfach ausgedrückt: Man kann mit energiebasierten Modellen die Verteilung und die Entwicklung von Input-Datenmengen („Features“) so gut vorhersagen, dass man sie zur automatischen Stichprobenbildung nutzen kann, aus der sich dann generelle Aussagen ableiten lassen.

Hardware-Cloud-Service zum Testen von ML-Software mit den IPU-Prozessoren

Damit die hier kurz skizzierten großen Pläne erfolgreich umgesetzt werden können, ist leistungsfähige Hardware das A und O. Seinen hauseigenen IPU-Prozessor sieht Graphcore da natürlich an vorderster Front.

Ioanna Taylor ist eine der Prozessor-Entwicklerinnen bei Graphcore.
Ioanna Taylor ist eine der Prozessor-Entwicklerinnen bei Graphcore. (Bild: Nick Rochowski for Graphcore)

Aber es gibt sicher viel Wettbewerb auf diesem Gebiet: von Huawei über Google bis zu Fujitsu und Nvidia, um nur einige zu nennen. Aber zumindest in einigen ML-Anwendungsbereichen scheint Graphcore einige Trümpfe im Ärmel zu haben.

Potenzielle Anwender können testen, wie gut diese Karten wirklich sind: für Praxistests bietet Cirrascale einen Hardware-Cloud-Service (Bare Metal Cloud) an, mit dem ML-Anwender aus verschiedenen Branchen für 16.000 Doller monatlich aufwärts ihren jeweiligen ML-Code hochladen und testen können, wie schnell und effizient dieser auf den C2-Chips abläuft.

Anwendungsfall von Algorithmen des Maschinellen Lernens: Interaktion von menschlichem und künstlichem Arm (Bild: Nick Rochowski for Graphcore)

Jürgen Höfling
Über den Autor

Jürgen Höfling

Journalist

Was meinen Sie zu diesem Thema?

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

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46348078 / Komponenten)