Was ist MLIR?

Machine Learning: Google veröffentlicht neues TensorFlow-Projekt MLIR

Florian Roos

© Shutterstock / maxuser

Google hat das neue Machine-Learning-Projekt MLIR vorgestellt. Das Kürzel steht für Multi Level Intermediate Representation. Das Projekt ist Teil des TensorFlow-Ökosystems und soll dabei helfen, ML-Modelle in verschiedenen Umgebungen zu nutzen.

Zum TensorFlow-Universum gehören verschiedene Compiler und Optimizer für unterschiedliche Hard- und Softwareumgebungen. Für die Verwendung bzw. Weiterverarbeitung eines Graphen stehen dementsprechend zahlreiche Möglichkeiten und Komponenten bereit. Dies kann auch für geübte TensorFlow-Nutzer unübersichtlich werden. In der nachfolgenden Abbildung veranschaulicht das MLIR-Team diese Komplexität:

 

Was ist MLIR?

Um diese Komplexität besser in den Griff zu bekommen, wurde MLIR entwickelt. Das Projekt enthält ein Repräsentationsformat und eine Library aus Compilerwerkzeugen, die zwischen der Repräsentation eines Modells und einem spezifischen Low-Level-Compiler ansetzt. Die Aufgabe dieser Bibliothek ist es, die Anpassung der Repräsentation von Graphen für unterschiedliche Umgebungen zu ermöglichen. MLIR enthält mehrere sogenannte Dialekte, mit denen Ergebnisse für verschiedene Umgebungen erzeugt werden können. Zu den Dialekten gehören beispielsweise die folgenden:

  • TensorFlow IR bildet alle möglichen Verarbeitungen von TensorFlow-Graphen ab
  • LLVM IR: Ein 1:1 Mapping zwischen der Repräsentation in LLVM und MLIR, sodass MLIR durch LLVM Code für CPUs und GPUs erzeugen kann
  • TensorFlow Lite: Die Übersetzung für mobile Plattformen

Jeder Dialekt setzt sich aus Operationen und Invarianten zusammen. Um eine Verbindung zu einem neuen Low-Level-Compiler herzustellen, ist die Erstellung eines neuen Dialekts sowie der zugehörigen Lowerings nötig und möglich. Bei Lowerings handelt es sich in diesem Fall um die Transformationsvorgänge zwischen dem TensorFlow-Graph-Dialekt und dem neu angelegten Dialekt.

Auf MLIR aufbauende Compiler liegen zum jetzigen Zeitpunkt noch nicht vor, jedoch wurde angekündigt, dass diese zeitnah im TensorFlow-Repository auf GitHub bereitgestellt werden sollen. Die Veröffentlichung weiterer Komponenten des MLIR-Toolkits, inklusive der Dialektspezifikationen für TensorFlow und TensorFlow Lite will das Team in den nächsten Monaten veröffentlichen.

Wie im zugehörigen Repository auf GitHub erläutert wird, werden aktuell noch keine Commits aus der Community angenommen. MLIR steht unter Apache-2.0-Lizenz. Weitere Informationen können dem TensorFlow-Blog entnommen werden.

Geschrieben von
Florian Roos
Florian Roos
Florian Roos ist Redakteur für Software & Support Media. Er hat Politikwissenschaft an der Technischen Universität Darmstadt studiert und erste redaktionelle Erfahrungen in den Bereichen Games und Consumer-Hardware gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: