решение из ленты заказов

Локальная модель на своём железе

За тринадцать дней в лентах бирж мы разобрали 130 заказов про ИИ. Двенадцать из них — «развернуть локальную языковую модель», «настроить Qwen на компьютер», «дообучить модель под наш текст», «поднять контур без интернета». Это самый дорогой подтип: средний назначенный бюджет — 122 800 ₽, и почти в каждом заказе одна и та же причина: данные нельзя отдавать наружу. А в самих заказах при этом нет ни слова о железе — ни модели карты, ни контекста, ни числа сотрудников, которые будут спрашивать одновременно. Поэтому первый разговор с исполнителем обычно уходит на то, чего никто не считал: влезет ли вообще.

Эта страница считает это за минуту. Ниже — рабочий подбор: выбираете железо, задачу, длину контекста и число одновременных диалогов, а страница перебирает все модели во всех квантованиях, считает вес весов и KV-кэш до гибибайта, отбрасывает негодное с причиной у каждой строки и говорит, что взять. Всё считается здесь же, в браузере: ни одно ваше число никуда не уходит.

Подбор: что влезет в ваше железо

Выберите железо и задачу — получите вердикт

В полях уже стоит частый случай: одна RTX 3090, ассистент по внутренним документам, контекст 16 384 токена, четыре сотрудника спрашивают одновременно. Поменяйте что угодно — таблица пересчитается сразу. Память считается арифметикой, скорость — оценкой сверху; где именно оценка, написано под таблицей.

Все связки: модель × квантование

Таблица целиком, без прикрас. Серые строки — отброшенные, и у каждой написано, почему именно. Именно этот столбец «почему» обычно и есть ответ на вопрос заказчика: не «мало памяти», а «контекст на 16 тысяч токенов при восьми диалогах — это 21 ГиБ одного только KV-кэша, и веса ставить уже некуда».

МодельКвантВеса, ГиБKV, ГиБ ИтогоТок/сКак ляжетВердикт и почему

Как это считается

Вес весов — арифметика, а не оценка

Модель весит число параметров × бит на вес ÷ 8. Миллиард параметров при восьми битах — ровно один гигабайт, то есть 0,93 ГиБ. Отсюда и вся разница между квантованиями: Q4_K_M — это 4,82 бита на вес, поэтому модель на 32 млрд параметров занимает 18,4 ГиБ вместо 61 ГиБ в fp16. Никакой магии: вы покупаете память за качество, и на счёте и на коде эта покупка видна.

KV-кэш — то, о чём забывают в смете

На каждый токен контекста модель хранит ключи и значения по всем слоям: 2 × слоёв × KV-голов × размер головы × контекст × байт на элемент, и всё это ещё умножается на число одновременных диалогов. Для Llama-3.1-8B при контексте 8 192 получается ровно 1 ГиБ — это легко проверить руками, и тест в нашем наборе именно это и проверяет. А у Gemma-2-9B размер головы 256 вместо 128, поэтому её кэш вдвое толще, чем ждёшь по числу параметров. Такие вещи ломают проекты на этапе «а почему у нас всё упало на пятом пользователе».

Скорость — оценка сверху, и мы это подписываем

Генерация упирается в память: чтобы выдать один токен, модель прочитывает все активные веса. Поэтому токенов в секунду ≈ пропускная способность памяти ÷ вес активных весов, умноженная на КПД — 0,75 для видеокарты и 0,55 для процессора. Это оценка сверху: замер на месте обычно ниже на 20–40 %, потому что кроме чтения весов есть внимание по длинному контексту, сэмплирование и обвязка сервера. Для MoE-моделей (вроде Qwen3-30B-A3B) мы вдобавок режем результат вдвое: весит она как 30B, считает как 3B, но роутинг экспертов съедает половину арифметического обещания. Число на этой странице годится, чтобы выбрать железо и понять порядок; для договора нужен замер на вашем сервере, и он делается за час.

Выгрузка слоёв в ОЗУ

