Большая часть моего предыдущего опыта была связана с традиционными веб-приложениями, поэтому тестирование машинного обучения требовало нового мышления.

Кристофер Клементе

У FloQast есть продукт под названием AutoRec, который помогает бухгалтерам автоматически сверять транзакции из двух разных источников. Уже около года я работаю инженером по качеству в команде, ответственной за систему сопоставления. Это часть приложения AutoRec, которая принимает эти транзакции и пытается предсказать, какие из них согласуются или соответствуют.

Под капотом мы используем машинное обучение для обеспечения подбора игроков. Большая часть моего предыдущего опыта была связана с традиционными веб-приложениями, поэтому тестирование машинного обучения требовало нового мышления.

Насколько это отличается на самом деле?

Тестирование проекта машинного обучения во многом отличается от тестирования веб-приложения, но в первую очередь для инженера по качеству:

  • Мы не обязательно проверяем случаи, для которых мы знаем ожидаемый результат — мы проверяем, что модель может обобщать данные случаи, которых она раньше не видела.
  • Этот набор случаев практически бесконечен.
  • Нас меньше заботит правильность каждого прогноза в данный момент — мы сосредоточены на измерении точности и постепенном улучшении модели.

Излишне говорить… Мне нужна была минута, чтобы переориентироваться.

Другой вид тестирования

Нашей команде нужно было изменить подход к тестированию этого проекта. Традиционные тесты «годен/не годен» по-прежнему имеют здесь свое место. Однако нам нужны были инструменты тестирования, лучше подходящие для машинного обучения, в частности инструменты, предназначенные для измерения и анализа.

Сбор этикеток

Самой важной частью нашего проекта было создание инструмента для сбора лейблов. Вы можете думать о метках как о способе отметить, какие прогнозы являются правильными. Без меток мы не смогли бы измерять точность, обучать новые модели или выбирать наборы данных для проведения экспериментов. В нашем случае, если у нас есть два файла, которые мы прогоняем через механизм сопоставления, наш инструмент отвечает за сбор данных о том, какие строки намеревался сопоставить пользователь.

Точность отчетности

Получив метки, мы можем начать анализировать, как работает модель в целом. В нашем случае мы используем общие метрики точности: Точность и полнота. Короче говоря, точность уменьшится, если модель выдаст больше ложных срабатываний (предсказывает совпадение, которое не помечено как истинное совпадение). Отзыв уменьшится, если модель выдаст больше ложноотрицательных результатов (не предсказывает совпадение, помеченное как истинное совпадение).

Наши инструменты позволяют нам видеть эти показатели на высоком уровне и собирать данные за определенный период времени.

Или просматривать их на низком уровне, например, по заданиям.

Кроме того, мы создали наши инструменты таким образом, чтобы при проведении эксперимента мы могли легко сравнивать производительность двух разных моделей.

Надежный инструмент сравнения

Возможность сравнивать результаты модели с метками оказалась для нас чрезвычайно ценной. Иногда статистика не раскрывает всей истории, поэтому нам нужен был инструмент, который выдавал бы различия на уровне транзакций. Это дает нам представление о том, что делает модель, и помогает указать новые способы обучения.

Тестирование управляет всем

Инструменты, которые мы создали для измерения и анализа производительности модели, потребовали большей части внимания нашей команды и продолжают влиять на принятие большинства наших решений. Усилия команды по тестированию присутствуют на протяжении всего жизненного цикла модели; от экспериментов в тестовых средах до мониторинга производительности в производственной среде. Данные, которые мы получаем от наших инструментов, помогают нам придумывать новые эксперименты для улучшения модели. Эти эксперименты дают больше данных для анализа, и процесс начинается снова. Наша система успешно работает в производстве, но процесс сбора данных, их анализа и внесения повторяющихся изменений продолжается и лежит в основе того, что делает наша команда.

Первоначально опубликовано на https://floqast.com 9 ноября 2020 г.