SSD Nodes Learn 8GB RAM — $66/год
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-01

Нужен ли VPS с GPU или достаточно CPU

Узнайте, когда GPU действительно нужен: квантованные модели 7B–27B, эмбеддинги и Whisper small обычно работают на CPU. Начните с CPU и измерьте результат.

Нужен ли Вам VPS с GPU или достаточно CPU?

VPS с GPU меняет два параметра при самостоятельном запуске модели: скорость генерации токенов и максимальный размер модели, которая вообще помещается в памяти. Больше ничего не меняется. Если Вы используете квантованную чат-модель размером от 7B до 27B, которая отвечает одному пользователю за раз, выполняете создание эмбеддингов в небольшом объёме или транскрибируете речь с помощью Whisper small, обычный VPS с CPU и достаточным объёмом RAM уже справится с этой задачей. Начните с CPU, измерьте показатель, который Вас не устраивает, а затем переходите на более производительную конфигурацию.

Причина заключается в пропускной способности памяти. При генерации одного токена языковая модель считывает из памяти все необходимые ей веса. Модель 8B, квантованная до 4 бит, занимает на диске примерно 4.7 GB и примерно столько же в памяти, поэтому генерация одного токена требует перемещения около 4.7 GB данных. Разделите пропускную способность памяти машины на это значение — и получите теоретический предел в токенах в секунду. Это простое деление объясняет почти каждый показатель производительности, который Вы встретите.

Что на самом деле дает GPU

Пропускная способность. Серверная память DDR5 на современном узле передает десятки гигабайт в секунду. Память GPU (VRAM, видеопамять) передает сотни гигабайт и более тысячи. Это соотношение определяет ускорение, и оно значительно.

Емкость и скорость. На сервере с CPU и 64 GB RAM можно загрузить модель 70B с 4-битным квантованием. Она будет работать, но скорость будет ближе к чтению, чем к диалогу. GPU помогает только в том случае, если модель помещается в VRAM. Как только слои начинают выгружаться в системную RAM, снова используется медленный путь.

Пропускная способность при пакетной обработке. Этот фактор часто недооценивают. При генерации для одного пользователя GPU использует большую часть вычислительных ресурсов неэффективно, поскольку ожидает данные из памяти. Если одновременно обрабатывать 20 запросов, одно чтение весов обслуживает все 20 запросов. Совокупная скорость в токенах в секунду возрастает в несколько раз, а скорость для отдельного пользователя снижается незначительно. CPU не работает таким образом. Два одновременных пользователя на сервере с CPU примерно вдвое снижают скорость друг для друга. Если вы создаете API, к которому обращается много клиентов, пакетная обработка — главный аргумент в пользу GPU, более весомый, чем максимальная скорость обработки одного потока.

Обработка промпта. Чтение длинного промпта зависит прежде всего от вычислительной мощности, а не от пропускной способности памяти. Именно здесь GPU обеспечивает наибольшее ускорение. Контекст размером 30,000 токенов, обработка которого на CPU занимает минуту, обрабатывается на GPU за несколько секунд. Это постоянно заметно в системах с поиском, которые добавляют документы в каждый запрос.

Приблизительные показатели и их интерпретация

В блоке ниже приведены типичные опубликованные показатели для одного потока при работе с моделью 8B и 4-битным квантованием по состоянию на июль 2026 года. Это ориентиры по порядку величины, а не гарантированные значения. На результаты влияют используемые квантование, длина контекста и движок инференса.

Chart8B model at 4-bit: typical single-stream generation speed (July 2026)
The data behind this chart
[
  {
    "label": "8 vCPU, DDR4",
    "mem_bandwidth_gbs": 40,
    "tokens_per_sec": 6
  },
  {
    "label": "16 vCPU, DDR5",
    "mem_bandwidth_gbs": 75,
    "tokens_per_sec": 11
  },
  {
    "label": "24GB GPU",
    "mem_bandwidth_gbs": 300,
    "tokens_per_sec": 50
  },
  {
    "label": "40GB data-centre GPU",
    "mem_bandwidth_gbs": 1555,
    "tokens_per_sec": 130
  }
]

