Как выбрать сервер для AI-задач: что действительно важно
Это руководство объясняет, как подобрать сервер под AI-нагрузки без переплаты. Правильный ответ полностью зависит от того, что вы запускаете: вызовы внешних API, хостинг агентов или запуск открытых моделей на собственном железе, и разница между этими вариантами: 2 GB RAM против GPU-сервера. Текст написан для разработчиков и системных администраторов, которым нужны рабочие цифры, а не модные слова.
Начинайте с нагрузки, а не с железа
AI-сервер не означает что-то одно. На практике встречаются три разные нагрузки, у каждой свое узкое место:
- Вызовы внешних AI API: ваш код отправляет запросы к размещенной у провайдера модели. Узкое место: сеть и надежность.
- Агенты и автоматизации: планировщики, память диалогов, headless-браузеры, очереди. Узкое место: RAM и диск.
- Самостоятельный хостинг открытых моделей: инференс на собственном CPU или GPU. Узкое место: пропускная способность памяти и вычислительная мощность.
Большинство ошибок при выборе конфигурации происходит от покупки под третий случай, когда на самом деле вы находитесь в первом.
Вызовы внешних API: подойдет почти любой VPS
Если ваше приложение отправляет запросы к OpenAI, Anthropic или похожему провайдеру, тяжелые вычисления происходят на их стороне. Ваш сервер занимается HTTP, JSON и небольшой работой с очередями. Машина с 1-2 vCPU и 2 GB RAM спокойно обрабатывает тысячи API-вызовов в день.
Что здесь действительно важно:
- Аптайм и стабильная исходящая сеть. Нестабильный канал означает упавшие вебхуки и повторные попытки, которые расходуют API-токены дважды.
- Таймауты и логика повторов. Ответ модели может занимать 30-120 секунд. Настройте клиентские таймауты соответственно и сделайте обработчики идемпотентными.
- Не задержка. Время инференса доминирует: лишние 40 ms на маршруте незаметны на фоне генерации в 15 секунд.
Быстрая проверка с вашего сервера:
curl -o /dev/null -s -w "connect: %{time_connect}s total: %{time_total}s\n" https://api.anthropic.com/
Агенты и автоматизации: RAM и диск заканчиваются первыми
Стек агентов выглядит легким на бумаге и тяжелым на практике. Среда выполнения Python или Node, векторное хранилище, Redis, база данных и особенно headless-браузеры быстро суммируются: один экземпляр headless Chromium сам по себе занимает от 400 MB до 1 GB. Закладывайте 4-8 GB RAM и 2-4 vCPU на небольшую продакшен-установку агентов, и больше, если агенты запускают браузерные сессии параллельно.
Диск заполняется незаметно. Агенты логируют каждый шаг, хранят контекст диалогов и кэшируют загрузки. Активная автоматизация может записывать несколько GB логов в месяц. Возьмите 40-80 GB NVMe и настройте ротацию в первый же день:
free -h du -sh /var/log /home/agent/.cache journalctl --vacuum-size=500M
Swap стоит держать как страховку от OOM, но если агенты регулярно уходят в swap, переходите на тариф с большим объемом RAM: свопинг контекста посреди выполнения приводит к таймаутам агентов в неприятных, трудно отлаживаемых формах.
Самостоятельный запуск небольших открытых моделей на CPU
Модели на 3-8B параметров можно запускать на VPS без GPU с помощью llama.cpp или Ollama. Пригодность решают две вещи: RAM и поддержка AVX.
Основы квантизации. Веса модели обычно хранятся в 16 битах. Квантизация сохраняет их в 4-5 битах с небольшой потерей качества, сокращая потребность в RAM примерно в четыре раза. Обычный разумный вариант: Q4_K_M. Практическое правило: модели в Q4 нужно около 0.7 GB RAM на миллиард параметров, плюс 1-2 GB на операционную систему и контекст. Модель на 8B, таким образом, требует около 7-8 GB суммарно, поэтому тариф с 16 GB запускает ее с запасом.
Сначала проверьте CPU. Без AVX2 инференс работает, но мучительно:
grep -o 'avx[0-9_]*' /proc/cpuinfo | sort -u
Ожидайте честных цифр: на 4-8 современных vCPU с AVX2 модель 7-8B в Q4 генерирует примерно 3-8 токенов в секунду. Этого достаточно для фоновой суммаризации, классификации или обработки данных, которые не должны покидать вашу инфраструктуру. Для интерактивного чата с ожидающими пользователями это слишком медленно. Проверить можно за пять минут:
curl -fsSL https://ollama.com/install.sh | sh ollama run llama3.1:8b "Изложи это одним предложением: ..."
Шпаргалка по конфигурациям
Цифры, которые работают на практике, по типам нагрузки:
Нагрузка vCPU RAM Диск Примечания Только API-вызовы 1-2 2 GB 20 GB надежность сети прежде всего Агенты и автоматизации 2-4 4-8 GB 40-80 GB NVMe, ротация логов Модель 1-3B, Q4 4 8 GB 40 GB требуется AVX2 Модель 7-8B, Q4 6-8 16 GB 60 GB 3-8 токенов/с, фоновые задачи 13B+ или интерактивный инференс GPU-сервер или внешний API
Эти цифры предполагают, что модель занимает машину целиком. Если на той же машине работает еще и ваше приложение с базой данных, добавьте их требования сверху, а не делите ресурсы.
Когда GPU-сервер или API честно дешевле
Посчитайте, прежде чем покупать железо. Небольшие размещенные у провайдеров модели стоят порядка 0.1-0.5 EUR за миллион токенов. Если вы обрабатываете меньше примерно 1 миллиона токенов в день, счет за API составляет несколько EUR в месяц: ни один арендуемый сервер это не перебьет. Самостоятельный хостинг на CPU выигрывает только тогда, когда данные должны оставаться в вашей инфраструктуре, или когда у вас стабильный пакетный объем и задержка не важна.
GPU имеет смысл, когда нужны модели крупнее 13B, интерактивная задержка, fine-tuning или постоянная пропускная способность, которая в API стоила бы сотни EUR в месяц. Подвох в загрузке: GPU, занятый 2 часа в день, обходится дорого, и экономика работает только при загрузке, близкой к полной, поэтому либо консолидируйте нагрузки на нем, либо оставайтесь на API.
Разумный путь: начните с VPS для API-нагрузок и агентов, месяц измеряйте реальный объем токенов и использование RAM, а затем переходите на выделенный сервер с той конфигурацией CPU или GPU, которую обосновывают ваши измерения. Подбор по данным лучше подбора по оптимизму дня запуска.
Читайте дальше
Готовы начать?
Запустите за минуты или обсудите с инженером, что подходит вашему проекту.