Паранойя — главная причина иметь свое железо для AI-проекта, по остальным критериям это невыгодно. Давайте честно разберемся, почему.
Последние пару недель видел посты с расчетами где показывается что-то вроде "После такого-то количества запросов свое железо для LLM-приложения выгоднее?". Мое мнение — вряд ли. Давайте разбираться почему и какие еще есть неэкономические факторы.
Итак, есть 3 принципиальных пути использовать LLM:
1️⃣ Serverless (API) — платишь за токены, т.е. фактическое использование. При чем это могут быть как проприетарные модели (например, OpenAI), так и Open Source модели, которые хостятся например на
together.ai2️⃣ Cloud GPU — арендуешь GPU-cерверы (AWS, Google Cloud, RunPod etc.).
3️⃣ On-prem GPU (или Local GPU) — покупаешь свое железо (ты владеешь сервером, он стоит в серверной стойке, он целиком твой).
Важное допущение: мы говорим про корпоративное использование, а не бытовое, и мы говорим про базовые (foundational) модели, а не файн-тюниг и тд.
В этом посте я не буду приводить калькуляции иначе он получится слишком длинным, покажу лишь суть.
Сравнение стоимости владения (TCO) за 3 года моделей класса Qwen 2.5 32B:
Нагр. |Local|Cloud|API
|GPU |GPU |
--------|-----|-----|-----
1 RPS |≈21K$|≈51K$|≈19K$
86K r/d | | |
--------|-----|-----|-----
5 RPS |≈85K$|≈205K|≈99K
432K r/d| | |
--------|-----|-----|-----
20 RPS |≈335K|≈820K|≈397K
1.7M r/d| | |
Cloud GPU — это самый дорогой вариант, особенно AWS. С self-hosted кажется, что где-то есть "точка окупаемости", ведь вы владеете железом. Но. Представим идеальный мир: модель идеально подобрана под железо, нагрузка всегда ровно 99% (ваше железо используется на полную), цены заморожены, ничего не ломается и не меняется пару лет. Тогда (теоретически!) через два-три-четыре года можно выйти в плюс. Но это фантастика, а не бизнес-кейс.
Реальность другая:
- Экономика минусовая с первого дня — мощное железо нужно сразу, а сотен тысяч запросов сразу не будет.
- Масштабирование будет даваться очень болезненно и дорого.
- Реальные бизнес-метрики — важна не цена запроса, а общая стоимость владения (TCO). При своем железе добавляются: электричество, админ(ы), охлаждение, резервные системы, амортизация.
- Эффект масштаба — облачные провайдеры имеют возможности оптимизации, недоступные для отдельных компаний (распределение нагрузки, bulk discounts, prompt caching, оптимизация инфраструктуры).
- Эволюция моделей — техническая область движется со скоростью света. Модели устаревают за 3-6 месяцев. Вы не сможете их обновлять локально так же быстро как поменять конфиг в API.
- Непредсказуемость нагрузки — ваше железо должно справляться с пиками, но в остальное время простаивает. А с API вы платите только за использование.
- Альтернативные издержки — время и усилия, потраченные на инфраструктуру, можно было бы направить на развитие продукта.
- Гибкость и отсутствие vendor lock-in - при serverless подходе вы можете легко переключаться между провайдерами API. С собственным железом вы "женитесь" на конкретной архитектуре и инфраструктуре на месяцы/годы вперед.
- Не верно будет говорить что API не-приватно, а свое железо - приватно. Во-первых приватность и секьюрность локального решения зависит от того как хорошо вы справляетесь с информационной безопасностью на своем сервере. Во-вторых API бывает разное, с разным SLA, комплаенсом (SOC2, HIPAA, GDPR и т.д.), бывает изолированный контур. Тот же Azure OpenAI гарантирует что данные не покидают ваш cloud-контур).
И самое главное, посмотрите ниже график падения цены на LLM API за 3 года (более чем в 30 раз!). GPU при этом дешевеют очень медленно. Это значит что на дистанции нескольких лет API будет сильно выгоднее чем в таблице выше.
Резюмируя: главный драйвер решения хостить большие модели локально - это только паранойя стейкхолдеров, иногда даже в хорошем смысле — когда есть действительно критичные данные (вроде военных?). Ну или если просто разработчикам хочется покопаться в железках для души :)