Каскад моделей

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

Похожие термины

Ещё термины: Основы ИИ