MLC-LLM

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

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


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

MLC-LLM (компиляция машинного обучения для больших языковых моделей) — универсальная платформа, позволяющая эффективно разворачивать большие языковые модели на различных аппаратных бэкендах. Используя 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-бит / 8-бит — запуск больших моделей на потребительских GPU

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

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

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

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

  • Inference API в продакшне в масштабе

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

  • Экономичного сервинга с квантизованными моделями

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


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

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

  1. Перейдите на clore.aiarrow-up-right маркетплейс

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

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

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

circle-info

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

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

Проброс портов:

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

22

Доступ по SSH

8000

REST API сервер

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

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

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


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

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

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

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

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

circle-info

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


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

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

Вывод при старте сервера

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

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

/v1/chat/completions

POST

Chat completions (формат OpenAI)

/v1/completions

POST

Текстовые завершения

/v1/models

GET

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

/v1/debug/dump_event_trace

GET

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


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

Chat Completions (Python)

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

Пример cURL


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

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

Серия Llama 3

Mistral / Mixtral

Gemma

Phi

circle-check

Опции квантизации

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

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

q4f16_1

4-бит

★★★★☆

~4 ГБ

~7 ГБ

q4f32_1

4-бит (с накоплением в f32)

★★★★☆

~4 ГБ

~7 ГБ

q8f16_1

8-бит

★★★★★

~8 ГБ

~14 ГБ

q0f16

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

★★★★★

~14 ГБ

~26 ГБ

q0f32

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

★★★★★

~28 ГБ

~52 ГБ

circle-exclamation

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

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

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

circle-info

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


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

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

Доступ к UI по адресу: http://<clore-node-ip>:<api-port>


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

Оптимизация размера батча

Мониторинг загрузки GPU

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


Настройка Docker Compose

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


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

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

Недостаточно памяти (OOM)

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

triangle-exclamation

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


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

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

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

RTX 3090

24 ГБ

~$0.12/ч

Модели 7B–13B, бюджетный сервисинг

~85 ток/с

RTX 4090

24 ГБ

~$0.70/ч

Модели 7B–34B, быстрый сервисинг

~140 ток/с

A100 40GB

40 ГБ

~$1.20/ч

34B–70B, продакшн API

~110 ток/с

A100 80GB

80 ГБ

~$2.00/ч

70B+, сервинг нескольких моделей

~130 ток/с

H100 SXM

80 ГБ

~$3.50/ч

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

~280 ток/с

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

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


Ресурсы

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

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