google/ml-compiler-opt
Infrastructure for Machine Learning Guided Optimization (MLGO) in LLVM.
何を解決するか
LLVM コンパイラ内の手作業で作られた最適化ヒューリスティクスを、機械学習モデルで置き換えることで、コードのサイズとパフォーマンスに対する最適化の質を向上させます。
動作方法
MLGO は、従来のヒューリスティクスを置き換えるために、機械学習技術を LLVM に統合します。特定のコンパイラタスク向けに、ポリシー勾配(Policy Gradient)などのアルゴリズムを使用してポリシーを学習します。現在のフレームワークの焦点は、2つの主要な最適化に集中しています:サイズ最適化のためのインライン化と、パフォーマンス最適化のためのレジスタ割り当て。
対象ユーザー
手動のヒューリスティクスではなく、機械学習モデルを使って LLVM のコンパイルプロセスを最適化したいコンパイラエンジニアや開発者。
主な特徴
- サイズ最適化のためのインライン化とパフォーマンス最適化のためのレジスタ割り当てをサポート。
- ポリシーの学習にポリシー勾配(Policy Gradient)を採用。
- カスタムモデルを作成するための学習インフラとツールを提供。
- CMake フラグで直接 LLVM に統合可能な事前学習済みモデルを提供。
関連
- プロジェクト
sophgo/tpu-mlirPyTorch や ONNX などのフレームワークから事前に訓練されたニューラルネットワークを、TPU実行用に最適化された `bmodel` ファイルに変換する MLIR ベースの機械学習コンパイラ。
- プロジェクト
allenai/OLMo-coreOLMoファミリーの大規模言語モデルのためのビルディングブロックとトレーニングインフラストラクチャのライブラリであり、公式のトレーニングスクリプトと最適化されたハードウェアカーネルを提供します。
- プロジェクト
evidentlyai/evidentlyオープンソースの Python フレームワークで、ML および LLM 駆動システムの評価・テスト・モニタリングを行い、開発者がデータドリフトを検出し出力品質を保証できるよう支援します。
- プロジェクト
context-labs/HALORLMベースのエージェント最適化ツールで、本番環境の実行トレースを分析し、システム的な障害モードを特定し、エージェントハarnessの改善を推奨します。
- プロジェクト
vllm-project/llm-compressorLLM Compressor は、大規模言語モデルを `compressed-tensors` 形式に量子化・剪定する Python ライブラリで、vLLM でのメモリ効率の良いデプロイを可能にします。多くの低精度フォーマット(NVFP4、FP8、INT4 など)、複数の PTQ/GPTQ アルゴリズム、DDP およびディスクオフロードによる巨大モデル対応、人気 LLM の事前量子化チェックポイントを提供します。