До недавнего времени запустить тяжелую LLM локально означало одно — нужна NVIDIA карточка с приличным VRAM. Все остальное было танцами с бубном и флагами --n-gpu-layers. Но вышел Lemonade v10.7, и правила игры изменились. Разработчики добавили то, что они называют рабочими группами (work groups) — и это не просто маркетинговая фишка, а реальная возможность задействовать любое железо, будь то AMD, Intel или Apple Silicon. Как это работает и стоит ли переходить? Разбираемся без розовых очков.
Что за зверь — рабочие группы?
Lemonade изначально позиционировался как «швейцарский нож» для локального AI. Еще в версии v9.2 он умел запускать Stable Diffusion, Whisper и LLM одной командой. Но проблема совместимости с разными GPU оставалась: под капотом – llama.cpp, а он хоть и кроссплатформен, но требовал ручной настройки бэкендов. Рабочие группы решают это на уровне конфигурации.
Суть проста: вы описываете, какие вычислительные ресурсы у вас есть (GPU AMD, Intel Arc, CPU, нейронный движок Apple), а Lemonade сам решает, какой бэкенд (ROCm, oneAPI, Metal) использовать для каждого слоя модели. Больше не нужно компилировать llama.cpp с десятками флагов — достаточно указать --work-group amd:rx7900xtx,intel:arc770.
Важно: В Lemonade v10.7 рабочие группы — это не разделение одной модели между разными GPU (хотя и это можно настроить через --tensor-split). Это скорее умный роутинг запросов к модели к наиболее подходящему бэкенду. Для распределенных вычислений используйте отдельный флаг --rpc.
Кто получил поддержку?
- AMD (ROCm): Рабочие группы для карт RX 6000/7000, Instinct MI250+. Раньше с ROCm приходилось мучиться с драйверами — теперь Lemonade сам подтягивает нужные библиотеки. Протестировали на RX 7900 XTX: Mistral 7B летает.
- Intel (oneAPI): Arc A770, A580 и встроенные Xe GPU. Сюрприз: на Arc A770 Llama 3.2 8B выдает 25 токенов/с — неплохо для карты за $250.
- Apple Silicon (Metal): M1, M2, M3 и M4 с поддержкой NPU. Новинка — возможность задействовать Neural Engine для некоторых операций, что снижает нагрузку на GPU.
- CPU (классика): Если у вас ничего нет, Lemonade запустит модель на CPU с оптимизациями AVX-512 и Q4_K_M квантизацией.
А что там с альтернативами?
Давайте честно: у Ollama (сравнение тут) классный UX, но под капотом он всё ещё использует llama.cpp без гибкости рабочих групп. Хотите запустить Qwen 2.5 на AMD? Ollama просто скажет, что не умеет, и переключится на CPU. Lemonade же спросит: «У тебя есть ROCm? Окей, задействую».
LM Studio (противостояние с llama.cpp разобрано здесь) хорош на macOS, но на Windows/AMD — беда: нет поддержки ROCm, только CUDA или CPU. Lemonade v10.7 эту проблему решает, да ещё и позволяет кастомизировать количество слоев для каждого бэкенда.
llama.cpp сам по себе мощный (веб-интерфейс тоже подвезли), но его конфигурация — ад для новичков. Lemonade выступает как более высокоуровневая обертка: вы даёте команду lemonade serve qwen2.5:14b-q4_K_M --work-group intel:arc770 и получаете готовый endpoint. Никаких make install с десятками флагов.
Осторожно: Рабочие группы всё ещё экспериментальные. На AMD с RX 6800 у нас были вылеты при попытке загрузить Mixtral 8x7B. Советую начинать с 7B моделей и проверять совместимость через lemonade doctor.
Как это выглядит на практике?
Типичный сценарий: у вас ноутбук с Intel Arc A730M (12 ГБ) и десктоп с Ryzen 7800X3D (встроенный GPU слабый, зато CPU мощный). Вы хотите запустить Llama 3.2 8B инференс с разделением: часть слоев на Intel Arc, часть на CPU. Раньше пришлось бы вручную компилировать llama.cpp с поддержкой oneAPI и прописывать --main-gpu 0 --offload-ratio 0.7. С Lemonade v10.7:
lemonade serve llama3.2:8b-instruct-q4_K_M \
--work-group intel:arc730m,cpu:64g \
--no-webui
Всё. Сервер слушает на localhost:8188, совместимость с OpenAI API полная. Подключаете Open WebUI и работаете.
Другой пример — Apple Silicon с M4 Max (48 ГБ unified memory). Хотите запустить Qwen 2.5 32B с квантизацией IQ3_XXS. Рабочая группа apple:m4 автоматически выбирает Metal для GPU и активирует NPU для вычислений attention. В тестах — 35 токенов/с, что сравнимо с RTX 4090. Подробнее о роутинге между GPU на Mac — в этой статье.
Кому это реально нужно?
- Владельцам AMD и Intel GPU: Наконец-то можно не чувствовать себя гражданами второго сорта. Не все карты поддерживаются (RX 5000 серия не в списке), но для RX 7000 и Arc — отлично.
- Разработчикам инструментов с tool calling: Lemonade поддерживает Tool Calling из коробки, а рабочие группы позволяют запускать модели с функциями даже на слабом железе.
- Корпоративным командам с гетерогенными серверами: Один сервер может иметь Nvidia, AMD и Intel карты одновременно. Lemonade v10.7 умеет распределять нагрузку между ними через единый API.
- Тем, кто хочет попробовать LLM без NVIDIA: Это реальный шанс запустить приличную модель на встроенной графике Intel Arc или AMD APU.
Но есть и минусы. Документация по рабочим группам сыровата — большинство примеров только в репозитории GitHub. Поддержка Windows с AMD/ROCm всё ещё требует установки драйверов вручную. Если вы цените «работает из коробки» — Ollama с CPU остаётся проще. Но если готовы повозиться ради производительности — Lemonade v10.7 даёт то, чего нет больше ни у кого.
Один нюанс: в версии v10.7 появилась возможность добавлять кастомные рабочие группы через YAML-файлы. Это открывает путь для экспериментаторов, которые хотят, скажем, запустить модель на FPGA или тензорных процессорах Google Coral. В документации сказано, что поддержка расширяется через плагины — ждем community-решения.
Лично я считаю, что Lemonade v10.7 — это попытка стать стандартом де-факто для мультивендорного железа. Пока она не дотягивает до «поставил и забыл», но направление верное. Если разработчики продолжат в том же духе, к концу 2026 года мы забудем про флаги --gpu-layers. По крайней мере, очень хочется в это верить.