Свой ИИ-сервер для компании: что работает на двух RTX 3090
АйТи Фреш
ИИ и нейросети

Свой ИИ-сервер для компании вместо облачных нейросетей: что реально работает на двух RTX 3090

Автор: , директор ООО «АйТи-Фреш» · · ~11 мин чтения
Слева горит облачный дата-центр с нейросетью, справа тихая бухта со своим сервером с видеокартами
Свой ИИ — данные компании не уходят в чужое облако.

Каждый раз, когда сотрудник вставляет договор в облачный чат-бот, ваша компания добровольно сливает данные. Свой ИИ-сервер прекращает это навсегда. Каждый запрос в облачную нейросеть — это документ компании, отправленный на чужой сервер, по чужим правилам и с чужими лимитами. Свой ИИ-сервер для компании меняет это: языковая модель, поиск по внутренним документам, расшифровка совещаний и генерация изображений работают на вашем железе, а данные никуда не уходят. Рассказываем, что на самом деле работает на сервере с двумя RTX 3090, который мы эксплуатируем каждый день, и где на этом пути грабли.

Облачный ИИ — это утечка по расписанию

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

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

И главное отличие от облака: когда у облачного провайдера ИИ авария или новые ограничения, ваши процессы встают. Свой сервер работает, пока работает ваше электричество и ваш канал.

Облачный ИИ — утечка по расписанию
Облачный ИИ — утечка по расписанию

Утечка, которую вы оплачиваете сами

Запретить сотрудникам пользоваться нейросетями уже невозможно — они слишком полезны. Значит, они уже сейчас отправляют в чужие облака договоры, выписки, переписку и код. Вы не знаете, что именно, сколько и куда. Это не паранойя — это ежедневная практика большинства офисов.

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

Компания в заложниках у облака — изометрия
Компания в заложниках у облака.

Что именно вы отдаёте облачному ИИ

Если посмотреть на типичное использование нейросетей в офисе, список того, что уходит наружу, впечатляет.

Состав ИИ-сервера
Что работает на 2×RTX 3090
Что работает на 2×RTX 3090

Железо

Две видеокарты RTX 3090 по 24 ГБ видеопамяти, 64 процессорных ядра, около 500 ГБ оперативной памяти, два пула ZFS: рабочий на 3,6 ТБ и пул резервных копий на 9 ТБ. Видеокарты — потребительские, не серверные: это сильно дешевле, а для моделей среднего размера 48 ГБ суммарной видеопамяти хватает. Большой объём оперативной памяти нужен для расшифровки на процессоре, баз данных и кэшей.

Главный урок по железу: оперативной памяти много не бывает. Однажды задача обработки чертежей в 24 параллельных процессах съела всю память, и сервер завис до аппаратной перезагрузки. После этого на сервере работает сторож, который не даёт свободной памяти опуститься ниже порога.

Волна аварии накрывает облако, свой сервер стоит выше — бумажная аппликация
Волна аварии накрывает облако, свой сервер стоит выше.

Что на нём работает

ЗадачаЧто работаетГде
языковая модель для внутренних задачvLLM, Qwen3-Coder-30B-A3B в FP8, на двух картахGPU
поиск по документамэмбеддинги Text Embeddings Inference + PostgreSQL с pgvectorGPU + CPU
расшифровка видео и звонковfaster-whisper, шесть экземпляровCPU
генерация изображенийComfyUI, FLUX.2 и Qwen-Image, по экземпляру на картуGPU
единая точка доступа к моделямLiteLLMCPU
хранениеZFS: рабочий пул 3,6 ТБ, пул копий 9 ТБдиски

Всё работает в контейнерах Docker. Модели и данные лежат на ZFS, снимки делаются по расписанию и уходят в пул копий.

Грабли, которые мы собрали

Языковая модель: vLLM и Qwen3-Coder

Для внутренних задач — разбор документов, классификация, извлечение фактов, помощь разработчикам — работает vLLM с моделью Qwen3-Coder-30B-A3B в формате FP8, распределённой на обе видеокарты. Это модель с архитектурой «смесь экспертов»: из 30 миллиардов параметров на каждый токен работают около трёх, поэтому она быстрая, а качество — на уровне заметно более крупных моделей. vLLM даёт OpenAI-совместимый API, так что любые программы, умеющие работать с облачным ИИ, подключаются к своему серверу заменой адреса.

Для оценки нагрузки мы следим за метриками vLLM: заполнение кэша внимания, число вытеснений запросов, длина очереди. Если вытеснения растут, модель перегружена параллельными запросами, и их число нужно ограничить.

