Перейти к содержанию
Публикация AiManual

Куда исчезли сервисы для проверки, влезет ли локальная LLM в память

Сервисы llmfit могли стать недоступными или потерять актуальность, но это не повод выбирать GPU по старой карточке. Разбираем, как самостоятельно оценить память

Коротко

Что будет в материале

  1. 01

    Куда исчезли llmfit.org, llmfit.io и llmfitcheck.com

  2. 02

    Почему сервисы для проверки памяти локальной LLM быстро устаревают

  3. 03

    Как оценить память для запуска локальной LLM

  4. 04

    Локальная LLM: требования к видеокарте проверяют по конкретному сценарию

Утверждать, что llmfit.org, llmfit.io и llmfitcheck.com окончательно закрылись, нельзя без проверки каждого домена на конкретную дату. В доступной фактуре нет подтвержденных данных о причинах исчезновения этих сервисов. Недоступный, перенаправляющий или переставший обновляться каталог нельзя использовать единственным основанием для покупки видеокарты или выбора локальной модели.

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

Надежная проверка строится вокруг конкретного файла модели, его кванта и формата, выбранного runtime и backend, размера контекста, доступных VRAM и RAM, а также пробного запуска с логами. Калькулятор помогает сузить список кандидатов. Решение принимает воспроизводимая проверка на своем железе.

Куда исчезли llmfit.org, llmfit.io и llmfitcheck.com

Недоступный сайт, редирект и устаревшая база - это разные ситуации

Статус домена нужно фиксировать вместе с датой проверки. Ответ сервера сам по себе не объясняет судьбу проекта:

  • код 4xx или 5xx говорит о проблеме доступа, но не доказывает окончательное закрытие;
  • редирект с кодом 3xx может вести на новый адрес, временную страницу или сторонний ресурс;
  • страница с кодом 200 может открываться при пустом интерфейсе, сломанном API или отсутствии базы моделей;
  • каталог может показывать карточки, но содержать старые версии, битые ссылки на файлы или неподдерживаемые runtime.

При проверке нужно посмотреть HTTP-ответ и содержимое страницы, найти дату обновления базы, проверить наличие актуальных релизов, открыть несколько ссылок на файлы и сопоставить указанный runtime с его текущими возможностями. Одна доступная страница не подтверждает, что расчеты внутри сервиса еще корректны.

Практический вывод: каталог удобен для первого прикидочного ответа, но не для финального решения

Внешний каталог экономит время, когда нужно быстро сравнить несколько семейств моделей. Его результат полезно записать как предварительную оценку вместе с датой и входными параметрами. Перед покупкой GPU или запуском модели на сервере требуется проверить конкретный файл, квантование, формат, контекст и способ размещения весов.

При выборе модели для vLLM полезно сверять тип обучения, формат файла, требования к VRAM и RAM, KV-cache, поддержку runtime и логи загрузки. Эти критерии разобраны в практическом материале о выборе моделей для vLLM.

Почему сервисы для проверки памяти локальной LLM быстро устаревают

Каталогу приходится синхронно отслеживать несколько быстро меняющихся слоев: публикации моделей, конвертацию файлов, кванты, inference-движки, backend, видеокарты и настройки контекста. Ошибка в одном звене меняет итоговый ответ, даже если остальные поля карточки выглядят правдоподобно.

Какие данные ломаются первыми

Старую карточку нужно перепроверять по нескольким полям:

  • Версия модели. Одно семейство может иметь базовый, инструкционный, дистиллированный и специализированный релизы.
  • Формат файла. Safetensors, GGUF и другие форматы требуют разных загрузчиков и могут по-разному расходовать память.
  • Квантование. Обозначение 4-bit или 8-bit задает общий класс точности, но не описывает точный размер всех тензоров.
  • Размер файла. Новая сборка, дополнительные тензоры, метаданные или другой способ упаковки меняют фактический объем на диске.
  • Runtime и backend. Они определяют распределение слоев, формат KV-cache, буферы и поддержку конкретного ускорителя.
  • Контекстное окно. Максимальное значение в карточке не гарантирует, что такой контекст поместится в доступную VRAM.
  • GPU. В базе могут отсутствовать новые устройства, измениться доступный объем памяти или правила работы нескольких GPU.

Битая ссылка на файл и неверно указанный формат дают особенно опасную ошибку: пользователь считает, что проверяет одну сборку, а загружает другую. Карточка может выглядеть актуальной по названию, хотя ключевое поле внутри нее давно не обновлялось.

