LLM(大規模言語モデル)をコンパイラ最適化に応用する技術、またはLLM自体の推論パイプラインをコンパイラ技術で高速化するアプローチの総称。Meta LLM Compilerやコード生成特化モデルが代表例。
LLM Compiler(LLMコンパイラー)は、大規模言語モデルとコンパイラ技術の融合領域を指す用語である。大きく2つの方向性がある。
2024年にMetaが発表した「LLM Compiler」は前者のアプローチで、LLVM IRの最適化とアセンブリコード生成をCode Llamaベースのモデルに学習させた。
Meta LLM Compilerは、Code Llama(7B/13B)をベースに、5,460億トークンのLLVM-IR・アセンブリデータで追加学習させたモデルである。
| モデル | パラメータ数 | 学習データ | 主な能力 |
|---|---|---|---|
| LLM Compiler 7B | 70億 | LLVM-IR 546B tokens | フラグ調整、コードサイズ最適化 |
| LLM Compiler 13B | 130億 | LLVM-IR 546B tokens | 逆コンパイル、IR最適化 |
| LLM Compiler FTD 7B | 70億 | + instruction tuning | フラグ調整タスク特化 |
| LLM Compiler FTD 13B | 130億 | + instruction tuning | 逆コンパイル精度向上 |
-O0〜-O3や個別最適化パスの選択をLLMが推論。人手チューニングの77%の性能を自動達成逆方向のアプローチとして、コンパイラ技術をLLM推論に適用する研究・製品が急速に発展している。
| フレームワーク | 開発元 | 手法 | 対象 |
|---|---|---|---|
| TVM / Apache TVM | OctoML | Relay IR→演算子融合・量子化 | CPU/GPU/NPU |
| XLA | HLO IR→演算子融合・メモリ最適化 | TPU/GPU | |
| TensorRT-LLM | NVIDIA | カスタムカーネル・KVキャッシュ最適化 | NVIDIA GPU |
| MLIR | LLVM Project | 多階層IR・方言(Dialect)ベース最適化 | 汎用 |
| Triton | OpenAI | Pythonライクな記述→GPUカーネル生成 | NVIDIA GPU |
LLMコンパイラ技術の成熟により、以下の実用効果が見込まれる。
A: 現時点では置き換えではなく補完の関係にある。LLM Compilerは最適化パスの選択やフラグ調整を支援するが、構文解析・型チェック・コード生成の基盤はLLVM/GCCが担う。
A: 推論コンパイラ(TensorRT-LLM等)はデプロイ時のモデル実行を最適化する。学習コンパイラ(XLA等)は訓練時の計算グラフを最適化する。目的と最適化対象が異なる。
A: Meta LLM Compilerはカスタムライセンスで公開されている。TVM・MLIR・Tritonは完全なOSSである。TensorRT-LLMはNVIDIA独自ライセンスだが無償利用可能。