Скидка 10% при первом запуске GPU по промокоду Активировать скидку

Что такое Ollama и как запустить LLM на GPU-сервере

Ollama загружает и запускает языковые модели, управляет их файлами и предоставляет HTTP API. Это программа для инференса, а не сама модель. Если загруженные веса запускаются на арендованном GPU, вычисления выполняются на этом инстансе. В этой инструкции используются локальный режим и SSH-туннель.

Модель примера — qwen2.5:7b-instruct-q4_K_M, контекст — 4 096 токенов, одновременно обрабатывается один запрос. Файл модели занимает около 4,7 ГБ; это не полный расход VRAM. GPU с 16–24 ГБ памяти даёт небольшой квантованной модели запас для первого запуска, но фактическое потребление нужно проверить. Это ориентир, а не результат замера.

1. Проверьте инстанс

Выберите NVIDIA-окружение с SSH в каталоге предложений. На сервере выполните:

nvidia-smi
uname -m
df -h

nvidia-smi должен видеть видеокарту. Если команда не работает внутри контейнера, смена модели не исправит отсутствие доступа к GPU. Официальный установщик выбирает подходящую Linux-архитектуру. Для установки нужны права: на полноценной VM обычно используется sudo, а терминал контейнера может уже работать от root.

2. Установите определённую версию

Скачайте и просмотрите официальный установщик перед запуском. В примерах используется Ollama 0.34.4.

curl -fsSL https://ollama.com/install.sh -o /tmp/ollama-install.sh
less /tmp/ollama-install.sh
OLLAMA_VERSION=0.34.4 sh /tmp/ollama-install.sh
ollama --version

Если less отсутствует, откройте файл редактором. Установщик может автоматически запустить systemd-сервис. Далее выберите один способ запуска, чтобы два процесса не заняли один порт.

3. Запустите сервер

Если в системе есть systemd

Выполните sudo systemctl edit ollama и добавьте:

[Service]
Environment="OLLAMA_HOST=127.0.0.1:11434"
Environment="OLLAMA_NO_CLOUD=1"
Environment="OLLAMA_CONTEXT_LENGTH=4096"
Environment="OLLAMA_NUM_PARALLEL=1"

Примените настройки:

sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl status ollama --no-pager

Сервис работает от отдельного пользователя. Его каталог моделей отличается от каталога процесса, запущенного в вашей SSH-сессии: см. хранение файлов.

Если это контейнер без systemd

Сохраните start-ollama.sh на инстансе и выполните:

bash start-ollama.sh

Скрипт слушает 127.0.0.1:11434, отключает облачные модели, задаёт один параллельный запрос и хранит веса в $HOME/llm-data/ollama. Оставьте сессию открытой и подключитесь второй для следующего шага. Чтобы процесс пережил разрыв SSH, запускайте его внутри tmux; после перезагрузки инстанса его всё равно потребуется запустить заново.

4. Загрузите модель и получите ответ

Во втором терминале сервера:

ollama pull qwen2.5:7b-instruct-q4_K_M
ollama run qwen2.5:7b-instruct-q4_K_M "Explain a database index in three sentences."
ollama ps
ollama show qwen2.5:7b-instruct-q4_K_M

Пример запроса на русском: ollama run qwen2.5:7b-instruct-q4_K_M "Объясни индекс базы данных в трёх предложениях."

Сразу после ответа посмотрите столбец PROCESSOR в ollama ps. Сочетание CPU/GPU означает частичную выгрузку на процессор, а не полное размещение на видеокарте. До сравнения скорости проверьте память и обнаружение GPU.

Проверка API:

curl --fail-with-body http://127.0.0.1:11434/api/chat \
  -H 'Content-Type: application/json' \
  -d '{"model":"qwen2.5:7b-instruct-q4_K_M","messages":[{"role":"user","content":"Reply with one short sentence."}],"stream":false,"options":{"num_ctx":4096,"num_predict":128}}'

5. Подключитесь со своего компьютера

На своём компьютере замените SSH_PORT и GPU_HOST значениями из карточки инстанса. Если там указан другой SSH-пользователь, используйте его вместо root.

ssh -N -o ExitOnForwardFailure=yes -p SSH_PORT \
  -L 127.0.0.1:11435:127.0.0.1:11434 root@GPU_HOST

Оставьте терминал открытым. В другом локальном терминале curl http://127.0.0.1:11435/api/tags должен показать модель. Локальный порт отличается от серверного, чтобы не конфликтовать с Ollama, уже установленной на компьютере. Публиковать порт 11434 в интернете не требуется.

Далее подключите Open WebUI для чата или используйте примеры API. Произвольное значение API key в клиенте не добавляет аутентификацию локальному серверу Ollama.

Вариант с Docker и измерение скорости

Если на хосте работает Docker с доступом к GPU, Compose-инструкция запускает Ollama вместе с интерфейсом. Не запускайте этот вариант одновременно с нативным сервером на том же порту.

Сохраните measure-ollama.py на сервере и выполните python3 measure-ollama.py > measurements.jsonl. Он делает один прогревочный и три измеряемых запроса. Сохраните рядом вывод nvidia-smi. Это результаты вашей машины, а не обещание определённой скорости.

Завершение работы

ollama stop qwen2.5:7b-instruct-q4_K_M выгружает модель из памяти, но не останавливает оплату инстанса. Сохраните настройки и результаты, затем используйте управление инстансом. Инструкция по хранению объясняет, какие файлы забрать.

Источники: установка Ollama на Linux, поддержка GPU, тег модели, API чата.

Все инструкции по запуску своей LLM.

Ждёте GPU по подходящей цене за час? Запустите GPU Radar на небольшом CPU VPS, чтобы получать Telegram-уведомления о подходящих предложениях публичного каталога. Бот не резервирует и не арендует GPU.

Готовы запустить?

Запустить GPU-сервер