Каталог считает модель, а пользователь запускает конкретную сборку

Название семейства описывает слишком крупную сущность. Базовая модель обучена на общем массиве данных, instruct-версия содержит настройку под диалог, distill-сборка может менять поведение и требования, конвертированный файл подстраивается под конкретный runtime, а квантованная версия использует выбранную точность хранения.

Одинаковое число параметров не означает одинаковый размер файла. На результат влияют битность, смешанные типы тензоров, служебные данные формата, поддержка backend и способ распределения слоев между GPU и CPU. Две сборки с одинаковой надписью 4-bit могут занимать разный объем и предъявлять разные требования к загрузчику.

Чем опасна устаревшая карточка

Ложное положительное решение возникает, когда каталог обещает запуск, но учитывает только веса. Модель действительно загружается при коротком запросе, затем получает длинный документ или несколько последовательных сообщений и заканчивает работу ошибкой нехватки памяти. На сервере тот же эффект появляется при втором одновременном запросе.

Ложное отрицательное решение отсекает рабочий вариант. Каталог может считать старый квант или требовать полной загрузки в VRAM, хотя выбранный runtime поддерживает более компактный файл, CPU-offload или распределение слоев между устройствами. Запуск при этом может стать медленнее, но сам сценарий остается технически возможным.

В обоих случаях ошибка влияет на выбор GPU, объем RAM и архитектуру сервера. Формулировка «модель совместима» без описания условий слишком расплывчата.

Как оценить память для запуска локальной LLM

Для предварительной оценки нужно разделить потребление памяти на три части: веса модели, KV-cache и служебные расходы runtime. Упрощенная схема выглядит так: память = веса + KV-cache + буферы и накладные расходы. Ни одна из трех частей не должна исчезать из расчета.

Веса модели: число параметров и квантование

Идеальная арифметическая оценка весов строится по формуле P * b / 8, где P - число параметров, а b - количество бит на параметр. Для условной модели с 7 млрд параметров и 4 битами получается 3,5 млрд байт, то есть примерно 3,5 GB в десятичном пересчете.

Это ориентир, а не размер готового файла. В реальной сборке присутствуют метаданные, масштабы квантования, тензоры с другой точностью, выравнивание и особенности формата. Поэтому сравнивать нужно точный файл, который планируется загрузить, а не только размер модели в миллиардах параметров.

Надпись 4-bit тоже недостаточна для окончательного вывода. Нужно узнать схему кванта, формат, размер файла и поддержку выбранного backend. Практический разбор запуска быстрых локальных моделей на видеокарте с 12 ГБ VRAM показывает, почему скорость и запас под рабочий контекст нужно учитывать рядом с размером весов.

KV-cache: почему длинный контекст меняет результат

KV-cache хранит промежуточные представления уже обработанного контекста. При добавлении токенов он растет, поэтому один и тот же файл может запускаться при коротком диалоге и завершаться ошибкой при работе с длинным документом.

Потребность KV-cache зависит от архитектуры модели, числа слоев и параметров внимания, точности хранения кэша, размера batch size и количества параллельных запросов. У серверной конфигурации каждый активный запрос может потребовать собственный участок кэша.

Заявленное контекстное окно задает технический максимум модели. Оно не превращает всю доступную VRAM в свободный резерв. Runtime должен одновременно хранить веса, рабочие буферы и KV-cache, а операционная система и другие процессы уже могли занять часть памяти.

Служебная память, буферы и CPU-offload

Runtime выделяет память под рабочие области backend, промежуточные операции, загрузку библиотек, планирование вычислений и внутренние буферы. Размер этих областей меняется вместе с устройством, форматом файла, batch size и настройками движка. Поэтому сумма размера файла и приблизительного KV-cache все еще может оказаться меньше фактического пикового потребления.

При полной загрузке веса и часть рабочих данных находятся в VRAM. При CPU-offload отдельные слои или буферы размещаются в системной RAM, а вычисления требуют обмена между CPU и GPU. Такой режим способен помочь запустить тяжелую модель, но обычно меняет скорость генерации и задержку ответа.

Показательный сценарий с mmap, 16 ГБ VRAM и 64 ГБ RAM разобран в материале о запуске модели через llama.cpp. mmap упрощает работу с файлом в памяти хоста, но не создает дополнительную видеопамять и не отменяет расчет KV-cache.

Локальная LLM: требования к видеокарте проверяют по конкретному сценарию

