От хайпа к стоимости inference: почему ИИ надо считать как производственную функцию
Как перейти от оценки ИИ по демонстрационному эффекту к оценке по реальной экономике запуска модели в продуктиве.
Большинство разговоров об ИИ-проектах сосредоточены на двух моментах: восхищении от демонстрации и подсчёте затрат на обучение модели. Между ними - и после них - остаётся незамеченным вопрос, который в реальной эксплуатации оказывается самым важным.
Сколько стоит один вызов модели? Сколько таких вызовов нужно в сутки? Что происходит с экономикой, когда нагрузка вырастает в десять раз?
Это и есть inference - работа обученной модели в продуктиве. Именно здесь живёт реальная стоимость ИИ.
Почему inference недооценивают
Когда модель обучена и показывает хорошие результаты на тестах, кажется, что самое сложное позади. Модель есть. Она работает. Осталось "просто встроить".
Но обучение - это разовая работа. Inference - это непрерывный операционный процесс. Каждый раз, когда пользователь или система запрашивает результат модели, происходит вычисление. Оно требует ресурсов. Эти ресурсы стоят денег и времени.
Для небольшой нагрузки это незаметно. Для промышленной нагрузки это может быть основной статьёй операционных расходов.
Как думать об inference как о производственной функции
В производстве есть понятие себестоимости единицы продукции. Для ИИ-системы аналог - стоимость одного inference-запроса. И она зависит от нескольких факторов.
Размер модели. Более сложные архитектуры дают лучшее качество, но требуют больше вычислений на каждый запрос. Иногда меньшая модель с чуть худшим качеством даёт в десять раз лучшую экономику при том же бизнес-результате.
Инфраструктура. GPU значительно быстрее CPU для большинства ИИ-задач, но и стоят иначе. Облачные GPU стоят по-разному в зависимости от типа, региона и схемы оплаты - по времени или по запросам.
Батчинг. Обработка запросов пакетами снижает стоимость единицы. Но это требует задержки накопления пакета, что не всегда приемлемо для реального времени.
Кэширование. Многие ИИ-задачи имеют повторяющиеся паттерны. Кэширование результатов может снизить число реальных вычислений в разы - без потери качества для пользователя.
Какие вопросы задавать до запуска
Прежде чем ИИ-решение переходит из пилота в продуктив, я рекомендую ответить на несколько вопросов.
Какова расчётная нагрузка - сколько запросов в час в среднем и в пике? Без этого любые оценки стоимости - в воздухе.
Каков приемлемый лимит задержки ответа? Это определяет, можно ли использовать батчинг или нужен режим реального времени.
Какова экономика одного запроса при текущей архитектуре? Если ответа нет, значит, никто не считал.
Как стоимость меняется при росте нагрузки в два, пять, десять раз? Линейно, или есть точки переключения?
Есть ли альтернатива более лёгкой моделью с приемлемым качеством? Часто 80% качества большой модели достигается за 10% стоимости.
Производственное мышление вместо исследовательского
Академическое и демонстрационное мышление об ИИ оптимизирует качество модели. Производственное мышление оптимизирует соотношение качества и стоимости на единицу полезной работы.
Это не значит брать самую дешёвую модель. Это значит понимать, за что вы платите и что получаете. Для большинства бизнес-задач достаточная точность и предсказуемая стоимость важнее максимальной точности при непредсказуемых расходах.
ИИ-система в продуктиве - это актив с операционными издержками. Управлять им нужно так же, как управляют любым другим операционным активом.