Inženýři pracující na frameworku strojového učení Google TensorFlow odhalili nový subprojekt, MLIR, který má sloužit jako common intermediate language pro frameworky strojového učení.
MLIR je zkratka pro Multi-Level Intermediate Representation. Subprojekt by měl všem projektům běžícím na TensorFlow a dalších knihovnách strojového učení umožnit efektivnější a rychlejší kompilaci na přehlednější a lépe strukturovaný kód, který naplno využívá dostupný hardware. MLIR by po čase mohl sloužit všem kompilátorům, což by jeho optimalizační efekt dostalo i mimo oblast strojového učení.
MLIR sám o sobě není jazykem jako C++ nebo Python; představuje mezikrok při kompilaci mezi vysokoúrovňovými jazyky a strojovým kódem.
TensorFlow sám o sobě generuje řadu IR (intermediate representation), ale tyto nesouvisející IR si navzájem neprospívají; MLIR představuje jednotnou, standardní IR pro všechny subsystémy TensorFlow. Framework Googlu v současnosti prochází migrací, aby MLIR využíval interně.
Další výhodou MLIR je paralelní kompilace. MLIR je navržen tak, aby dovolil kompilátoru pracovat na různých segmentech kódu v tu samou chvíli, což umožňuje modelům strojového učení a dalším aplikacím přejít rychleji do praxe.
MLIR subprojekt je v základu open source.