Игорь Градов
Игорь Градов
5 мин
ai

Букмарклет для llama.cpp считает реальную скорость GGUF-моделей прямо на Hugging Face

Компания Hugging Face и открытый проект llama.cpp давно стали стандартом для тех, кто запускает языковые модели локально, но существующие калькуляторы скорости инференса (генерации токенов) врут: занижают контекст в разы и не учитывают архитектурные особенности моделей вроде MoE (Mixture of Experts, смесь экспертов, когда при генерации работает лишь часть параметров) или двойного прохода по весам.

Букмарклет для llama.cpp считает реальную скорость GGUF-моделей прямо на Hugging Face
Почему это важно

Русскоязычный энтузиаст с видеокартой на 8 Гб может запускать модели до 35 млрд параметров, если правильно считать, но стандартные калькуляторы и даже нейросети-ассистенты этого не показывают, потому что не учитывают реальный оверхед (фиксированная задержка на каждый токен) и особенности конкретных архитектур.

Один из пользователей Habr опубликовал инструмент, который решает эту проблему иначе: букмарклет (скрипт, который вы сохраняете как обычную закладку в браузере), считывающий метаданные прямо с карточки модели на Hugging Face и подставляющий их в формулу с поправками на реальные параметры вашей видеокарты. Ниже разбираем, как это настроить и использовать.

Что понадобится?

  • Видеокарта NVIDIA с известной пропускной способностью видеопамяти (например, RTX 3070 с 448 Гб/с)
  • Установленный llama.cpp на вашем компьютере
  • Браузер с доступом к Hugging Face
  • Примерно 15 минут на первичную настройку и замеры

Пошаговая инструкция

  1. Замерьте реальные параметры своей видеокарты. Запустите в llama.cpp несколько моделей разного размера. Зафиксируйте скорость генерации токенов в секунду (tok/s, токены в секунду) и максимальный контекст, при котором программа не вылетает с ошибкой нехватки памяти.

  2. Определите свой оверхед. Оверхед (overhead) означает фиксированную задержку на каждый токен, которая не зависит от размера модели. По замерам автора инструмента, на RTX 3070 она составила 5 мс. Эту цифру вы получите, сопоставив реальную скорость генерации с теоретической (вес модели, делённый на пропускную способность видеопамяти). Разница и есть ваш оверхед.

  3. Подставьте свои константы в букмарклет. В начале скрипта заданы переменные, которые нужно поправить под вашу конфигурацию:

BW = 448      // пропускная способность видеопамяти, Гб/с
OV = 5        // оверхед, мс на токен
V  = 8        // объём видеопамяти, Гб
R  = 1.2      // резерв: сколько видеопамяти занимает система
KB = 2        // байт на элемент KV-кеша
  1. Создайте закладку с букмарклетом. Скопируйте код скрипта целиком. В браузере создайте новую закладку, в поле адреса вставьте скопированный код. Назовите закладку, например, «GGUF Speed Calc».

  2. Откройте карточку модели на Hugging Face и нажмите на закладку. Скрипт автоматически найдёт первый файл формата GGUF (формат хранения квантованных моделей для llama.cpp) в репозитории, скачает первые 400 Кб файла через Range-запрос (то есть не весь файл, а только заголовок с метаданными) и извлечёт нужные параметры:

  3. block_count (число слоёв)
  4. head_count_kv (число голов внимания для KV-кеша)
  5. key_length (размерность ключа)
  6. context_length (длина контекста)
  7. full_attention_interval (интервал полного внимания для гибридных архитектур, где часть слоёв использует локальное внимание, а часть полное)
  8. num_loops (число проходов по весам, как у модели Nanbeige4.2-3B, которая прогоняет данные дважды)

  9. Прочитайте результат. Рядом с каждым квантом GGUF на странице появятся расчётные цифры: скорость генерации в токенах в секунду и примерный максимальный контекст для вашей карты.

Как это выглядит на практике

Допустим, у вас RTX 3070 с 8 Гб видеопамяти. Вы открываете на Hugging Face карточку MoE-модели (модель со смесью экспертов) на 35 млрд параметров в формате GGUF, нажимаете закладку. Скрипт считывает метаданные, видит, что при квантовании Q4_K_M размер файла составляет, к примеру, 6.2 Гб, и вычисляет: теоретическая скорость около 67 tok/s, доступный контекст порядка 12 000 токенов. Без оверхеда калькулятор показал бы завышенную скорость, а без учёта KV-кеша (память, которую модель расходует на хранение контекста разговора) занизил бы контекст втрое.

Модель Nanbeige4.2-3B с параметром num_loops=2 скрипт обработает корректно: он увидит двойной проход по весам и покажет скорость вдвое ниже, чем «наивный» расчёт, что совпадает с реальными замерами.

Частые ошибки
  • Не учли резерв видеопамяти. Операционная система и драйвер занимают от 0.8 до 1.5 Гб. Если поставите R=0, калькулятор будет показывать контекст, при котором llama.cpp упадёт с ошибкой out of memory.
  • Закрытый репозиторий (gated repo). Если модель требует принятия лицензии, скрипт не сможет скачать заголовок GGUF-файла. Скорость генерации (tok/s) он покажет по размеру файла, но контекст посчитать не сможет. Проверьте консоль браузера (F12): пустой объект {} означает, что метаданные не получены.
  • Путают пропускную способность с объёмом. BW это не 8 (объём в гигабайтах), а 448 (пропускная способность в гигабайтах в секунду для RTX 3070). У каждой карты своё значение, его можно найти на сайте NVIDIA или в утилите GPU-Z.
  • Не обновили оверхед при смене карты. Оверхед 5 мс был получен на конкретной RTX 3070. На другой карте (даже той же модели, но с другим разгоном) он будет отличаться. Замерьте заново.

Что делать с этим прямо сейчас?

  • Автору Дзена, который использует локальные модели для генерации черновиков: калькулятор покажет, какой максимальный квант модели влезет в вашу карту и сколько контекста останется. Это позволяет заранее понять, хватит ли памяти на длинный промпт (запрос к модели) с системными инструкциями и текстом статьи.

  • Энтузиасту локального ИИ в России: не верьте, когда ChatGPT или другой ассистент говорит, что 8 Гб видеопамяти хватит только на модели до 7 млрд параметров. MoE-архитектуры меняют арифметику. Букмарклет покажет реальную картину.

  • Предпринимателю, который выбирает модель для внутреннего сервиса: прежде чем покупать дорогую карту, проверьте букмарклетом, что нужная модель в нужном кванте работает на имеющемся оборудовании. Экономия может составить стоимость целого GPU.

Мнение редакции dzen.guru

Инструмент нишевый, но попадает в реальную боль. Я сам сталкивался с тем, что онлайн-калькуляторы обещают одно, а llama.cpp показывает другое. Причина как раз в том, что большинство калькуляторов не учитывают оверхед и особенности архитектур вроде num_loops.

Честная оговорка: калькулятор даёт теоретический потолок. Реальная скорость зависит от длины контекста (чем длиннее разговор, тем медленнее генерация), от конкретной сборки llama.cpp, от фоновой нагрузки на карту. Расхождение в 10-15% с реальностью нормально. Но это всё равно точнее, чем «наивное» деление веса модели на пропускную способность, которое может ошибаться в разы, особенно по контексту.

Букмарклет бесплатный, не требует установки и работает за секунду. Если вы запускаете модели локально через llama.cpp, замерьте свой оверхед один раз, подставьте константы, и дальше выбор модели на Hugging Face станет предметным, а не гаданием на форумах.

Научитесь работать с нейросетями на практике

В dzen.guru мы разбираем инструменты для авторов, от промптов до локальных моделей

Попробовать бесплатно
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Развертывание кода в продакшен: 31 сбой в прототипе, который уже продавали
ai

Развертывание кода в продакшен: 31 сбой в прототипе, который уже продавали

Развертывание кода в продакшен: когда прототип уже продают, а он ещё не готов. Статья разбирает реальный кейс: как команда получила голосовой ИИ-сервис,…

7 мин
Контекст нейросети можно увеличить в разы: три метода без дообучения
ai

Контекст нейросети можно увеличить в разы: три метода без дообучения

Контекст нейросети (context window) определяет, сколько текста модель способна «видеть» за один раз, и когда он заканчивается, ответы становятся бессвязными, а…

7 мин
ARC-AGI бенчмарк: 100% в тесте показывает силу кода, а не интеллект машины
ai

ARC-AGI бенчмарк: 100% в тесте показывает силу кода, а не интеллект машины

Компания ARC Prize Foundation, основанная Франсуа Шолле, разработала серию бенчмарков ARC-AGI для проверки способности ИИ к обучению, и проекты, набирающие…

5 мин