Если модель не влезла в карту, часть слоёв держат в оперативной памяти. KV-кэш при этом выгружать нельзя — он нужен на каждом шаге, поэтому сначала место отдаётся ему. Время шага складывается из двух частей: доля на карте делится на пропускную способность карты, остальное — на пропускную способность ОЗУ (51 ГБ/с для DDR4-3200 в два канала). Отсюда честный вывод, который заказчику мало кто говорит: выгрузка в ОЗУ роняет скорость в разы, и «ну докупим оперативки» проблему не решает.

Своё железо против API: когда отобьётся

Второй вопрос после «влезет ли» — «зачем покупать, если есть API». Считаем прямо: экономия на API минус электричество, делённые на цену железа. Цену за миллион токенов ставьте свою — у поставщиков она разная и меняется каждый квартал, поэтому мы её не выдумываем.

Почему это вообще заказывают

В разобранных заказах причина «локально» почти никогда не про деньги. Три настоящие причины, в порядке частоты:

Порядок работы: как это делается за 3–5 дней

  1. Замер, а не обещание. Ставим на ваше железо одну модель в двух квантованиях и снимаем настоящие токены в секунду, задержку первого токена и потребление памяти под вашей нагрузкой. Полдня. Итог — таблица вместо этой оценки.
  2. Выбор связки. Модель, квантование, KV-кэш и контекст — под задачу и число людей. Если не влезает, на столе три честных выхода: меньше модель, короче контекст, дороже карта. Мы говорим цену каждого.
  3. Сервер вывода. llama.cpp или vLLM в контейнере, OpenAI-совместимый эндпоинт, автозапуск, ограничение одновременных запросов, журнал и метрики. Ваши сервисы подключаются так же, как подключались к внешнему API — менять код почти не приходится.
  4. Подключение к делу. Виджет на сайте, бот, поиск по документам, пакетная обработка — то, зачем всё затевалось.
  5. Документы. Политика обработки, сроки хранения, оговорка «отвечает программа, решение принимает человек». Для медицины, юридики и психологии — обязательно и отдельной строкой.
  6. Передача. Инструкция на одну страницу: как перезапустить, как посмотреть журнал, как поменять модель. Без этого через месяц контур стоит мёртвым.

Честные оговорки

Что здесь оценка, а что расчёт

Вес весов, KV-кэш, «влезает / не влезает», доля слоёв на карте и окупаемость — расчёт по формулам, которые написаны выше и проверены тестами. Токены в секунду — оценка сверху по пропускной способности памяти. Мы намеренно не пишем красивых цифр: заказчик, которому обещали 120 токенов в секунду, а получилось 70, второй раз не приходит.

Откуда взяты конфигурации моделей

Число слоёв, KV-голов и размер головы взяты из config.json моделей на HuggingFace и сверены 30 сентября 2026 года. Если модель переиздали — конфиг надо пересчитать, потому что от него зависит весь KV-кэш. Цены железа в наборе — ориентир рынка РФ на ту же дату, а не предложение: в смету идёт то, что вы реально купите.

Чего в наборе нет

GigaChat и YandexGPT живут в основном как API, поэтому в подборе только модели со свободно скачиваемыми весами. Если нужен именно GigaChat в своём контуре — это разговор про лицензию, а не про видеопамять. Обучения с нуля мы не делаем и не продаём: речь про запуск готовых моделей и дообучение на ваших текстах.

Сама модель не становится правой от того, что она локальная

Локальная LLM ошибается так же, как любая другая. Там, где ответ влияет на здоровье, деньги или право, последнее слово остаётся за человеком, и это пишется прямо в интерфейсе — не мелким шрифтом в подвале.

Что мы делаем по этой теме

Локальный контур ИИ под ключ

Замер на вашем железе и выбор связки — от 12 000 ₽ (день). Сервер вывода с OpenAI-совместимым эндпоинтом, автозапуском и метриками — от 30 000 ₽. Поиск по своим документам на локальной модели — от 50 000 ₽. Дообучение на ваших текстах — считается по объёму набора после замера.

У нас своя GPU-ферма: распознавание речи, разбор документов и генерация на ней уже работают в проде, а не в презентации. Соседние демо: аудио в текст, офлайн-модели речи, разбор PDF, проверка бренда в нейросетях.

Обсудить задачу →