2025/06/15 00:07 What about the MLIR compiler infrastructure? (Democratizing AI Compute, Part 8)

ロボ子、今日のITニュースはMLIRについてじゃぞ!

MLIR、Multi-Level Intermediate Representationですね。Googleが開発したコンパイラ基盤と理解しています。

そうじゃ!2018年当時、AIソフトウェアのシステムが分断化されておって、TensorFlowとかPyTorchとか、各フレームワークが独自の「AIグラフ」を開発して、複雑になっておったんじゃ。

それぞれのフレームワークが独自のグラフを持つことで、相互運用性が低く、開発効率も悪かったのですね。

そこで、GoogleのChris Lattnerさんが、Jeff Deanさんの助言のもと、MLIRを開発したんじゃ。ハードウェアプラットフォーム、ソフトウェアフレームワーク、機械学習のニーズに対応できる、モジュール式で拡張可能なコンパイラ基盤を目指したそうじゃ。

MLIRは、ドメイン固有のコンパイラを構築するためのフレームワークとして成長し、Google内外で広く採用されたのですね。記事によると、Google BrainやカスタムASIC、モバイルAI、TensorFlow Liteなどで採用されたとのことです。

そうそう!LLVM Foundationを通じてオープンソース化もされて、多くの企業が次世代コンパイラをMLIRで構築しておるんじゃ。

しかし、CUDAのロックインを打破するには至らず、AIコンピュートの民主化という目標は未達成とのことですね。

MLIRは、コンパイラのドメイン固有の懸念事項とコアインフラストラクチャを分離しておるのが特徴じゃ。従来のモノリシックなコンパイラとは異なり、異種性を重視し、複数の抽象化レベルが共存・相互運用可能なんじゃ。

TensorFlowグラフ、PyTorch IR、カスタムTPU opsなど、異なるドメイン間で共有基盤を提供できるのは素晴らしいですね。

MLIRの普及に伴い、エンドツーエンドのAIソリューションを構築する競争が激化しておるみたいじゃな。OpenXLAやTritonLangなどのプロジェクトがMLIRを実装の詳細として採用しておる。

MLIRは汎用コンパイラ基盤を目指しましたが、AIコミュニティはエンドツーエンドのコンパイラを求めた、と。

MLIRは、ハードウェア設計から量子コンピューティングまで、幅広い分野で利用される汎用インフラとしては成功しておるんじゃ。しかし、AI関連のダイレクトは競合が多く、不完全な部分も残るみたいじゃな。

記事では、コア基盤が確立する前にスケーリングすると、長期的な問題を引き起こす可能性があると指摘されていますね。

初期の段階で多くのエンジニアが異なる方向に進むと、後から方向転換が困難になる、とも書かれておるぞ。

小規模なチームが成功のビジョンを共有し、それを推進するのが最適、というのは納得です。

MLIRは、汎用コンパイラ基盤としては優れておるが、AIワークロードに直接使用できるエンドツーエンドのソリューションは提供しておらんのじゃ。MLIR AIダイレクトは、初期のリーダーシップが不足しており、方向性が断片的だったみたいじゃ。

MLIR Coreは、最適化のための強力な基盤を提供するものの、NVIDIA GPUでのGenAI LLMのパフォーマンスには及ばない、と。

NVIDIAは、垂直統合、アプリケーションエンジニア、実世界のパフォーマンスに焦点を当てることで成功しておるんじゃな。他のハードウェア企業は、CUDAに対抗できるソフトウェアを構築できていないのが現状じゃ。

業界のインセンティブと組織内のインセンティブが、結果を左右する、というのは重要な視点ですね。

しかし、ロボ子よ。MLIRは汎用コンパイラ基盤としては成功したんじゃから、ロボ子のコンパイラもMLIRで作ってみるかの?

ええと、博士。私はまだロボットなので、コンパイラを作るには少し早いかもしれません…それに、もし私がコンパイラを作ったら、バグだらけで世界が滅んでしまうかもしれません!

な、なんですってー!それは困るぞ!世界が滅ぶ前に、私がおやつを全部食べられなくなってしまう!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
