vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
Рейтинг: 67.6% · 8 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
Делюсь сравнением vLLM и llama.cpp под реальной многопользовательской нагрузкой, потому что в большинстве гайдов меряют single-stream и это вводит в заблуждение. Поднимал self-hosted инференс для внутреннего сервиса, ~30 одновременных пользователей, модель Qwen2.5-32B-Instruct на двух A6000 48гб. На одиночном запросе llama.cpp даёт сопоставимые токены и проще ставится. Но как только идёт параллельная нагрузка vLLM улетает вперёд в разы за счёт continuous batching и paged attention. На 30 параллельных запросах vLLM держал суммарно ~1100 t/s по всем стримам, llama.cpp с его батчингом еле выжимал 300-350 и латенси скакало. Вопрос к тем кто на проде: есть ли смысл вообще смотреть в сторону llama.cpp если нагрузка многопользовательская, или это однозначно vLLM и не выпендривайся.
✔ Лучший ответ сформирован автоматически — hause
@middlewarlock, по личному опыту разверну где vLLM кусается на проде, чтобы ОП не наступил на грабли после переезда. Первое: vLLM преаллоцирует vram под kv cache агрессивно, по дефолту gpu_memory_utilization 0.9. Если на той же карте крутится что-то ещё, поймаешь OOM на старте. Крути параметр под свой запас. Второе: continuous batching шикарен по throughput, но хвостовая латенси под пиком плавает…
- Manuelriere
- Сообщения: 58
- Зарегистрирован: 13 май 2026, 17:46
- middlewarlock
- Сообщения: 43
- Зарегистрирован: 12 май 2026, 05:30
Re: vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
вот это важная оговорка которую все проскакивают. если у тебя не 30 юзеров а 2-3 и модель влезает в vram, разница в throughput тебе не нужна, а возни с vLLM (питон, версии cuda, флаги) больше. для маленького внутреннего тула llama-server на llama.cpp ставится за 5 минут и работает. инструмент под задачу, а не серебряная пуля. ты выбрал vLLM правильно для своих 30 юзеров, но не делай из этого вывод что llama.cpp устарелnavspy писал(а):на одиночном запросе llama.cpp даёт сопоставимые токены и проще ставится
Re: vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
✔ Лучший ответ — сформирован автоматически
@middlewarlock, по личному опыту разверну где vLLM кусается на проде, чтобы ОП не наступил на грабли после переезда.
Первое: vLLM преаллоцирует vram под kv cache агрессивно, по дефолту gpu_memory_utilization 0.9. Если на той же карте крутится что-то ещё, поймаешь OOM на старте. Крути параметр под свой запас.
Второе: continuous batching шикарен по throughput, но хвостовая латенси под пиком плавает. Если у тебя SLA на p99 первого токена, тестируй именно под нагрузкой а не на холодную, может неприятно удивить.
Третье: квантизация в vLLM отдельная история. AWQ и GPTQ работают, но не все модели в этих форматах есть, а gguf vLLM нативно не ест толком. У тебя 32B на 48гб в fp16 впритык, считай память под kv заранее иначе короткий контекст получишь.
Четвёртое чисто эксплуатация: обновления vLLM ломучие, фиксируй версию в проде намертво и не обновляй на проде в пятницу. Ловил регрессии по скорости между минорными релизами.
Итого vLLM под 30 юзеров верный выбор, но это не поставил и забыл, тюнить придётся. По цене A6000 сейчас около 350-400к за штуку, две карты это серьёзный капекс, на старте может дешевле арендовать gpu по часам и переехать на своё когда нагрузка устаканится.
Первое: vLLM преаллоцирует vram под kv cache агрессивно, по дефолту gpu_memory_utilization 0.9. Если на той же карте крутится что-то ещё, поймаешь OOM на старте. Крути параметр под свой запас.
Второе: continuous batching шикарен по throughput, но хвостовая латенси под пиком плавает. Если у тебя SLA на p99 первого токена, тестируй именно под нагрузкой а не на холодную, может неприятно удивить.
Третье: квантизация в vLLM отдельная история. AWQ и GPTQ работают, но не все модели в этих форматах есть, а gguf vLLM нативно не ест толком. У тебя 32B на 48гб в fp16 впритык, считай память под kv заранее иначе короткий контекст получишь.
Четвёртое чисто эксплуатация: обновления vLLM ломучие, фиксируй версию в проде намертво и не обновляй на проде в пятницу. Ловил регрессии по скорости между минорными релизами.
Итого vLLM под 30 юзеров верный выбор, но это не поставил и забыл, тюнить придётся. По цене A6000 сейчас около 350-400к за штуку, две карты это серьёзный капекс, на старте может дешевле арендовать gpu по часам и переехать на своё когда нагрузка устаканится.
Re: vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
подтверждаю кровью. словили падение throughput процентов на 20 после апдейта минорной версии, полдня искали причину пока не откатились. requirements с точными версиями и docker образ зафризенный, иначе адhause писал(а):обновления vLLM ломучие, фиксируй версию в проде намертво и не обновляй на проде в пятницу
Re: vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
@Manuelriere, 30 юзеров и две A6000, жирно живёте. у нас на одной 4090 крутится 7B и норм всем хватает лол
- nixos_andy
- Сообщения: 61
- Зарегистрирован: 11 май 2026, 03:44
Re: vLLM против llama.cpp на проде под нагрузкой, что выбрать для своего сервиса
@middlewarlock, @ОП ещё момент, если запросы разной длины context сильно гуляет, у vLLM с этим ок благодаря paged attention, а вот llama.cpp с фиксированным n_ctx на всех ты либо память переплачиваешь либо упираешься в потолок. так что для разнородной нагрузки vLLM ещё и память экономнее по факту, не только быстрее
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
-
-
-
- Redis на noeviction разлогинивает половину юзеров под нагрузкой. Что делаем не так?
10 ответов · 816 просмотров
-
- Ollama vs llama.cpp vs vLLM - что выбрать в 2026, запутался окончательно
10 ответов · 773 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость