MAATRIX / Блог / DeepSeek R1 на VPS: установка и запуск модели с рассуждениями

DeepSeek R1 на VPS: установка и запуск модели с рассуждениями

DeepSeek R1 на VPS: установка и запуск модели с рассуждениями

MAATRIX

DeepSeek R1 — одна из первых массово доступных моделей, которая показывает не только ответ, но и ход рассуждений перед ним: видно, как модель раскладывает задачу на шаги, проверяет саму себя и приходит к выводу. На VPS это работает не хуже, чем в облачном API, если правильно подобрать версию модели под доступную память — полная модель для домашнего или арендованного сервера нереальна, а вот дистилляты вполне подъёмны. Разберём, как всё это поставить через Ollama и чего ждать от результата.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что такое DeepSeek R1 и зачем ему видимые рассуждения

Обычная LLM генерирует ответ сразу, как бы «с ходу» — даже если внутри модели происходит что-то похожее на промежуточные вычисления, наружу это не выводится. DeepSeek R1 устроена иначе: перед финальным ответом она печатает блок рассуждений (reasoning trace, часто оформленный тегами вроде <think>...</think>) — по сути, черновик мышления вслух. Модель формулирует гипотезу, проверяет её, иногда отбрасывает и пробует другой подход, и только потом выдаёт итоговый ответ.

Практическая польза в двух вещах:

  • Качество на задачах, где важна пошаговая логика. Модель реже «срезает угол» и выдаёт правдоподобный, но неверный ответ, потому что явно проговаривает промежуточные шаги.
  • Прозрачность. Вы видите, почему модель пришла к такому выводу, а не только сам вывод — это полезно для отладки промптов и для задач, где ошибка дорого стоит (код, расчёты, сложная логика).

Плата за это — скорость и длина ответа: рассуждения тоже генерируются токен за токеном, и на итоговый ответ уходит заметно больше времени и вычислений, чем у обычной модели того же размера.

Дистилляты DeepSeek R1: как выбрать версию под ресурсы VPS

Оригинальная DeepSeek R1 — модель с сотнями миллиардов параметров, для которой нужен кластер GPU с солидным объёмом видеопамяти. На обычном VPS её не запустить в принципе. Поэтому для практического использования применяют дистиллированные версии — модели меньшего размера (обычно на базе архитектур Qwen или Llama), которые обучены имитировать стиль рассуждений R1, но при этом требуют на порядки меньше ресурсов.

Разработчик публикует несколько размеров дистиллятов — от совсем компактных (полтора-несколько миллиардов параметров) до сравнительно крупных (десятки миллиардов). Чем крупнее дистиллят, тем ближе качество рассуждений к оригиналу, но тем больше нужно оперативной памяти и тем медленнее генерация на CPU.

Здесь важная честная оговорка: точные названия тегов и список доступных размеров меняются — Ollama регулярно обновляет карточки моделей, добавляет новые варианты квантования, иногда переименовывает теги. Поэтому вместо того чтобы называть конкретные версии и обещать точные цифры по памяти, ориентируйтесь на актуальный список прямо перед установкой:

# посмотреть доступные теги и их размеры в браузере
https://ollama.com/library/deepseek-r1

# или прямо с сервера через API каталога
curl -s https://ollama.com/library/deepseek-r1/tags

Общее практическое правило при выборе — ориентировочно на каждый миллиард параметров дистиллята в исходном (не квантованном) виде закладывайте около 1.5–2 ГБ ОЗУ на инференс на CPU, плюс запас под систему и контекст. Если сомневаетесь — начните с самого маленького варианта из списка, убедитесь, что всё работает, и поднимайтесь по размеру, пока хватает памяти и устраивает скорость. Как выбрать модель под конкретный объём памяти в общем виде, подробно разобрано в статье про подбор модели Ollama под 8 ГБ RAM — логика применима и к дистиллятам R1.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Ollama

Установка Ollama на VPS

Ollama — самый простой способ запустить DeepSeek R1 без ручной сборки инференс-движка. Ставится одной командой на большинстве дистрибутивов Linux:

curl -fsSL https://ollama.com/install.sh | sh

Скрипт сам определит архитектуру, поставит бинарник и зарегистрирует systemd-сервис. Проверьте, что служба поднялась:

systemctl status ollama

По умолчанию Ollama слушает 127.0.0.1:11434 — только локальные подключения. Если планируете обращаться к API с другой машины (например, у себя из приложения), нужно явно разрешить внешний интерфейс и обязательно закрыть порт файрволом от посторонних:

sudo systemctl edit ollama

В открывшемся файле добавьте:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

Сохраните, перезапустите службу и не забудьте ограничить доступ к порту 11434 на уровне файрвола (ufw/iptables) — по умолчанию порт открыт всем, и без пароля это прямой доступ к вашей модели и API. Отдельно про то, как закрыть локальную LLM от посторонних, — в статье про защиту локальной LLM.

sudo systemctl daemon-reload
sudo systemctl restart ollama

Запуск DeepSeek R1

Когда служба работает, скачивание и запуск модели — одна команда. Формат — ollama run deepseek-r1 с опциональным суффиксом размера через двоеточие (актуальные суффиксы смотрите в каталоге, как описано выше):

ollama run deepseek-r1:7b

При первом запуске Ollama скачает веса модели (это может занять от нескольких минут до пары часов в зависимости от размера модели и скорости канала VPS) и сразу откроет интерактивный чат в терминале. Дальше можно просто писать запрос:

>>> Реши: у поезда путь 360 км, скорость на 20 км/ч больше, чем планировали, поэтому он прибыл на час раньше расчётного времени. Найди исходную скорость.

Модель сначала выведет блок рассуждений — развёрнутую выкладку с уравнением и проверкой, — а затем короткий итоговый ответ. Для работы через API, а не интерактивный чат, используется тот же REST-эндпоинт, что и у любой модели в Ollama:

curl http://127.0.0.1:11434/api/generate -d '{
  "model": "deepseek-r1:7b",
  "prompt": "Объясни разницу между процессом и потоком в ОС",
  "stream": false
}'

В ответе будет поле с полным текстом, включающим и блок рассуждений, и финальный ответ — их разбор на уровне приложения нужно делать самостоятельно (см. ниже).

Как обрабатывать блок рассуждений в ответе

Рассуждения DeepSeek R1 обычно обёрнуты в теги <think>...</think> прямо в теле ответа. Это значит, что если вы используете модель не в терминале, а из своего приложения или бота, вам нужно решить, что делать с этим блоком:

  • Показывать пользователю целиком — полезно для обучающих и отладочных сценариев, когда важна прозрачность вывода.
  • Скрывать и показывать только финальный ответ — обычный выбор для продуктового чат-бота, где рассуждения только удлиняют ответ и не нужны конечному пользователю.
  • Логировать отдельно — сохранять reasoning-блок в лог для последующего анализа качества промптов, а пользователю отдавать только чистый ответ.

Простейший способ отделить одно от другого — регулярным выражением вырезать содержимое между тегами <think> и </think> перед показом пользователю. Если вы уже собираете свой чат-интерфейс поверх Ollama, логика показа и скрытия рассуждений добавляется в тот же слой, где обрабатывается остальной вывод модели.

Учтите, что рассуждения — это тоже генерируемые токены, которые считаются в общий объём вывода. Если вы тарифицируете или ограничиваете длину ответа по числу токенов, блок <think> нужно учитывать отдельно, иначе лимит будет исчерпываться раньше, чем дойдёт до содержательного ответа.

Для каких задач R1 действительно даёт выигрыш — и какова цена

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

  • Математика и расчёты — модель раскладывает задачу на уравнения и промежуточные вычисления, что снижает число арифметических и логических ошибок по сравнению с обычной моделью того же размера.
  • Логические головоломки и многошаговые рассуждения — там, где нужно удержать несколько условий одновременно и не потерять ни одно из них.
  • Код — разбор алгоритма на шаги перед написанием реализации, поиск краевых случаев, объяснение почему код должен работать именно так.

На простых задачах — короткий ответ на фактический вопрос, генерация текста, суммаризация — reasoning-блок скорее мешает: ответ приходит заметно дольше, а прироста в качестве почти нет, потому что рассуждать там особо не над чем. Здесь выгоднее обычная (не reasoning) модель сопоставимого размера — она отвечает быстрее при похожем качестве.

Главная плата за рассуждения — время и вычисления. Ответ занимает в разы больше токенов (сначала рассуждения, потом сам ответ), а значит, генерация на том же железе идёт заметно дольше, чем у обычной модели. Насколько именно дольше — зависит от конкретной задачи, длины рассуждений и вашего сервера, поэтому точных цифр здесь давать не будем: попробуйте на своей нагрузке и ориентируйтесь по факту. Если скорость генерации токенов кажется низкой, общие причины и способы ускорения разобраны в статье про медленную генерацию токенов в Ollama.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Ollama

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Можно ли запустить полную DeepSeek R1 (не дистиллят) на обычном VPS?

Практически нет — оригинальная модель требует объёма видеопамяти, недостижимого на типовом арендованном сервере без GPU-кластера. На VPS используются дистиллированные версии меньшего размера.

Нужна ли видеокарта для DeepSeek R1 на VPS?

Нет, дистилляты небольшого и среднего размера вполне работают на CPU, хотя с GPU генерация будет быстрее. Общее сравнение CPU и GPU для локальных LLM — в статье CPU или GPU для локальной LLM.

Как понять, какой размер дистиллята мне подойдёт?

Смотрите на объём доступной ОЗУ на сервере и ориентируйтесь на список тегов и их описание в карточке модели на ollama.com — начинайте с меньшего варианта и поднимайтесь, пока хватает памяти и устраивает скорость.

Можно ли скрыть блок рассуждений и показывать пользователю только финальный ответ?

Да, рассуждения обычно обёрнуты в теги <think>...</think> — их легко отфильтровать регулярным выражением на стороне вашего приложения перед показом.

DeepSeek R1 всегда лучше обычной модели того же размера?

Нет — выигрыш заметен на задачах с многошаговой логикой (математика, код, головоломки), а на простых фактических вопросах и генерации текста обычная модель отвечает быстрее при сопоставимом качестве.

Ollama — единственный способ запустить DeepSeek R1?

Нет, но самый простой для старта: не нужно вручную собирать инференс-движок и настраивать окружение — достаточно одной команды на установку и одной на запуск.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.