Совместимость нужно оценивать для связки «железо, файл, runtime, нагрузка». Изменение одного параметра способно перевести запуск из полной загрузки в VRAM в режим offload или привести к ошибке.

Сначала описать свое железо, а не искать абстрактную совместимость

Перед расчетом запишите конфигурацию, которая реально доступна процессу:

  • модель GPU и номинальный объем VRAM;
  • свободная VRAM после запуска драйвера, рабочего стола и фоновых задач;
  • объем системной RAM и свободная часть;
  • CPU, операционная система и выбранный способ ускорения;
  • наличие встроенной графики и дискретной видеокарты;
  • количество GPU и план распределения нагрузки между ними;
  • фоновые процессы, которые могут занимать VRAM или RAM.

Паспортный объем памяти и доступный объем для конкретного процесса различаются. Для проверки используйте мониторинг операционной системы и статистику самого runtime, поскольку только так видны фактические резервы и распределение памяти.

Задать рабочий контекст и нагрузку

Опишите задачу до выбора модели. Локальный чат с короткими сообщениями требует другого запаса, чем анализ длинных документов, RAG по базе знаний, кодинг с большим проектом или сервер для нескольких пользователей.

  • задайте размер контекста и максимальный объем ответа;
  • укажите batch size, если runtime его использует;
  • определите число параллельных генераций;
  • учтите размер документов и число фрагментов, которые RAG передает в запрос;
  • решите, допустим ли CPU-offload и какая задержка остается приемлемой.

Контекст нужно считать как рабочий ресурс. Если модель запускается с коротким запросом, это еще не говорит о поведении при заполнении окна и длительной истории.

Проверить не только запуск, но и границу устойчивой работы

Проверка должна идти несколькими шагами:

  1. Загрузить точный файл и убедиться, что runtime завершил инициализацию без предупреждений о пропущенных слоях.
  2. Запустить генерацию на коротком запросе.
  3. Увеличить размер контекста и повторить генерацию.
  4. Провести длительный диалог или обработать документ, близкий к рабочему сценарию.
  5. Проверить параллельные запросы, если модель нужна для сервера.

В журнале сохраните ошибки нехватки памяти, фактическое распределение между VRAM и RAM, скорость генерации и задержку первого токена. Модель подходит для регулярной работы только тогда, когда проходит нужную нагрузку с приемлемой скоростью и запасом памяти.

Подход к проверке модели на 16 ГБ VRAM, включая анализ весов, kvarn-квантов, KV-cache и ограничений сценария, разобран в практическом материале о Qwen3.8-27B.

Почему нельзя выбирать локальные модели по одной карточке

Название модели не равно конкретному артефакту

Qwen, Gemini, GLM и другие названия обозначают семейство или канал доступа, а не всегда конкретный файл. Для локального запуска нужно указать точный релиз, источник файла, формат, квант и runtime. Для облачного доступа дополнительно фиксируют интерфейс и тариф, поскольку они могут менять доступную версию и лимиты.

Переносить характеристики одной сборки на все варианты семейства нельзя. Один файл может поддерживаться в выбранном backend, а другой потребует конвертацию, нового загрузчика или другого распределения памяти. Одинаковое число параметров не гарантирует одинаковую скорость, объем VRAM и длину устойчивого контекста.

Одинаковая задача не гарантирует одинаковые условия проверки

Один и тот же запрос в веб-чате и API способен дать разные результаты. Бесплатный доступ может менять доступную модель, длину контекста, лимит ответа и поведение после исчерпания квоты. Для локального запуска аналогичные расхождения создают другая история диалога, другой backend, параметры генерации и фактически переданный контекст.

Что фиксироватьЗачем это нужно
Точное имя и версияОтделить конкретный релиз от общего названия семейства
Файл, формат и квантПонять реальный размер весов и требования загрузчика
Runtime и backendЗафиксировать правила размещения слоев, буферов и KV-cache
Контекст, batch size и параллельностьСделать пиковое потребление памяти сравнимым
Сырой результат и логиОтделить ошибку окружения от свойства модели

При сравнении двух локальных сборок передавайте им одинаковый текст и сопоставимый контекст. Запускайте тест в чистой сессии, фиксируйте параметры и повторяйте проверку на одной конфигурации. Для оценки памяти записывайте пиковое потребление, а не только факт успешной загрузки.

Короткий журнал проверки надежнее памяти о старой карточке

Запись в журнал занимает несколько минут и помогает воспроизвести результат после обновления драйвера, runtime или файла модели. Минимальный набор полей выглядит так:

