重要なポイント
- Apache 2.0ライセンス — 個人・商用利用ともに無料
- 2026年9月時点で約23,000以上のGitHubスター、リポジトリはgithub.com/mlc-ai/mlc-llm
- CMU Catalyst、UW SAMPL、SJTU、OctoML、および広いMLCコミュニティによる共同プロジェクトから誕生
- CMU教授でApache TVM・XGBoost・MXNetの開発者でもあり、OctoMLの共同創業者でもあるTianqi Chen氏が主要な貢献者の一人
- 手動最適化された単一エンジンではなく、ML コンパイル(Apache TVM、TensorIR、MetaSchedule)でターゲットごとに最適化されたランタイムを生成
- iOS/iPadOS、Android、Webブラウザ(WebGPU経由)、デスクトップ/サーバー(Linux、macOS、Windows、CUDA・Vulkan・Metal・ROCmアクセラレーション)で動作
📍 一文で説明
MLC LLMは、Apache TVMを基盤とした機械学習コンパイルを用いて、モデルをiOS、Android、WebGPU経由のWebブラウザ、デスクトップGPU向けの最適化ランタイムへコンパイルする、無料・Apache 2.0ライセンスの汎用LLMデプロイメントエンジンである。
💬 簡潔に説明
多くの推論エンジンはあらゆる環境で動作しようとする手書きの1つのプログラムだが、MLC LLMは各ターゲットデバイス向けにモデルを個別にコンパイルする——同じソースコードから異なるCPUアーキテクチャ向けに異なる機械語を生成するコンパイラと同じ発想である。
📌補足: WebLLM(github.com/mlc-ai/web-llm)は同じmlc-ai組織内の別の姉妹プロジェクトで、サーバー側推論を一切行わずWebブラウザ内でモデルを完全に実行することに特化している。
MLC LLMとは何か
MLC LLMは、スマートフォンからブラウザ、デスクトップGPUまで幅広いターゲットプラットフォーム向けに、大規模言語モデルを最適化されたネイティブランタイムへコンパイルする無料のオープンソースエンジンである。 自らを「MLコンパイルを備えた汎用LLMデプロイメントエンジン」と位置づけている。
プロジェクトはgithub.com/mlc-ai/mlc-llmでApache 2.0ライセンスの下にホストされ、約23,000のGitHubスターを超えている。CMU Catalyst、UW SAMPL、SJTU、OctoML、MLCコミュニティのメンバーによって開始された——単一企業ではなくグループによるものである。CMU教授でApache TVM・XGBoost・MXNetの開発者でもあるTianqi Chen氏が主要な貢献者の一人である。
- 各プラットフォームで同じ汎用コードを解釈するのではなく、ターゲット固有の最適化されたランタイムへモデルをコンパイルする
- Apache TVMおよび関連するコンパイラ研究(TensorIR、MetaSchedule)を基盤に、ターゲットごとの自動最適化を実現
- 単一のツールチェーンからiOS/iPadOS、Android、Webブラウザ、デスクトップ/サーバープラットフォームに対応
- ブラウザ内での完全クライアントサイド推論に特化した活発な姉妹プロジェクトWebLLMを持つ
「MLコンパイル」とは具体的に何を意味するのか
MLコンパイルは、新しいデバイスへのモデルのデプロイを、従来型コンパイラが新しいCPUアーキテクチャへのコードのデプロイを扱うのと同じように扱う——単一のモデル記述から最適化されたターゲット固有のコードを自動生成する。 これがMLC LLMをこれほど幅広いハードウェアに対応させる中核的な発想である。
- Apache TVMはMLC LLMの基盤となるコンパイラ基盤を提供し、モデルの計算グラフをターゲットごとに最適化された低レベルコードへ変換する
- TensorIRは、ターゲット固有の最適化前にテンソル計算を記述するために使われる中間表現である
- MetaScheduleは、人がそれぞれを手動で作成・調整する代わりに、ターゲットごとに高性能なカーネル実装の探索を自動化する
- 結果として、ほぼ同じソースから、CUDA経由のNVIDIA GPU、VulkanまたはROCm経由のAMD GPU、Metal経由のApple GPU、WebGPU経由のブラウザ向けにコンパイルできる単一のモデルが得られる
MLC LLMのインストールとデプロイ方法
MLC LLMはデスクトップ/サーバー用途向けにPythonパッケージとしてインストールされ、iOS・Android向けにビルド済みアプリを提供する。WebLLMはブラウザデプロイ用のJavaScriptパッケージとして利用できる。 適切な方法はターゲットプラットフォームによって異なる。
- 1デスクトップ/サーバー用途:公式インストールガイドに従ってMLC LLMのPythonパッケージをインストールする。CUDA、Vulkan、Metal、ROCmのセットアップをカバーしている。
- 2サポートされているモデルを選び、MLC LLMの変換・コンパイルツールでターゲットデバイス向けにコンパイルするか、MLCコミュニティのコンパイル済みモデルを利用する。
- 3モバイル向け:MLC LLMはコンパイル済みモデルとランタイムをまとめたiOS・Androidのサンプルアプリプロジェクトを提供している。
- 4サーバー不要のブラウザデプロイ向け:WebLLMをJavaScript/TypeScriptパッケージとして直接利用する。WebGPU経由で完全にクライアント側で実行される。
- 5ターゲットデバイスまたはブラウザでコンパイル済みランタイムを実行・テストし、想定するバックエンド(CUDA、Vulkan、Metal、ROCm、WebGPU)でアクセラレーションが有効になっていることを確認する。
プラットフォームごとにモデルを再コンパイルする必要があるか?
基本的には必要である。MLC LLMのコンパイル工程は特定のターゲット(特定のGPUバックエンド、モバイルOS、ブラウザ)向けに最適化されたランタイムを生成するため、新しいプラットフォームへのデプロイには通常そのターゲット向けのコンパイルが必要になる。
MLC LLMはGPUなしで動作するか?
コンパイル済みランタイムは主にGPUアクセラレーション経路(CUDA、Vulkan、Metal、ROCm、WebGPU、モバイルOpenCL)を中心に構築されており、llama.cppのようなエンジンと異なり、CPU中心のデプロイはプロジェクトの主な焦点ではない。
MLC LLMはどのプラットフォーム・GPUバックエンドに対応しているか
MLC LLMを特徴づけるのは、従来のデスクトップGPUに加えてモバイルOSやWebブラウザにまで及ぶプラットフォーム対応の幅広さである。 この組み合わせを単一のツールチェーンでカバーするローカル推論エンジンは他にほとんどない。
- iOS/iPadOS — Apple Aシリーズ GPU上のMetalアクセラレーション
- Android — AdrenoおよびMali GPU上のOpenCLアクセラレーション
- Webブラウザ — 姉妹プロジェクトWebLLM経由のWebGPUとWASM、サーバー不要
- デスクトップ/サーバー(Linux、macOS、Windows) — CUDA(NVIDIA)、Vulkan(AMD/NVIDIA/Intel)、Metal(Apple)、ROCm(AMD)
MLC LLMはどんな人向けか
デプロイ対象にデスクトップGPUに加えてモバイルデバイスやWebブラウザが含まれるならMLC LLMを使う。対象が単一のプラットフォームタイプのみであれば、より狭い範囲に特化したエンジンを使う。
MLC LLMはllama.cppや他のエンジンとどう違うか
MLC LLMに最も近い比較対象は、幅広いハードウェア対応を目指す他のエンジンだが、コンパイラベースのアプローチとブラウザ内デプロイを組み合わせているのはこのグループの中でMLC LLMだけである。
MLC LLM評価時によくある誤解
誤解の多くは、プラグアンドプレイのバイナリ体験を期待すること、またはWebLLMが別の姉妹プロジェクトであることに気づかないことに起因する。
よくある質問
MLC LLMとは何か?
MLC LLMは、機械学習コンパイルを用いて大規模言語モデルをスマートフォン、Webブラウザ、デスクトップGPUに単一のツールチェーンからデプロイする、無料・Apache 2.0ライセンスのエンジンである。
MLC LLMは誰が作ったか?
MLC LLMはCMU Catalyst、UW SAMPL、SJTU、OctoML、MLCコミュニティのメンバーによって開始された。CMU教授でApache TVM・XGBoost・MXNetの開発者でもあるTianqi Chen氏が主要な貢献者の一人である。
MLC LLMは商用利用が無料か?
はい。MLC LLMはApache 2.0ライセンスで、個人・商用利用ともに無料である。
MLC LLMはWebブラウザで動作するか?
はい。姉妹プロジェクトのWebLLMを通じて、WebGPU経由でサーバー側推論を必要とせず完全にクライアント側でモデルを実行できる。
MLC LLMにおける「MLコンパイル」とは何を意味するか?
各プラットフォーム向けに手動最適化された単一のエンジンに頼るのではなく、コンパイル技術(Apache TVMを基盤にTensorIRとMetaScheduleを用いる)を使って特定のターゲットデバイス向けに最適化されたランタイムを自動生成することを指す。
MLC LLMはiOSとAndroidに対応しているか?
はい。iOS/iPadOSはApple Aシリーズ GPU上のMetal経由、AndroidはAdrenoおよびMali GPU上のOpenCL経由で対応している。
MLC LLMがデスクトップで対応するGPUバックエンドは?
CUDA(NVIDIA)、Vulkan(AMD、NVIDIA、Intel)、Metal(Apple)、ROCm(AMD)である。
プラットフォームごとにモデルを別々にコンパイルする必要があるか?
基本的には必要である。MLC LLMは特定のターゲット向けに最適化されたランタイムへモデルをコンパイルするため、新しいプラットフォーム(異なるGPUバックエンド、モバイルOS、ブラウザ)へのデプロイには通常そのターゲット向けのコンパイルが必要になる。
MLC LLMはllama.cppとどう違うか?
llama.cppはハードウェアベンダーごとに手動調整されたバックエンドを持つ、手書きのC/C++エンジンである。MLC LLMは代わりにコンパイラ(Apache TVM)を使ってターゲットごとに最適化されたコードを自動生成し、それによってモバイルデバイスやWebGPU経由のWebブラウザにも到達できる。
MLC LLMは大規模なNVIDIA特化の本番配信に向いているか?
主な焦点ではない。NVIDIA特化の最大本番スループットにはTensorRT-LLMやvLLMの方が特化したツールである。MLC LLMの強みは、単一環境での最高スループットではなく、大きく異なるプラットフォーム間の広さにある。