В строке для GPU с объемом памяти 24 GB указано 50 токенов в секунду против 11 для CPU-системы с памятью DDR5. Это примерно пятикратное преимущество, что соответствует соотношению пропускной способности памяти, а не различию в пиковой вычислительной мощности. Фактическая производительность также ниже значения, получаемого делением пропускной способности на размер модели, поскольку обработка растущего контекста механизмом attention добавляет нагрузку, которую простой расчет не учитывает.

Для сравнения: человек читает примерно 5–10 слов в секунду. Скорость 15 токенов в секунду и выше для одного пользователя уже воспринимается как обычный набор текста. Поэтому многие конфигурации, использующие только CPU, вполне подходят для работы.

Оценка объема VRAM перед покупкой

Размер файла модели — это минимальное значение, а не требование. Учтите веса, KV cache (кэш ключей и значений, то есть память для каждого токена, которую использует механизм attention), а также около 1 GB на служебные данные.

Практическое правило по состоянию на July 2026: возьмите размер файла модели в гигабайтах и добавьте 20 процентов для обычного контекста от 8k до 16k. Модели 8B размером 4.7 GB требуется около 6 GB VRAM. Модель 27B с точностью 4 bits занимает около 16 GB и требует примерно 20 GB. Модель 70B с точностью 4 bits занимает около 40 GB и требует видеокарту на 48 GB либо две видеокарты меньшего объема.

Длинный контекст нарушает это правило. KV cache растет линейно с длиной контекста, а при 128k токенах может превысить объем самих весов. Если вы планируете использовать длинный контекст, сначала рассчитайте объем кэша и проверьте, какие возможности квантования кэша предоставляет ваш движок.

Проверьте, что действительно установлено на машине

На экземпляре с GPU сначала убедитесь, что драйвер видит карту.

nvidia-smi

В результате должна отображаться таблица с названием GPU, версией драйвера и объемом использованной памяти из общего объема. Сообщение NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver означает, что драйвер отсутствует или модуль ядра не был пересобран после обновления ядра. В стандартном образе Ubuntu обычно достаточно выполнить sudo apt install -y ubuntu-drivers-common && sudo ubuntu-drivers install, а затем перезагрузить систему, чтобы загрузился новый модуль.

Для контейнеров одного драйвера недостаточно. Docker требуется NVIDIA Container Toolkit, чтобы передать устройство в контейнер.

sudo apt-get update && sudo apt-get install -y --no-install-recommends ca-certificates curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Затем проверьте работу передачи устройства из контейнера:

sudo docker run --rm --gpus all ubuntu:24.04 nvidia-smi

Должна появиться та же таблица. Строка docker: Error response from daemon: could not select device driver с указанием возможности GPU, которую невозможно обеспечить, означает, что набор инструментов установлен, но Docker не был перенастроен или перезапущен. Поэтому снова выполните строку nvidia-ctk и перезапустите Docker. В Compose эквивалентом служит запись deploy.resources.reservations.devices, у которой driver имеет значение nvidia, а список возможностей содержит gpu. Эту запись можно добавить к обычным определениям сервисов, описанным в разделе Docker Compose на VPS.

Измерьте показатели перед обновлением

Запустите модель, которую планируете использовать, на имеющемся CPU-сервере и запишите результаты. При развертывании LLM на VPS с помощью Ollama для этого нужен один флаг:

ollama run llama3.1:8b --verbose "Summarise the causes of the 1929 crash in 200 words."

В конце вывода указаны значения времени выполнения. eval rate — скорость генерации в токенах в секунду. prompt eval rate — скорость чтения машиной входных данных. Эти два значения показывают, какое обновление поможет: низкое значение eval rate указывает на проблему с пропускной способностью памяти, а низкое значение prompt eval rate при длинных входных данных — на проблему с вычислительной производительностью.

На компьютере с GPU проверьте, что модель действительно загрузилась на него:

ollama ps

В столбце PROCESSOR отображается 100% GPU, если модель полностью помещается, или значение наподобие 43%/57% CPU/GPU, если это не так. Частичное разделение обычно снижает производительность сильнее, чем ожидается, поскольку каждый токен по-прежнему ожидает более медленную часть.

