Что такое 1Cat-vLLM и почему о нём заговорили
1Cat-vLLM - форк vLLM, который включает ускоренное обслуживание (serving) моделей на видеокартах NVIDIA V100. Проект попал в поле зрения русскоязычной аудитории после поста пользователя Miserable-Dare5090 в r/LocalLLaMA: Make Volta Fast Again, 25 сентября 2026 года. Автор обратился напрямую к владельцам V100 и предложил им этот форк как способ выжать больше из карт, выпущенных в 2017 году.
Контекст простой. Основная ветка vLLM развивается под актуальные ускорители: Ampere, Ada, Hopper, Blackwell. Volta (sm_70), на которой построена V100, формально поддерживается, но получает меньше внимания: новые ядра внимания, форматы точности и схемы работы с памятью пишутся под более свежие архитектуры. Форк 1Cat-vLLM ставит V100 в центр и подгоняет движок под неё.
Сразу оговорюсь: ниже разбор публичного обсуждения, а не отчёт о собственных тестах. Мы не запускали 1Cat-vLLM на V100 и не измеряли скорость. Дальше идёт то, что известно из поста, плюс публичные характеристики Volta и наши прошлые материалы по этим картам.
Чем 1Cat-vLLM отличается от обычного vLLM
Практическая разница в одном: форк нацелен на V100, оригинал - на весь спектр поддерживаемых GPU. Конкретный список изменений в источнике не раскрыт: автор называет проект и показывает результаты, но не перечисляет патчи, CUDA-ядра и настройки планировщика. Приписывать форку конкретные механизмы ускорения не стоит, таких деталей в материале нет.
Отсюда простой критерий выбора. Если у вас V100, форк имеет смысл попробовать: он и создавался под эту карту. Если у вас RTX 3090, 4090, 5090 или серверный ускоритель поколения Ampere и новее, выигрыш от перехода сомнителен, а рисков больше - об этом ниже.
Кому это интересно: портрет владельца V100
Типичный читатель этого материала - человек, у которого V100 уже есть. Версии на 16 и 32 ГБ HBM2 давно ушли на вторичный рынок, а модули SXM2 продаются партиями и требуют переходников на PCIe, отдельного охлаждения и питания: 300 Вт на карту. Мы разбирали такую сборку в статье про домашний сервер на списанных Tesla V100 SXM2: ключевое там - 32 ГБ на карту и NVLink за цену одной современной видеокарты, а главный подводный камень - программная совместимость, включая требование CUDA 12.6 вместо свежих сборок PyTorch с CUDA 12.8 и 12.9.
Второй сценарий - рабочая станция или сервер, где V100 осталась по наследству. Менять карту дорого, поднять скорость за счёт формата точности не выйдет: Volta не умеет FP8. А выиграть немного за счёт движка вполне реально. 1Cat-vLLM адресован именно такому случаю.
Актуальность V100 в 2026 году: стоит ли вкладываться в старую GPU
V100 - это Volta, sm_70, 2017 год. Карта несёт 16 или 32 ГБ HBM2, пропускную способность памяти около 900 ГБ/с, Tensor Cores первого поколения и поддержку FP16 и INT8. Чего в ней нет: BF16, FP8 и более новых форматов, а свежие версии FlashAttention рассчитаны на Ampere и новее. Каждая карта потребляет около 300 Вт и требует нормального продува.
Что V100 умеет хорошо, а что - нет
- Хорошо: инференс моделей примерно до 30B в FP16 на 32 ГБ, работа с квантованными версиями более крупных моделей, пакетная обработка запросов, многокарточные конфигурации через NVLink.
- Хорошо: высокая пропускная способность HBM2. Генерация токенов упирается в чтение весов, и здесь карта по-прежнему сильна.
- Плохо: обучение и файнтюнинг крупных моделей, задачи, где нужны BF16 или FP8, длинный контекст с современными ядрами внимания, максимальная отдача на ватт и на юнит стойки.
- Плохо: 16-гиговая версия. Она ограничивает и размер модели, и длину контекста одновременно.
Сколько VRAM нужно для LLM на V100
Грубая арифметика по числу параметров: FP16 - два байта на параметр, INT8 - один, 4-битный квант - около половины байта. Сверху добавляется KV-кэш, который растёт вместе с длиной контекста и размером батча.
| Размер модели | Веса FP16 | Веса INT8 | Веса 4 бита | Что это значит для V100 |
|---|---|---|---|---|
| 7B | ~14 ГБ | ~7 ГБ | ~4 ГБ | влезает в 16 ГБ с запасом под KV-кэш |
| 13B | ~26 ГБ | ~13 ГБ | ~7 ГБ | FP16 только на 32 ГБ |
| 35B | ~70 ГБ | ~35 ГБ | ~18-20 ГБ | квантование или несколько карт |
| 70B | ~140 ГБ | ~70 ГБ | ~35-40 ГБ | мульти-GPU и 4-битный квант |
Цифры выше - оценка по числу параметров, а не измерение. Реальный расход зависит от архитектуры (у MoE активных параметров меньше, но веса всё равно лежат в памяти целиком), от выбранного формата кванта, от длины контекста и размера батча. Для Qwen3.6-35b из примера автора поста это означает: на 16 ГБ карте - только квантование, на 32 ГБ - квантование с запасом или FP16 на нескольких картах.
Как запустить 1Cat-vLLM на NVIDIA V100
Форк наследует модель установки vLLM, поэтому порядок действий знаком всем, кто ставил этот движок: подготовить окружение, поставить зависимости, поднять сервер, отправить тестовый запрос. Точные команды и версии берите в README проекта: их публикует мейнтейнер форка, и именно они актуальны на момент чтения. Ниже общая рамка без выдуманных команд.
Требования к окружению и драйверам
- Linux, чаще всего Ubuntu: серверные сборки vLLM-подобных движков на Windows почти не запускают.
- NVIDIA-драйвер с поддержкой Volta. Свежесть драйвера здесь не самоцель, важнее совместимость с той версией CUDA, которую требуют зависимости.
- Сборка PyTorch с поддержкой sm_70. По данным нашего разбора V100 SXM2, свежие сборки с CUDA 12.8 и 12.9 архитектуру Volta не поддерживают, поэтому рабочий вариант - CUDA 12.6 или самостоятельная сборка.
- Python 3.9 или новее и обычный набор: pip, виртуальное окружение, при необходимости Docker.
Запуск сервера и проверка работоспособности
После установки сервер поднимается как обычный vLLM: OpenAI-совместимый HTTP-интерфейс, на который можно навести любой клиент, работающий с API OpenAI. Проверка простая: отправьте один запрос в эндпоинт чата и убедитесь, что модель отвечает, а в логах нет предупреждений о неподдерживаемых ядрах и фолбэках. Посмотрите в логах, какая версия ядер внимания подхватилась: на Volta часть ускоренных путей недоступна, и движок откатывается на более общие реализации.
Для замеров используйте тот же инструмент, что и автор поста, - llama-benchy. Прогоните интересную вам модель на своей карте: это даст личную точку отсчёта, которую не заменит ни одно сравнение из интернета.
Производительность V100 с 1Cat-vLLM: что показывают цифры
Пример из поста: модель Qwen3.6-35b, инструмент llama-benchy, две стороны сравнения - V100 с 1Cat-vLLM и Strix Halo с сильно оптимизированным форком llama.cpp от pwilkin. Автор выложил сырые числа, чтобы читатели получили общее представление о скорости (источник).
Важная оговорка: в доступном нам виде материала конкретные значения llama-benchy не приведены, поэтому мы не подставляем сюда никаких цифр. Что известно точно: сам автор предупреждает, что сравнение не apples to apples, то есть не сопоставление один в один. Его вывод «это всё ещё очень хорошо для GPU десятилетней давности» - субъективная оценка, а не результат строгого теста, и подавать её как измеренный факт нельзя.
Почему сравнение V100 и Strix Halo не совсем корректно
Различий минимум три. Платформа: дискретная GPU с HBM2 против APU с унифицированной памятью. Движок: форк vLLM против форка llama.cpp, у них разные планировщики, ядра и подход к батчингу. Настройки: неизвестно, какие кванты, длины контекста и размеры батчей использовались с обеих сторон. Любое из этих различий способно изменить итог сильнее, чем сам тюнинг. Как читать подобные заявления, мы разбирали в материале про «100% эффективность GPU»: без методики цифра говорит мало.
Что такое llama-benchy и как читать его результаты
Это утилита для замера скорости LLM-инференса. В подобных бенчмарках обычно разделяют две метрики: скорость обработки промпта (prefill) и скорость генерации (decode), обе в токенах в секунду. Сравнивать между собой можно только прогоны с одинаковой моделью, квантом, длиной контекста и размером батча. Если параметры различаются, числа показывают порядок величины, не более. Методику честного сравнения движков мы описывали в разборе Qwen 3.8 27B на RTX 5090, где prefill и decode разведены отдельно.
Какие модели имеет смысл запускать на V100 с 1Cat-vLLM
Отправная точка - пример из поста, Qwen3.6-35b. На карте с 16 ГБ эта модель поместится только в квантованном виде, на 32 ГБ - в кванте с запасом или в FP16 на нескольких картах: 35 млрд параметров в FP16 занимают около 70 ГБ весов, то есть две 32-гиговые карты дают 64 ГБ и почти не оставляют места KV-кэшу, реалистично смотреть на три. Рабочий диапазон для одной карты - модели 7B-30B в FP16 или INT8, а также 4-битные кванты моделей крупнее.
FP16, INT8 и квантизация: что реально работает на Volta
V100 считает FP16 и INT8 через Tensor Cores первого поколения. BF16 и FP8 не поддерживаются, поэтому схемы квантования, завязанные на FP8, на Volta не поедут. Остаются INT8 и 4-битные форматы: GPTQ, AWQ и подобные. Список поддерживаемых методов зависит от конкретной сборки, поэтому перед запуском сверьтесь с документацией форка: она может расходиться с основной веткой vLLM. Практику запуска квантов на старых GPU мы разбирали в материале про ExllamaV3 и exl3 3bpw на 3x3090 и одной 5090: там видно, как выбор битности меняет и скорость, и требования к памяти.
Ограничения и подводные камни 1Cat-vLLM
Что известно: это форк, а не официальный проект, детали ускорений не раскрыты, сравнение производительности нестрогое. Что неизвестно: как часто выходят обновления, насколько активно сообщество, как быстро форк подтягивает поддержку новых моделей. Перед переносом на форк рабочего сервера эти вопросы стоит выяснить в репозитории: дата последнего коммита, число открытых issue, наличие релизов.
Форк vs основная ветка: что вы теряете
Основная ветка vLLM получает исправления безопасности, поддержку свежих моделей, новые ядра внимания и форматы квантования. Форк идёт следом и в удобном для него темпе. Плюс появляется зависимость от мейнтейнера: если проект заглохнет, обновлять придётся самому или возвращаться на основную ветку. Для домашнего эксперимента это терпимо, для продакшн-нагрузки требует оценки рисков.
Альтернативы для оптимизации инференса на старых GPU
Помимо 1Cat-vLLM есть несколько путей, и конкурируют они не по пиковой скорости, а по сценарию. llama.cpp и его форки, серверные движки вроде TGI, узкоспециализированные CUDA-ядра под конкретную архитектуру: например, проект v100-skinny добавляет собственные ядра под V100 и показывает высокие цифры на синтетике с NVFP4-квантованием. Общее правило: чем специфичнее тюнинг под архитектуру, тем выше потолок скорости и тем меньше у проекта пользователей.
llama.cpp и его форки: когда они выгоднее
llama.cpp проще ставится, лучше работает на нестандартном железе и активно поддерживается сообществом. Форк от pwilkin, засветившийся в сравнении на Strix Halo, - пример глубокой оптимизации под одну платформу. Если у вас одна V100 и вы гоняете модели для себя, llama.cpp часто закрывает задачу без возни с Python-окружением и версиями CUDA. Если нужен сервер с батчингом, очередью запросов и OpenAI-совместимым API под нескольких пользователей, подход vLLM, включая 1Cat-vLLM, выигрывает по удобству.
Что делать дальше: практические выводы
- Если V100 у вас уже стоит, попробуйте 1Cat-vLLM: это нишевый инструмент под конкретную архитектуру, и другого смысла, кроме ускорения V100, у него нет.
- Перед установкой проверьте репозиторий: дата последнего обновления, поддерживаемые версии CUDA и PyTorch, список совместимых моделей и квантов.
- Соберите базовую линию. Прогоните llama-benchy на своей конфигурации с 1Cat-vLLM и с llama.cpp, на одной и той же модели, кванте и длине контекста.
- Отдельно замерьте prefill и decode. Для чата с длинным системным промптом и для генерации кода узкие места разные.
- Если карты ещё нет, а вы выбираете GPU под локальный инференс, V100 стоит рассматривать из-за цены и объёма VRAM, помня про отсутствие FP8 и BF16, энергопотребление и требования к охлаждению.
Автор поста закончил приглашением делиться другими вариантами оптимизации, и это разумный подход: экосистема вокруг старых ускорителей живёт за счёт таких экспериментов. Лучший бенчмарк для вашей задачи - ваш собственный прогон на вашем железе, с зафиксированной методикой и честно указанными настройками.