TensorFlow MLIR slibuje rychlejší kompilaci kódu strojového učení

24. 4. 2019

Sdílet

 Autor: © archy13 - Adobe Stock
Projekt slibuje rychlejší kompilaci a jednodušší hardwarovou optimalizaci pro high-performance modely strojového učení.

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ě.

ICTS24

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.