For the complete documentation index, see llms.txt. This page is also available as Markdown.

MLC-LLM

Универсальное развертывание LLM через ML Compilation — запускайте любую большую языковую модель на любом оборудовании с максимальной производительностью с использованием машинной компиляции.

🌟 20 000+ звёзд на GitHub | Поддерживается командой MLC AI | Лицензия Apache-2.0


Что такое MLC-LLM?

MLC-LLM (Machine Learning Compilation for Large Language Models) — это универсальный фреймворк, который обеспечивает эффективное развертывание больших языковых моделей на различных аппаратных бэкендах. Используя TVM (Tensor Virtual Machine) в качестве бэкенда компиляции, MLC-LLM компилирует LLM-модели напрямую в нативный код для оборудования — достигая почти оптимальной производительности без аппаратно-специфической инженерии.

Ключевые возможности

  • Универсальная поддержка оборудования — NVIDIA CUDA, AMD ROCm, Apple Metal, Vulkan, WebGPU

  • REST API, совместимый с OpenAI — готовая замена для существующих рабочих процессов

  • Несколько форматов моделей — Llama, Mistral, Gemma, Phi, Qwen, Falcon и другие

  • Квантование 4-bit / 8-bit — запускайте большие модели на потребительских GPU

  • Чат-интерфейс — встроенный веб-интерфейс для мгновенного тестирования

  • Инструменты Python и CLI — гибкие варианты интеграции

Зачем использовать MLC-LLM на Clore.ai?

Рынок GPU Clore.ai даёт вам доступ к высокопроизводительным NVIDIA GPU по конкурентным ценам аренды. Подход MLC-LLM к компиляции выжимает максимум пропускной способности из каждого GPU — что делает его идеальным для:

  • Рабочий API inference в production на масштабе

  • Исследований и бенчмаркинга для моделей разных размеров

  • Экономичного обслуживания с квантованными моделями

  • Развертывания нескольких моделей на одном GPU-инстансе


Быстрый старт на Clore.ai

Шаг 1: найдите GPU-сервер

  1. Перейдите на маркетплейсе clore.ai маркетплейс

  2. Фильтруйте серверы: NVIDIA GPU, минимум 8 ГБ VRAM (рекомендуется 16 ГБ+ для моделей 7B+)

  3. Для оптимальной производительности: RTX 3090, RTX 4090, A100 или H100

Шаг 2: разверните MLC-LLM

Примечание: MLC-LLM не публикует официальный готовый Docker-образ в Docker Hub. Рекомендуемый способ развертывания — использовать базовый образ NVIDIA CUDA и установить MLC-LLM через pip. Используйте nvidia/cuda:12.8.1-devel-ubuntu22.04 как базовый образ в Clore.ai.

Используйте базовый образ NVIDIA CUDA в вашей конфигурации заказа Clore.ai:

Сопоставление портов:

Порт контейнера
Назначение

22

SSH-доступ

8000

Сервер REST API

Рекомендуемые переменные окружения:

Скрипт запуска (запустите после SSH):

Шаг 3: подключитесь через SSH


Установка и настройка

Вариант A: используйте предварительно скомпилированные модели (самый быстрый)

Команда MLC-AI поддерживает библиотеку предварительно скомпилированных моделей на Hugging Face. Компиляция не требуется:

Вариант B: скомпилируйте собственную модель

Для пользовательских моделей или особых требований к квантованию:

Время компиляции: Компиляция модели 7B обычно занимает 10–30 минут при первом запуске. Скомпилированные артефакты кэшируются и повторно используются при последующих запусках.


Запуск API-сервера

Запустите сервер, совместимый с OpenAI

Вывод при запуске сервера

Доступные конечные точки API

Конечная точка
Метод
Описание

/v1/chat/completions

POST

Завершения чата (формат OpenAI)

/v1/completions

POST

Завершения текста

/v1/models

GET

Список доступных моделей

/v1/debug/dump_event_trace

GET

Отладка производительности


Примеры использования API

Завершения чата (Python)

Потоковый ответ

Пример cURL


Доступные предварительно скомпилированные модели

MLC-AI предоставляет готовые к использованию скомпилированные модели на Hugging Face:

Серия Llama 3

Mistral / Mixtral

Gemma

Phi


Варианты квантования

MLC-LLM поддерживает несколько схем квантования. Выбирайте в зависимости от вашего бюджета VRAM:

Квантование
Биты
Качество
VRAM (7B)
VRAM (13B)

q4f16_1

4-бит

★★★★☆

~4 ГБ

~7 ГБ

q4f32_1

4-бит (f32 accum)

★★★★☆

~4 ГБ

~7 ГБ

q8f16_1

8-бит

★★★★★

~8 ГБ

~14 ГБ

q0f16

16-бит (без квантования)

★★★★★

~14 ГБ

~26 ГБ

q0f32

32-бит (без квантования)

★★★★★

~28 ГБ

~52 ГБ


Развертывание на нескольких GPU

Для больших моделей (70B+), требующих нескольких GPU:

Перед развертыванием проверьте топологию GPU:

Лучшая производительность: Много-GPU работает лучше всего с картами, соединёнными через NVLink (например, пары A100 80GB SXM). У GPU, соединённых через PCIe, на больших моделях будут узкие места.


Веб-интерфейс чата

MLC-LLM включает встроенный веб-интерфейс, доступный после запуска сервера:

Откройте интерфейс по адресу: http://<clore-node-ip>:<api-port>


Тонкая настройка производительности

Оптимизируйте размер батча

Отслеживайте загрузку GPU

Бенчмарк пропускной способности


Настройка Docker Compose

Для production-развертывания на Clore.ai с использованием базового образа NVIDIA CUDA и установленного через pip MLC-LLM:


Устранение неполадок

Сбой загрузки модели

Нехватка памяти (OOM)

Несоответствие версии CUDA

Сервер недоступен


Рекомендации по GPU для Clore.ai

Подход MLC-LLM к компиляции обеспечивает почти оптимальную пропускную способность на каждом классе GPU. Выбирайте в зависимости от размера модели и бюджета:

GPU
VRAM
Цена Clore.ai
Лучше всего для
Пропускная способность (Llama 3 8B Q4)

RTX 3090

24 ГБ

$0.07–0.21/ч

Модели 7B–13B, бюджетное обслуживание

~85 ток/с

RTX 4090

24 ГБ

$0.14–0.42/ч

Модели 7B–34B, быстрое обслуживание

~140 ток/с

A100 40 ГБ

40 ГБ

34B–70B, production API

~110 ток/с

A100 80 ГБ

80 ГБ

70B+, обслуживание нескольких моделей

~130 ток/с

H100 SXM

80 ГБ

~$1.04/ч

Максимальная пропускная способность, FP8

~280 tok/s

Рекомендуемая отправная точка: RTX 3090 за $0.07–0.21/ч — лучшее соотношение цены и производительности для обслуживания Llama 3 8B и Mistral 7B через MLC-LLM. Скомпилированные ядра извлекают почти максимальную загрузку из потребительских GPU.

Для моделей 70B (например, Llama 3 70B Q4): используйте A100 40GB (голое железо) или две RTX 3090 через тензорный параллелизм.


Ресурсы

Последнее обновление

Это было полезно?