Как прокачать надёжность ML системы

SRE-практики

Доклад принят в программу конференции

Тезисы

Всем нам хорошо известно, что одним из аспектов надёжности является тестирование. За годы разработки в индустрии сформировались практики тестирования классических детерминированных сервисов, где мы можем точно предсказать результат выполнения алгоритма/бизнес логики.

А что делать, если ваша система - ML сервис? Результат модели непредсказуем до тех пор пока не передашь на вход данные и не получишь результат. Но даже зная как себя поведёт конкретная модель на конкретном датасете, после дообучения мы попадаем вновь в начальную точку, когда мы не можем предсказать результат модели на известном наборе данных из-за изменившихся весов. Ситуация усугубляется если у вас цепочка моделей, где результат каждой последующей зависит от предыдущей, а значит и ошибка вносимая одной моделью заведомо вносит ошибку в последующие модели.

Как гарантировать бизнесу высокое качество в столь неопределенной среде? Взяв в качестве примера несколько систем виртуального ассистента Салют я расскажу какую эволюцию мы прошли, какие новые приёмы и метрики придумали для того чтобы гарантировать качество ML системы.

Денис Усачёв

Сбердевайсы

Руководитель Python разработки ML систем NLP платформы в Сбербанке

Видео