Сегодня модели ML используются для выдачи кредитов, регулирования движения на дорогах, определения цен на товары и многого другого.
Однако процесс их разработки и запуска в продуктивную среду сложен и полон подводных камней.
Очень часто качество прогноза, основанного на реальных данных, не соответствует ожиданиям пользователей.
Меня зовут Надежда Костякова, я возглавляю отдел анализа данных и машинного обучения в Первой грузовой компании (ФГК).
В этой статье я расскажу о принципах, которым следует наша команда по науке о данных, чтобы обеспечить надежную работу алгоритмов машинного обучения в продуктивной среде.
Какие проблемы возникают при использовании моделей ML?
В 2013 году Kaggle запустила соревнование .Его участники должны были отличить звук, издаваемый китом, от других звуков.
Запуск прошел гладко, и люди начали загружать свои результаты.
Один из них поразил организаторов: он оказался намного выше ожидаемого и достиг невероятных 0,99 ROC AUC. Как оказалось, такого результата удалось добиться даже без чтения звуковых файлов.
Что случилось? Оказалось, что файлы записи кита отличались по длительности от остальных, имели другой формат даты и были сгруппированы по времени.
Организаторы и участники столкнулись с проблемой утечки данных – когда не основные данные, а метаинформация помогали достичь результата.
Это огромная проблема при использовании модели в производстве: в реальных условиях модель не будет иметь таких метаданных, и ее результат будет крайне плохим.
В бизнесе это может привести к значительному экономическому ущербу.
Довольно часто возникают проблемы классификации с сильным дисбалансом групп.
Например, вам необходимо определить наличие опухоли головного мозга по снимкам МРТ.
Поскольку данный вид заболевания встречается достаточно редко, в выборке присутствует большое количество изображений без него.
Что может пойти не так? При оценке качества моделей бинарной классификации часто используются простые и удобные для пользователя метрики, например, Точность — соотношение правильно предсказанных классов относительно всех наблюдений.
Его легко использовать для оценки модели.
Однако в случае несбалансированной выборки такая метрика может дать неверную оценку результирующей модели: если модель не обнаруживает опухоль на всех изображениях, метрика все равно остается высокой из-за большого количества TN. Выбор такой модели приведет к большому ущербу, а в случае выявления опухоли – и к потерянным жизням.
Теперь перейдем к недавнему примеру с «Иксоллой».
Компания хотела выявить неэффективных сотрудников, и отдел, занимающийся анализом больших данных, подготовил отчет об использовании всеми сотрудниками корпоративных инструментов: трекера задач, базы знаний, почты и т. д. Отчет получился исчерпывающим, но сделал ли это решать проблему? Эффективность сотрудников часто трудно выразить в цифрах и показателях.
Данные могут не охватывать значительную часть действий.
Человек может выполнять свои задачи без использования компьютера (звонки, визиты к клиентам и т. д.).
Приходим к выводу, что крайне важна грамотная формализация задачи и правильно очерченные границы применимости модели.
Ошибки моделей ML всегда попадают в заголовки газет, но большинство этих ошибок можно сузить до ограниченного списка причин и, как следствие, найти решение.
Принципы ответственного ИИ приходят на помощь
Развитие ИИ создает новые возможности для улучшения качества жизни людей во всем мире.В то же время важно научиться строить справедливые, интерпретируемые и безопасные системы, которые будут предоставлять объективные данные, соответствующие реальности.
Google недавно представил набор принципов, соблюдение которых поможет облегчить некоторые проблемы, связанные с разработкой моделей.
- Ориентация на пользователя при разработке моделей и систем
То, как люди используют вашу систему, имеет решающее значение при разработке моделей.Для правильной интерпретации результатов необходимо правильно сформулировать решаемую задачу и понять контекст использования модели.
В качестве примера приведу разработку одной из наших моделей, которая прогнозирует дату прибытия автопарка для клиентов.
При формализации задачи мы провели анализ и обнаружили, что неточности прогноза воспринимаются по-разному.
Например, если карета приезжает раньше срока, это не так расстраивает клиента, как факт опоздания.
Принимая это во внимание, мы скорректировали нашу функцию оптимизации, чтобы уменьшить количество «заниженных прогнозов».
- Использование нескольких метрик для оценки модели.
Это поможет вам полностью оценить качество модели — рассмотрите ее с нескольких сторон.
Показатели качества, используемые специалистами по машинному обучению, как правило, отличаются от показателей, используемых представителями бизнеса, причем бизнес-показатели обычно проще и понятнее.
Кроме того, при непосредственной разработке полезно одновременно смотреть на разные показатели.
- Понимание данных для построения модели является ключевым моментом.
Качество модели во многом зависит от качества данных, на которых она обучалась и на которых она будет использоваться.
Нам необходимо учитывать пробелы в данных и их причины, различное распределение данных во время обучения и тестирования, соответствие нашей выборки генеральной совокупности и многое другое.
Именно поэтому процесс подготовки и анализа данных всегда играет важную роль при разработке моделей.
- Понимание и информирование об ограничениях вашего набора данных и данных.
Модели основаны только на закономерностях, существующих в данных.
Важно понимать существующие ограничения и тем более рассказывать о них пользователям и клиентам.
Хорошим примером является модель, разработанная специалистами Amazon, отдавшая предпочтение мужской аудитории.
Подготовленный набор данных не был проанализирован в достаточной степени, что привело к неправильной интерпретации результатов модели.
- Тест
Тестирование является ключом к созданию стабильной и надежной системы и тесно связано с процессом разработки.Тестирование не менее важно при разработке моделей.
Мы также столкнулись с важностью этого этапа при разработке одной из наших моделей.
Его исключение, а также отказ от валидации перед отправкой модели в производство может привести к существенным ошибкам и неприятным последствиям для бизнеса.
Но, к счастью, в ходе тестирования все выяснилось, и правильный сервис пошел в промышленную эксплуатацию.
- Продолжайте следить за производительностью вашей модели после ее запуска в производство.
Мир меняется, дистрибутивы в обучении отличаются от дистрибутивов в продакшене, пользователи взаимодействуют с моделью.
Поэтому работа специалистов не может закончиться на этапе разработки.
Необходимо постоянно смотреть на меняющийся контекст, чтобы гарантировать, что модель всегда служит своему прямому назначению.
Широкое внедрение технологий ML только начинается, и очевидно, что мы еще не уловили всех проблем, которые могут возникнуть в этой области.
Однако некоторые из них вы уже можете попробовать решить, придерживаясь описанных выше принципов.
Необходимо постоянно развиваться в этом направлении и говорить о возникающих трудностях.
Именно так мы все можем прийти к ответственному ИИ.
Примеры я брал в этих статьях, подробнее вы можете прочитать: https://www.capitalone.com/tech/machine-learning/10-common-machine-learning-mistakes/ https://hyperight.com/deep-learning-and-healthcare-breaking-new-ground-with-brain-tumour-segmentation/ https://ai.google/responsibilities/responsible-ai-practices/ Теги: #Машинное обучение #машинное обучение #наука о данных
-
Гангстерский Бизнес
19 Oct, 24 -
С Помощью Или Средствами
19 Oct, 24 -
Новая Сборка Оперы 10 (1285)
19 Oct, 24 -
Sioc Теперь Находится Под Контролем W3C
19 Oct, 24