Как перестать гадать и запустить LLM на своем железе
Знакомая ситуация: вы скачиваете свежую модель с Hugging Face, тратите полчаса на настройку окружения, запускаете генерацию и... получаете Out of Memory. Или, что еще обиднее, модель запускается, но выдает один токен в пять секунд, потому что веса не влезли в видеопамять и «протекли» в обычную оперативку.
Я часто сталкиваюсь с тем, что подбор квантования под конкретную видеокарту превращается в бесконечный цикл проб и ошибок. Проект llmfit решает эту проблему элегантно: он сканирует ваше железо и сразу говорит, какие модели полетят, а какие даже не стоит пробовать.
Что умеет llmfit
Если вкратце, это CLI-инструмент на Rust, который сопоставляет базу из сотен популярных LLM с вашими реальными ресурсами: RAM, CPU и GPU. Он не просто смотрит на объем памяти, а высчитывает пригодность модели по четырем параметрам: качеству, скорости, соответствию железу и размеру контекста.
Инструмент поддерживает мульти-GPU конфигурации, архитектуры MoE (Mixture-of-Experts) и умеет работать с разными бэкендами: Ollama, llama.cpp и MLX для Mac.
Главные фишки, которые экономят время
Интерактивный TUI
По умолчанию запускается симпатичный терминальный интерфейс. В верхней части вы видите свои спеки (модель GPU, объем VRAM, свободную память), а ниже — список моделей, отсортированный по «композитному скору».
Интересно, что программа сама подбирает оптимальное квантование. Например, если Llama-3 8B влезает в вашу 12-гигабайтную карту в варианте Q8_0, она предложит именно его. Если памяти в обрез — предложит Q4_K или ниже.
Режим планирования (Plan mode)
Это, пожалуй, самая полезная функция для тех, кто думает об апгрейде. Нажав p на выбранной модели, вы переходите в инвертированный режим. Вместо «что пойдет у меня?», вы спрашиваете: «какое железо мне нужно, чтобы эта модель выдавала 25 токенов в секунду с контекстом 8k?».
Программа выдаст рекомендации по объему VRAM и количеству ядер процессора. Это гораздо точнее, чем читать примерные системные требования в статьях.
Честный расчет для MoE
Модели вроде Mixtral или DeepSeek-V3 коварны. У них может быть 670 миллиардов параметров, но в один момент времени работают только несколько «экспертов». llmfit это учитывает. Он понимает, что для работы Mixtral 8x7B не нужно 24 ГБ видеопамяти только под веса, если использовать оффлоадинг экспертов. Это позволяет запускать тяжелые модели на железе, которое формально для них слабовато.
Оценка скорости (Tokens per second)
Разработчик заложил в инструмент формулу, основанную на пропускной способности памяти (memory bandwidth). Поскольку генерация текста в LLM почти всегда упирается в скорость чтения весов из памяти, llmfit берет данные о вашей видеокарте из встроенной таблицы (там около 80 популярных GPU) и выдает довольно точный прогноз производительности.
Техническая сторона вопроса
Проект написан на Rust, что делает его очень быстрым и легким. База моделей зашита прямо в бинарник, так что утилита работает мгновенно.
Для детекции железа используются:
nvidia-smiдля зеленых карт.rocm-smiдля AMD.system_profilerдля Apple Silicon (там учитывается унифицированная память).sysfsдля Intel Arc.
Если автоопределение сбоит (например, в виртуалке или через проброс GPU), можно принудительно задать объем памяти через флаг --memory.
Как это использовать на практике
Самый простой кейс — подбор модели для локальной разработки. Вместо того чтобы гадать, потянет ли ваша RTX 3060 новую Qwen 2.5, вы просто пишете llmfit search "qwen 2.5".
Для автоматизации есть JSON-вывод. Например, можно написать скрипт, который перед запуском тяжелого по пайплайна проверяет, хватит ли ресурсов на текущей ноде:
llmfit recommend --json --use-case coding --limit 3
Кстати, проект интегрируется с Ollama. Если она у вас запущена, llmfit пометит галочками уже установленные модели и позволит скачать новые прямо из своего интерфейса по нажатию клавиши d.
Стоит ли пробовать
Если вы держите LLM локально, то однозначно да. Это отличный фильтр, который отсеивает заведомо нерабочие варианты.
Конечно, это не заменяет полноценный бенчмарк, так как реальная скорость зависит еще и от драйверов, версии CUDA и текущей нагрузки на систему. Но как инструмент для быстрой оценки «влезет или нет» — это лучшее, что есть сейчас в терминале.
Особенно рекомендую заглянуть в раздел Plan mode, если планируете покупку новой видеокарты под локальные нейронки. Цифры там отрезвляют и помогают не переплатить за лишние гигабайты или, наоборот, не купить слишком слабую карту.
Инструмент активно обновляется, база моделей на Hugging Face парсится свежими скриптами, так что данные актуальные. Поставить можно через brew, scoop или просто скачав бинарник.