Как я запихнул четыре нейросети в одну видеокарту за 30 тысяч рублей
У меня нет дата-центра. У меня есть RTX 3060 Ti — карта, которую любой геймер купит на вторичке за 25-30 тысяч рублей. И на ней должны одновременно крутиться четыре разные модели: одна ищет похожие судебные дела, вторая перефразирует запросы, третья извлекает структуру из текста, четвёртая ранжирует результаты по релевантности. 8 гигабайт видеопамяти на всё про всё. Расскажу, как я разбирался, что где должно жить.
Проблема, о которой никто не пишет в туториалах
Когда собираешь пайплайн из нескольких ИИ-моделей, самое интуитивное решение — закинуть всё на GPU, потому что “на видеокарте же быстрее”. Так я и сделал сначала. Результат — поиск, который должен занимать секунды, растягивался на минуты.
Оказалось, что не все модели одинаково выигрывают от GPU, и не все одинаково тяжёлые. Пока я не сел и не посчитал реальный вес каждой в гигабайтах, я интуитивно распределял ресурсы неправильно — тяжёлые модели, работающие в критическом пути живого запроса пользователя, соревновались за память с моделями, которые нужны редко и не в реальном времени.
Что я понял, когда начал считать вместо того, чтобы гадать
Не каждая модель заслуживает место на GPU просто потому, что она “нейросеть”. Маленькая модель, которая используется в фоне (например, раз в несколько минут при поступлении нового документа), может спокойно жить на CPU и подгружаться по требованию — несколько секунд ожидания там, где это не блокирует живого пользователя, это разумная цена за освобождённую память. А модель, которая работает прямо во время того, как человек ждёт ответ на экране — та должна быть в VRAM всегда, даже если придётся урезать её точность через более агрессивное квантование, лишь бы не заставлять человека ждать лишние секунды.
Почему это вообще важно для стартапа без бюджета
Можно было бы решить проблему прямолинейно — купить видеокарту с 24 гигабайтами памяти. Это стоит как половина того, что я прошу у инвестора на весь сервер. Вместо этого несколько часов вдумчивого распределения моделей по памяти дали тот же практический результат, что и покупка карты в разы дороже. Это не разовый трюк — это подход, который я буду применять и дальше по мере роста продукта: сначала выжать из существующего железа максимум через архитектурные решения, и только потом тратить деньги на апгрейд, когда действительно упрёшься в физический потолок, а не в собственную невнимательность к деталям.
Что дальше
Оптимизация продолжается — впереди ещё квантование моделей и балансировка того, что можно донести до пользователя быстрее без потери качества. Буду делиться, что получается, а что нет — как и всегда, без прикрас.
Напишите мне в Telegram — я покажу, как это работает.
📱 Telegram: @uveen 🌐 Сайт: lawforecast-web.krasotkinnikitushka.workers.dev
P.S Я проверяю свою систему на реальных делах. И приглашаю вас сделать то же самое.