mlc-llm README

The project's README from github.com/mlc-ai/mlc-llm. As one markdown file: README.md.

MLC LLM

Installation License Join Discoard Related Repository: WebLLM

Universal LLM Deployment Engine with ML Compilation

Get Started | Documentation | Blog

About

MLC LLM is a machine learning compiler and high-performance deployment engine for large language models. The mission of this project is to enable everyone to develop, optimize, and deploy AI models natively on everyone's platforms. 

AMD GPU NVIDIA GPU Apple GPU Intel GPU
Linux / Win ✅ Vulkan, ROCm ✅ Vulkan, CUDA N/A ✅ Vulkan
macOS ✅ Metal (dGPU) N/A ✅ Metal ✅ Metal (iGPU)
Web Browser ✅ WebGPU and WASM
iOS / iPadOS ✅ Metal on Apple A-series GPU
Android ✅ OpenCL on Adreno GPU ✅ OpenCL on Mali GPU

MLC LLM compiles and runs code on MLCEngine -- a unified high-performance LLM inference engine across the above platforms. MLCEngine provides OpenAI-compatible API available through REST server, python, javascript, iOS, Android, all backed by the same engine and compiler that we keep improving with the community.

Get Started

Please visit our documentation to get started with MLC LLM.

Citation

Please consider citing our project if you find it useful:

@software{mlc-llm,
    author = {{MLC team}},
    title = {{MLC-LLM}},
    url = {https://github.com/mlc-ai/mlc-llm},
    year = {2023-2025}
}

The underlying techniques of MLC LLM include:

References (Click to expand)
@inproceedings{tensorir,
    author = {Feng, Siyuan and Hou, Bohan and Jin, Hongyi and Lin, Wuwei and Shao, Junru and Lai, Ruihang and Ye, Zihao and Zheng, Lianmin and Yu, Cody Hao and Yu, Yong and Chen, Tianqi},
    title = {TensorIR: An Abstraction for Automatic Tensorized Program Optimization},
    year = {2023},
    isbn = {9781450399166},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    url = {https://doi.org/10.1145/3575693.3576933},
    doi = {10.1145/3575693.3576933},
    booktitle = {Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2},
    pages = {804–817},
    numpages = {14},
    keywords = {Tensor Computation, Machine Learning Compiler, Deep Neural Network},
    location = {Vancouver, BC, Canada},
    series = {ASPLOS 2023}
}

@inproceedings{metaschedule,
    author = {Shao, Junru and Zhou, Xiyou and Feng, Siyuan and Hou, Bohan and Lai, Ruihang and Jin, Hongyi and Lin, Wuwei and Masuda, Masahiro and Yu, Cody Hao and Chen, Tianqi},
    booktitle = {Advances in Neural Information Processing Systems},
    editor = {S. Koyejo and S. Mohamed and A. Agarwal and D. Belgrave and K. Cho and A. Oh},
    pages = {35783--35796},
    publisher = {Curran Associates, Inc.},
    title = {Tensor Program Optimization with Probabilistic Programs},
    url = {https://proceedings.neurips.cc/paper_files/paper/2022/file/e894eafae43e68b4c8dfdacf742bcbf3-Paper-Conference.pdf},
    volume = {35},
    year = {2022}
}

@inproceedings{tvm,
    author = {Tianqi Chen and Thierry Moreau and Ziheng Jiang and Lianmin Zheng and Eddie Yan and Haichen Shen and Meghan Cowan and Leyuan Wang and Yuwei Hu and Luis Ceze and Carlos Guestrin and Arvind Krishnamurthy},
    title = {{TVM}: An Automated {End-to-End} Optimizing Compiler for Deep Learning},
    booktitle = {13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18)},
    year = {2018},
    isbn = {978-1-939133-08-3},
    address = {Carlsbad, CA},
    pages = {578--594},
    url = {https://www.usenix.org/conference/osdi18/presentation/chen},
    publisher = {USENIX Association},
    month = oct,
}

mlc-llm (mlc-ai/mlc-llm)

Searching Database…

23.3K ·GitHub
Что это такое?MLC LLM — это компилятор машинного обучения и высокопроизводительный движок для развёртывания, который позволяет запускать большие языковые модели нативно почти на любой платформе: от серверов до телефонов и браузера.
Это компилятор, среда выполнения или и то, и другое?И то, и другое: он компилирует модели с помощью методов компиляции машинного обучения, а затем запускает их через MLCEngine, единый движок инференса, общий для всех поддерживаемых платформ.
Как мне это запустить?В самом README нет одной быстрой команды; вам нужно следовать разделам Installation и Quick start в документации проекта, чтобы настроить MLC LLM для нужной платформы.
Какой бэкенд GPU нужен для моего железа?Всё зависит от устройства: Vulkan или ROCm для GPU AMD, Vulkan или CUDA для GPU NVIDIA, Metal для GPU Apple, Vulkan для GPU Intel, а в браузере — WebGPU/WASM, на мобильных GPU — OpenCL.
Работают ли GPU всех производителей на каждой платформе?Нет, поддержка устроена по таблице совместимости и распределена неравномерно: например, GPU NVIDIA не поддерживаются на macOS, а GPU AMD недоступны в веб-, iOS- и Android-бэкендах.
Что такое MLCEngine?MLCEngine — это единый высокопроизводительный движок инференса, в который MLC LLM компилирует модели; один и тот же движок работает на серверах, в iOS, Android и веб-браузере.
Есть ли у него API, совместимый с OpenAI?Да, MLCEngine предоставляет API, совместимый с OpenAI, через REST-сервер, а также привязки для Python, JavaScript, iOS и Android; все они работают на одном движке.
Зачем компилировать модели, а не просто запускать их через PyTorch?Компиляция машинного обучения позволяет MLC LLM генерировать оптимизированный код под конкретное железо (Vulkan, CUDA, Metal, ROCm, OpenCL, WebGPU), так что одна и та же модель эффективно работает на очень разных платформах, чего обычная среда выполнения фреймворка сама по себе не умеет.
Какая технология лежит в основе MLC LLM?Он построен на стеке компиляции машинного обучения TVM, который проект использует для генерации и оптимизации кода инференса под каждую целевую платформу.
What are similar projects?tvm, qxotic, rizzo-flow, decider, llama.cpp, web-llm, qwen38-mtp, tilelang
Creator
mlc-ai
Size
36.3 MB
Stars
23.3K
Updated
CommitOct 06
Age
3y
Commits · 90 Days