Развернуть свою LLM или на API-шке заведется?
В прошлом посте считали стоимость инференса своей LLM. Может, ну его нафиг, и будем просто OpenAI за токены платить? Вопрос не простой. Правильный ответ зависит от того, на какой стадии проект и от его ограничений. Стадий всего две. Ограничений — поболее. Теперь по порядку.
Две стадии AI-проекта: MVP и масштабирование
1) MVP. Цель — получить сигнал, что продукт реально решает проблему и растит бизнес-метрику. Опросы пользователей, оффлайн-метрики, A/B-тесты — отсюда получаете сигнал.
2) Масштабирование. Сигнал получили, теперь раскатываем решение в прод. Здесь уже думаем про железо, стоимость, безопасность, SLA — всё то, на что было плевать вчера.
Это две разные задачи с разными рисками. И модели под них нужны разные (подробнее про стадии проекта в статье).
MVP: только API, только хардкор
Главный риск на старте — закопать месяцы в проект, который вообще не надо было делать. Поэтому на стадии MVP запрещено думать про стоимость инференса, скорость работы и безопасность. Главная метрика — скорость проверки гипотезы. Каждая инвестиция в AI-инфраструктуру — бездарно потраченное время.
Отсюда правило: берём самую толстую API-модель, которая есть на рынке. Если уж она задачу не вытянет, можно честно закрывать проект и идти делать следующий.
Масштабирование: когда API может не тянуть
Сигнал получили, продукт нужен, начинаем думать, стоит ли слезать с API. Причины для слезания:
1. Безопасность данных. 99% реальных причин ухода с API. Регуляторка, персональные данные, банковская тайна, корпоративные секреты и тд.
2. Медленно. Редкая история. Современные провайдеры используют много примочек и сильно разогнали инференс. У вас, скорее всего, сильно быстрее не получится.
3. Дорого. Тоже редкий случай. Платите за GPU вы постоянно, но нагрузка у вас пикообразная. Ночью пользователи спят. Днём работают. В ваш сервис реально ходят несколько часов в день, а карты постоянно в вашем P&L. В API вы платите строго за токены, что использовали. И не забудьте про команду, которая должна инференс поднять и поддерживать. Опенсорс становится дешевле если: (а) у вас реально большой трафик (б) вы умеете грамотно утилизировать железо в провалах — сдувать ночью, поднимать днём, шарить между задачами. Вывод: в 99% кейсов API дешевле, чем свой инференс. Если вам кажется иначе — посчитайте ещё раз.
Как делать Масштабирование на опенсорсе
1) Пробуем самый большой опенсорс. Да, он хуже топовых API-моделей. Но разрыв меньше, чем принято думать. Если экономика сходится — вы восхитительны, можно больше ничего не делать.
2) Если экономика не сходится — дистиллируем. Учим маленькую модель на ответах большой. Это вот ровно тот кейс, где оправданно обучать свои модели. Маленькая модель запоминает паттерны большой, теряет широту (на задачах за пределами вашего домена она будет тупить), зато выигрывает порядок по железу. Но на широту вам обычно пофиг, лишь бы конкретно вашу задачу более менее решала. При правильной дистилляции реально сжать модель на порядок.
Резюме: итоговый алгоритм
1. MVP → самая большая API-модель. Ищем сигнал, что продукт решает проблему.
2. Сигнал получили + с безопасностью ок + скорость норм + экономика сходится → остаёмся на API.
3. Данные отправлять нельзя → разворачиваем самый толстый опенсорс.
4. Опенсорс не лезет в экономику → дистилляция под ваш домен.
5. Всё остальное (дообучаем модель, чтобы она поумнела; поднимаем свой инференс, чтобы сэкономить на API; перебираем опенсорсы на MVP) — от лукавого.