Правила эксплуатации
Правила эксплуатации

Поиск по документам

Тысячи документов компании превращаются в векторы — числовые представления смысла — с помощью модели эмбеддингов, которая работает на видеокарте через Text Embeddings Inference. Векторы хранятся в PostgreSQL с расширением pgvector. Когда сотрудник задаёт вопрос, система находит самые близкие по смыслу фрагменты документов и передаёт их языковой модели, которая отвечает со ссылками на источники.

На этом сервере работает база знаний на 128 тысяч документов и 3,5 миллиона фрагментов. Подробнее о таком подходе — в статье о чат-боте по внутренним документам.

Облако рушится, и сервер падает вместе с вашими письмами — живопись маслом
Облако рушится, и сервер падает вместе с вашими письмами.

Расшифровка видео и звонков на процессоре

Расшифровку мы сознательно вынесли с видеокарт на процессор: шесть экземпляров faster-whisper работают параллельно на 64 ядрах. Это медленнее, чем на видеокарте, но видеокарты свободны для языковой модели, а расшифровка идёт круглосуточно в фоне и справляется с потоком. Записи совещаний и обучающие видео превращаются в текст и попадают в ту же базу знаний.

Подробнее о расшифровке совещаний — в статье о расшифровке совещаний и звонков.

Что именно вы отдаёте облачному ИИ
Свой сервер — крепость, которую не берёт чужой пожар — акварель
Свой сервер — крепость, которую не берёт чужой пожар.

Генерация изображений

Для иллюстраций сайта и презентаций работает ComfyUI — по экземпляру на каждую видеокарту — с моделями FLUX.2 и Qwen-Image. За день на двух картах мы рисуем сотни иллюстраций в разных стилях с автоматическим отбором лучших кадров по оценке эстетики. Какая модель лучше и почему, мы подробно разобрали в статье о тесте нейросетей на RTX 3090.

Что на нём работает

Главная проблема: видеокарт всегда мало

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

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

 — chains_blueprint

Единая точка доступа

Чтобы программы компании не знали, где именно работает модель, все запросы идут через LiteLLM — шлюз с OpenAI-совместимым API. Он маршрутизирует запросы к нужной модели, ведёт учёт и ограничивает нагрузку. Если модель переехала на другой сервер или её заменили, программы этого не замечают.

Какие задачи мы решаем на нём

Какие задачи мы решаем на нём

Конкретные задачи, которые этот сервер выполняет каждый день, а не в презентации.

Авария в чужом дата-центре — и почта компании недоступна — комикс
Авария в чужом дата-центре — и почта компании недоступна.

Контроль качества ответов

Своя модель не отменяет проверки качества — наоборот, её проще измерить. Мы прогоняем набор контрольных вопросов с известными ответами и смотрим, где модель ошиблась. Однажды такая проверка показала, что помощник по базе знаний отказывался отвечать на половину вопросов, ответы на которые в базе были: порог близости фрагментов был слишком строгим. После настройки порогов доля ложных отказов резко упала. Без регулярной проверки такие проблемы годами живут незамеченными.

Грабли

Локальные агенты: польза и опасность

На сервере работают и агенты — языковые модели, которые сами выполняют задачи: пишут скрипты, разбирают ошибки, правят конфигурации. Это мощный инструмент и прямая угроза рабочим системам. Агент, который «исправил» рабочий скрипт напрямую, остановил загрузку почти двух тысяч документов. С тех пор правило жёсткое: агент работает только с копией, результат проверяется тестом на небольшой выборке, выкатка — с резервной копией и командой отката, всё записывается в журнал. Агенты не трогают файлы с секретами.

Блэкаут у провайдера: сервис стоит, вы ждёте — мультяшный стиль
Блэкаут у провайдера: сервис стоит, вы ждёте.
 — cloud_matrix

Мониторинг

Каждые пятнадцать минут проверяются загрузка видеокарт, доступность языковой модели и её метрики, состояние контейнеров расшифровки, очереди задач и число обработанных документов. Отклонения — сообщением в мессенджер. Цель по загрузке видеокарт — не меньше 90 %: простаивающая карта на дорогом сервере — это деньги, выброшенные на ветер.

 — bay_cyberpunk

Выход в интернет для сбора материалов

Базы знаний собираются из открытых источников, и серверу нужен выход в интернет. Часть источников недоступна из одной страны или ограничивает частые запросы, поэтому загрузка идёт через несколько выходов с повторными попытками, с соблюдением правил robots.txt и паузами между запросами к одному сайту. Важно: исходящий доступ есть только у процессов загрузки, а модели и данные наружу не смотрят.

