Роман Чеботарев — КРОК — ICBDA2016
Transcript of Роман Чеботарев — КРОК — ICBDA2016
![Page 1: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/1.jpg)
Model Governanceили почему падает точность прогноза
Роман ЧеботаревРуководитель практики «Прогнозная аналитика и машинное обучение»
ICBDA 2016
![Page 2: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/2.jpg)
О чем разговор?
Очевидный фактЕсли оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать
![Page 3: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/3.jpg)
О чем разговор?
Очевидный фактЕсли оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать
Очевидное следствиеПрогнозные модели и процессы нужно обслуживать и обновлять
![Page 4: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/4.jpg)
О чем разговор?
Очевидный фактЕсли оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать
Очевидное следствиеПрогнозные модели и процессы нужно обслуживать и обновлять
Неочевидное следствие #1Обслуживать и поддерживать бывает сложнее, чем внедрять
Неочевидное следствие #2 Очень часто автоматизация процесса только вредит
![Page 5: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/5.jpg)
НЕ мотивирующие примеры из жизни
fckp пример #1
В маленький магазин уехала фура водки, т.к. процесс заказа был полностью автоматизирован, а прогноз был посчитан для другого типа товара из-за ошибки при обновлении справочников (тоже автоматическом)
![Page 6: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/6.jpg)
НЕ мотивирующие примеры из жизни
fckp пример #1
В маленький магазин уехала фура водки, т.к. процесс заказа был полностью автоматизирован, а прогноз был посчитан для другого типа товара из-за ошибки при обновлении справочников (тоже автоматическом)
fckp пример #2
Чуть было не остановили несколько агрегатов на станции, т.к. получили прогноз погоды от поставщика с нулями (ошибка на стороне поставщика). Система решила, что наступила «зима», столько оборудования не нужно и выдала рекомендацию «отключить»
![Page 7: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/7.jpg)
Что происходит
Пилот
время
эффект
![Page 8: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/8.jpg)
Что происходит
Пилот Внедрение
время
эффект
![Page 9: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/9.jpg)
Что происходит
Пилот Внедрение Эксплуатация
время
эффект
![Page 10: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/10.jpg)
Что происходит
Пилот Внедрение Эксплуатация
время
эффект ожидание
![Page 11: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/11.jpg)
Что происходит
Пилот Внедрение Эксплуатация
время
эффект ожидание
реальность
![Page 12: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/12.jpg)
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)
• Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования)
![Page 13: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/13.jpg)
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)
• Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования)
Внутренние факторы
• Сбор и хранение данных (какие системы есть и какие данные поставляют)
• Аналитические процедуры (обработка данных и прогнозирование)
![Page 14: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/14.jpg)
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)
• Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования)
Внутренние факторы
• Сбор и хранение данных (какие системы есть и какие данные поставляют)
• Аналитические процедуры (обработка данных и прогнозирование)
Изменения внешних факторов, как правило, приводит к ухудшению точности прогнозирования
![Page 15: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/15.jpg)
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)
• Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования)
Внутренние факторы
• Сбор и хранение данных (какие системы есть и какие данные поставляют)
• Аналитические процедуры (обработка данных и прогнозирование)
Изменения внешних факторов, как правило, приводит к ухудшению точности прогнозирования
Неучтенные изменения внутренних факторов чаще всего приводит к отказу или непредвиденному поведению
![Page 16: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/16.jpg)
Детализация рисков
Входные данные Прогнозные модели Выходные данные
![Page 17: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/17.jpg)
Риск – отказ системы или некорректное поведение из-за ошибок во входных данных
Входные данные Прогнозные модели Выходные данные
Детализация рисков
![Page 18: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/18.jpg)
Риск – отказ системы или некорректное поведение из-за ошибок во входных данных
Риск – снижение точности прогноза при отсутствии контроля и обновлений
Входные данные Прогнозные модели Выходные данные
Детализация рисков
![Page 19: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/19.jpg)
Риск – отказ системы или некорректное поведение из-за ошибок во входных данных
Риск – снижение точности прогноза при отсутствии контроля и обновлений
Риск – execution неверных решений из-за недостаточной проработки вопросов автоматизации
Входные данные Прогнозные модели Выходные данные
Детализация рисков
![Page 20: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/20.jpg)
Риск – отказ системы или некорректное поведение из-за ошибок во входных данных
Риск – снижение точности прогноза при отсутствии контроля и обновлений
Риск – execution неверных решений из-за недостаточной проработки вопросов автоматизации
Data Governance Model Governance Process Governance
Входные данные Прогнозные модели Выходные данные
Детализация рисков
![Page 21: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/21.jpg)
Представьте, что модель – это автомобиль
![Page 22: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/22.jpg)
Представьте, что модель – это автомобиль
ПОМЕНЯТЬ МАСЛОНУЖНО ЗАПРАВИТЬСЯ
ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС?
МОЖЕТ ПРОДАТЬ?
НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ?ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ?
КУПИТЬ ДЕТСКОЕ КРЕСЛО
ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК?
CHECK-ENGINE
![Page 23: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/23.jpg)
Представьте, что модель – это автомобиль
ПОМЕНЯТЬ МАСЛОНУЖНО ЗАПРАВИТЬСЯ
ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС?
МОЖЕТ ПРОДАТЬ?
НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ?ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ?
КУПИТЬ ДЕТСКОЕ КРЕСЛО
ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК?
CHECK-ENGINE
• Параметры для постоянного контроля• Регулярные процедуры обслуживания по расписанию / по событию• Выраженные сезонные эффекты• Периодическая замена частей• Когда-нибудь приходит время просто поменять целиком
Тоже самое с прогнозными моделями и аналитическими процессами!
![Page 24: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/24.jpg)
Model Governance по принципу champion-challenger
![Page 25: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/25.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
champion
…𝑡 2𝑡1
![Page 26: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/26.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
challenger
champion
…𝑡 2𝑡1
![Page 27: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/27.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]
challenger
champion
тест #1
…𝑡 2𝑡1
![Page 28: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/28.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion
challenger
champion
archive
тест #1
>
…𝑡 2𝑡1
![Page 29: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/29.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2
challenger
champion
archive
тест #1 тест #2
>
…𝑡 2𝑡1
![Page 30: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/30.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2
challenger
champion
archive
Х
тест #1 тест #2
> <
…𝑡 2𝑡1
![Page 31: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/31.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2
challenger
champion
archive
Х
тест #1 тест #2 тест #3
> <
…𝑡 2𝑡1
![Page 32: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/32.jpg)
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2
challenger
champion
archive
Х
тест #1 тест #2 тест #3
> < >
…𝑡 2𝑡1
![Page 33: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/33.jpg)
Нюансы подходаили слайд для технарей
1. Используются ансамбли (ensebmles) моделей• Добавляется новая модель в ансамбль, переобучаются веса. Модели с низкими весами
исключаются• (или) переобучается ансамбль целиком
2. Используется online machine learning – нужно снимать snapshot’ы моделей с некоторой частотой
3. Не всегда много данных это хорошо. Часто лучше обучаться на последних данных и не использовать всю доступную историю
4. Если метрика качества рассчитывается на длинном промежутке времени – ничего не поделаешь, нужно также увеличивать продолжительность тестов
5. Блендинг прошлых моделей-champion’ов – плохая идея, если модели не time-aware (в явном виде учитывают время в данных)
![Page 34: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/34.jpg)
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату
![Page 35: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/35.jpg)
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату
2. Ваши модели и процессы устойчивы к расширению входных данных
![Page 36: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/36.jpg)
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату
2. Ваши модели и процессы устойчивы к расширению входных данных
3. Вы понимаете, что произойдет, если будут проблемы с входными данными• Отсутствие или пропуски в данных• Аномальные всплески
![Page 37: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/37.jpg)
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату
2. Ваши модели и процессы устойчивы к расширению входных данных
3. Вы понимаете, что произойдет, если будут проблемы с входными данными• Отсутствие или пропуски в данных• Аномальные всплески
4. Вы уверены, что прогнозные данные проверяются системой-потребителем перед исполнением
![Page 38: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/38.jpg)
Простые, но важные выводы
1. Использование Machine Learning – это постоянный процесс, а не проект. Аналитические системы нужно постоянно обслуживать и обновлять
![Page 39: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/39.jpg)
Простые, но важные выводы
1. Использование Machine Learning – это постоянный процесс, а не проект. Аналитические системы нужно постоянно обслуживать и обновлять
2. Автоматизация жизненного цикла – это непросто, автоматизируйте постепенно и только после «ручного периода»
![Page 40: Роман Чеботарев — КРОК — ICBDA2016](https://reader035.fdocument.pub/reader035/viewer/2022062503/58efac661a28ab1c5d8b4607/html5/thumbnails/40.jpg)
Спасибо за Ваше время и внимание
Роман ЧеботаревРуководитель практики «Прогнозная аналитика и машинное обучение»
email: [email protected]: roman.s.chebotarevslack: convex (OpenDataScience)habr: convex