date=YYYY-MM-DD
model=точное имя и версия
file=формат и квант
runtime=название и версия
backend=выбранный backend
gpu_vram=доступно перед запуском
ram=доступно перед запуском
context=batch size и параллельность
result=скорость, задержка, пик памяти, ошибки
status=полный VRAM / offload / меньший контекст / не подходит

Для облачного сравнения добавьте канал доступа, тариф, параметры генерации, историю диалога и сырой ответ. Для локального теста важнее файл, runtime, backend, контекст и распределение памяти. Дата нужна в обоих случаях.

Чем заменить исчезнувший llmfit-каталог

Карточка модели и документация проекта

Первым источником служит карточка конкретного релиза и документация проекта. В них нужно найти:

  • точное имя и дату релиза;
  • доступные форматы файлов;
  • варианты квантования и размер каждого файла;
  • заявленное контекстное окно;
  • поддерживаемые runtime и backend;
  • ограничения, известные проблемы и правила загрузки.

Если проект не указывает требование к памяти, это нужно пометить как неизвестное. Отсутствие числа не дает права подставлять универсальный коэффициент.

Документация runtime и backend

Документация движка отвечает на вопросы, которых часто нет в карточке модели: сколько слоев можно отправить на GPU, как включается offload, где задается размер контекста, как хранится KV-cache и как работает batch size.

Ищите параметры вроде gpu layers, offload, context size и настройки точности KV-cache. Их названия и смысл могут различаться между runtime, поэтому переносить командные параметры из одного движка в другой без сверки нельзя.

Для нескольких GPU проверьте правила распределения слоев и ограничения backend. Сумма объемов VRAM не всегда превращается в единый бесшовный пул: обмен между устройствами, буферы и поддержка конкретного runtime влияют на результат.

Актуальный калькулятор как фильтр, а не как гарантия

Калькулятор имеет смысл после выбора точной модели, файла, кванта, контекста и runtime. Перед использованием проверьте дату обновления базы и список входных параметров. Сервис, который показывает только итоговую цифру без описания расчета, дает ориентир с неизвестной погрешностью.

Результат калькулятора сохраните вместе с входными данными. Через месяц та же страница может считать другую версию модели, а изменение контекста или batch size способно полностью поменять оценку.

Пробный запуск и логи как финальная проверка

Финальная проверка выполняется на выбранном файле и в том runtime, который планируется использовать постоянно. Сначала проверьте загрузку весов, затем короткую генерацию, увеличение контекста, длительный диалог и нужную параллельность. Сохраните логи и пиковое потребление VRAM и RAM.

Если запуск требует CPU-offload, зафиксируйте его отдельно. Такой результат означает «работает при конкретном распределении», а не «полностью помещается в видеопамять». Для серверного сценария оставьте запас под системные процессы и несколько одновременных запросов.

Как выбирать локальные модели на домашнем ПК без сюрпризов

Минимальный чек-лист перед загрузкой модели

  1. Запишите GPU, доступную VRAM, системную RAM, CPU и операционную систему.
  2. Выберите точное имя и версию модели.
  3. Укажите конкретный файл, формат и квант.
  4. Зафиксируйте runtime и backend.
  5. Опишите задачу: чат, кодинг, RAG, работа с документами или серверная генерация.
  6. Задайте контекст, batch size, максимальный ответ и число параллельных запросов.
  7. Оцените память под веса, KV-cache и служебные расходы.
  8. Сверьтесь с карточкой модели, документацией runtime и актуальным калькулятором.
  9. Выполните пробный запуск, проверьте рабочую нагрузку и сохраните логи.

Главный критерий: подходит ли модель под задачу, а не только запускается ли она

Факт запуска служит первым фильтром. Для рабочего решения нужны предсказуемая скорость, приемлемая латентность, устойчивый контекст и запас памяти под реальную нагрузку.

После проверки возможны четыре нормальных исхода:

  • модель помещается в VRAM вместе с KV-cache и буферами;
  • модель работает с CPU-offload, но скорость подходит для конкретной задачи;
  • модель запускается только при меньшем контексте или меньшем числе параллельных запросов;
  • модель не подходит выбранному сценарию, даже если отдельная попытка загрузки завершается успешно.

Для домашнего ПК решение формулируется коротко: точная модель и квант, память под веса, резерв под KV-cache и runtime, доступные VRAM и RAM, затем запуск в реальной нагрузке. Внешний каталог помогает начать поиск. Источником истины для конкретного компьютера остается воспроизводимый запуск с зафиксированными условиями.

Подписаться на канал