Письма уходят из горящего облака в надёжное хранилище — кинокадр FLUX.2
Письма уходят из горящего облака в надёжное хранилище.

Резервные копии моделей и данных

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

Переезд из облака на свой сервер — карандашный рисунок
Переезд из облака на свой сервер.

Почему не одна большая модель

Соблазн — поставить самую большую модель, какая влезет. На практике лучше несколько специализированных: компактная быстрая модель для массовой оценки документов, эмбеддинги для поиска, отдельная модель для расшифровки, генераторы для картинок. Большая универсальная модель занимает всю видеопамять и обрабатывает в разы меньше запросов в час, а для задачи «оценить релевантность тысячи документов» её интеллект избыточен. Мы подбираем модель под задачу, а не задачу под модель.

Свой сервер под защитой, пока снаружи шторм — изометрия
Свой сервер под защитой, пока снаружи шторм.

Грабли

Самое ценное в этом разделе — ошибки, которые стоили нам часов.

Ключи от своей почты — у компании — бумажная аппликация
Ключи от своей почты — у компании.
Копия на другой площадке — основа плана Б — живопись маслом
Копия на другой площадке — основа плана Б.

Безопасность своего ИИ

Сервер с моделями доступен только из внутренней сети и через VPN. API моделей закрыт ключами, у каждой программы свой. Данные — на зашифрованных или физически контролируемых дисках, копии — в отдельном пуле и на другой площадке. Журналы запросов хранятся у вас: в отличие от облачного ИИ, вы точно знаете, кто и что отправлял в модель. Подробнее о конфиденциальности локальных моделей — в статье о локальных моделях и конфиденциальности.

Письма переезжают из облака в свой дом — акварель
Письма переезжают из облака в свой дом.

Сколько это стоит в обслуживании

Главные регулярные расходы — электричество, место в стойке или офисе и время администратора. Две RTX 3090 под нагрузкой потребляют сотни ватт каждая, и это нужно учесть при выборе площадки. Обновления моделей и программ выходят часто, и их нужно тестировать: новая версия ComfyUI или vLLM может потребовать других параметров. Поэтому у нас каждое обновление проходит через копию и тест, а не ставится сразу на рабочий сервер.

Пожар в облачном дата-центре и тихая бухта со своим сервером
Авария у провайдера или тишина своего сервера — выбор за компанией.

С чего начать компании

Не нужно сразу строить сервер на две видеокарты. Начните с одной задачи, где облачный ИИ особенно опасен для данных: разбор договоров, расшифровка совещаний, поиск по внутренней документации. Для неё хватит одной видеокарты на 24 ГБ. Как развернуть локальную модель в небольшой компании, — в статье о локальной языковой модели для малого бизнеса. Когда задач станет больше, сервер масштабируется второй картой и расписанием режимов.

Итог

Свой ИИ-сервер на двух потребительских видеокартах закрывает основные задачи компании: языковая модель для документов и кода, поиск по базе знаний, расшифровка, генерация изображений. Данные остаются внутри, лимиты задаёте вы, фильтров чужих правил нет. Цена — грамотная эксплуатация: расписание видеокарт, сторожа памяти, правки через копию. Это та же логика, что со своей почтой: контроль вместо зависимости.

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

Какое железо нужно для своего ИИ-сервера?

Для начала — одна видеокарта на 24 ГБ. У нас две RTX 3090, 64 ядра, около 500 ГБ памяти и ZFS для данных и копий.

Какая языковая модель работает на двух RTX 3090?

У нас — Qwen3-Coder-30B-A3B в FP8 через vLLM, распределённая на обе карты. Это «смесь экспертов»: быстрая при хорошем качестве.

Можно ли одновременно держать языковую модель и генератор картинок?

На двух картах по 24 ГБ — нет. Мы переключаем режимы: база знаний или генерация контента.

Почему расшифровка на процессоре?

Чтобы видеокарты оставались для языковой модели. Шесть экземпляров faster-whisper на 64 ядрах справляются с потоком в фоне.

Подключатся ли программы, рассчитанные на облачный ИИ?

Да: vLLM и LiteLLM дают OpenAI-совместимый API, достаточно сменить адрес и ключ.

Что главное в эксплуатации?

Расписание видеокарт, сторож памяти, правки только через копию и тест, копии данных в отдельный пул и на другую площадку.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

© ООО «АйТи-Фреш» · Москва · Все статьи