Вопрос стоимости

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

На практике работают три понятных варианта. Постоянную работу с небольшим объёмом запросов выполняйте на CPU VPS. Редкие сложные запросы отправляйте в размещённый API и платите за токены. Арендуйте GPU с почасовой оплатой для пакетных заданий, дообучения или массового создания эмбеддингов, а затем удаляйте его. Сочетать эти варианты нормально. Описанная в контроль затрат на AI-агента на постоянно работающем VPS дисциплина планирования бюджета применяется и здесь. Разница в том, что источником потерь становится простой, а не количество токенов.

Что по-прежнему нормально работает без GPU

Встраивания при небольшой нагрузке. Небольшая модель встраиваний обрабатывает сотни коротких документов в минуту на нескольких ядрах CPU. Индекс, который вы создаете один раз, не обязан строиться быстро.

Whisper small и base для транскрибации. Faster-whisper на CPU выполняет транскрибацию почти в реальном времени для модели small. Этого достаточно для конвейера, который работает всю ночь.

Квантизованные чат-модели размером примерно до 27B при работе с одним или двумя пользователями. Медленно, но результат остается читаемым и пригодным для использования.

Все задачи, которые можно назвать пакетными. Если никто не наблюдает за экраном, длительность выполнения — это вопрос планирования, а не обязательное требование.

Что действительно требует GPU: обучение или дообучение, выходящее за рамки небольшого адаптера; обслуживание большого числа одновременных пользователей; генерация изображений и видео; а также обработка речи в реальном времени, когда задержка является ключевым свойством продукта.

FAQ

Сколько видеопамяти нужно для модели 7B или 8B?

Около 6 GB для 4-битной квантованной модели 8B при обычном контексте от 8k до 16k. Веса занимают примерно 4.7 GB, остальное приходится на KV-кэш и около 1 GB служебных данных. Видеокарта на 12 GB оставляет достаточно места для более длинного контекста. Если вы планируете использовать контекст 128k, рассчитайте объем кэша отдельно, поскольку он может стать больше весов.

Можно ли запустить Ollama без GPU?

Да. Ollama автоматически переключается на CPU. Оперативной памяти должно быть достаточно для размещения модели. Для 4-битной модели 8B рассчитывайте примерно на 5–12 токенов в секунду в зависимости от скорости памяти. Для одного пользователя это близко к скорости чтения. Длинные запросы — основная проблема при работе на CPU. Обработка контекста из 30,000 токенов требует значительных вычислений и занимает намного больше времени, чем генерация ответа.

Почему моя GPU лишь немного быстрее CPU?

Обычно это происходит потому, что модель не помещается целиком в VRAM. Поэтому часть слоев выполняется на CPU, и каждый токен ожидает более медленную часть. Выполните ollama ps и проверьте, содержит ли столбец PROCESSOR значение 100% GPU. Если отображается разделение, используйте меньшую квантованную модель или модель меньшего размера. Другая распространенная причина — короткий тест производительности, в котором время загрузки модели существенно влияет на результат.

Оправдана ли аренда GPU VPS для одного пользователя?

Обычно нет. Один человек читает со скоростью от 5 до 10 слов в секунду, а CPU-сервер уже генерирует токены быстрее этой скорости для моделей размером примерно до 13B. Для одного пользователя расходы оправданы при работе с длинными запросами, генерацией изображений и дообучением. Наиболее веская причина — обслуживание большого числа пользователей одновременно. Пакетная обработка позволяет одной GPU обслуживать двадцать запросов почти за ту же стоимость, что и один запрос.

Что выбрать: почасовую аренду GPU или постоянный запуск?

Арендуйте GPU почасово, если нагрузка возникает периодически: для дообучения, массового создания эмбеддингов или пакетной транскрибации. Постоянный запуск оправдан только при высокой загрузке видеокарты. GPU-инстанс тарифицируется за время работы, а не за количество созданных токенов. Для помощника с низкой нагрузкой CPU VPS или размещенный API с оплатой за токены дешевле, чем простаивающий GPU.