В прошлом году я написал пост Машинное обучение @ Monzo в 2020 году, когда мы начали набор сотрудников в команду. Сезон приема на работу продолжается уже некоторое время, и один из вопросов, которые я получаю от кандидатов, которые просмотрели мой предыдущий пост, - это что изменилось, а что осталось прежним?

Высокоуровневая структура Data Science в Monzo радикально не изменилась: машинное обучение - одна из областей, которые подпадают под общий зонтик Data Science, наряду с Data Platform Engineering, Analytics Engineering, Product Data. Наука, Наука принятия решений и Наука о данных в определенных областях, таких как Операции и Заимствования.

Мы также не изменили форму работы. Люди со словом машинное обучение в названии своей должности тратят свое время на проектирование, создание и анализ систем, использующих машинное обучение: мы специалисты по данным типа B. Наше влияние измеряется не нашими моделями, а тем, насколько эффективны эти модели при использовании.

Итак, что изменилось?

Интерес к машинному обучению в компании Monzo вырос благодаря нашей работе с финансовыми преступлениями

Существует множество различных видов мошенничества, которые используются для того, чтобы обмануть клиентов всех банков и заставить их отправлять деньги мошенникам: мошенничество или мошенничество могут быть как разрушительными для наших клиентов, так и очень дорогостоящими для Monzo.

В начале 2020 года, примерно в то же время, когда мир закрывался из-за пандемии, мы выпустили нашу первую модель обнаружения мошенничества. После нескольких итераций этой модели и (что особенно важно), работая над тем, как наши системы использовали эти прогнозы модели, мы смогли существенно повлиять на эту проблему. Эта система недавно была номинирована на премию 2021 Tackling Economic Crime Awards в номинации Выдающаяся профилактическая инициатива.

В конце прошлого года я также назначил одного из наших специалистов по машинному обучению, Данаи, руководителем отдела машинного обучения Fincrime - с тех пор эта область набирает обороты. Мы перешли к применению того же методологического подхода к другим типам распространенных мошенников, и сегодня это остается активной и важной частью нашей работы.

Обнаружение мошенничества - увлекательная область с точки зрения машинного обучения: она динамична, быстро движется, содержит много данных и сильно несбалансирована. Это побуждает нас мыслить прагматично и творчески, тесно сотрудничать с экспертами в предметной области, которые уже видели подобные мошенничества, и оставаться ближе к клиентскому опыту. Работа в этой области расширила наше использование теневых развертываний и вновь подчеркнула важность сквозной работы: точные модели, которые не используются для запуска правильных типов вмешательств, неэффективны.

Одним из интересных побочных эффектов внедрения такого количества систем для борьбы с финансовыми преступлениями (и празднования их успеха) является то, что это побудило другие части Monzo задуматься о том, как они могут применить машинное обучение в своей собственной области: как мы можем применить машинное обучение в областях бизнеса, с которыми мы раньше никогда не работали. Их много, и одна из причин, по которой мы продолжаем расширять команду, заключается в том, что мы также можем войти в эти области.

Машинное обучение увеличилось втрое и изменило форму

В конце 2020 года команда состояла из двух ученых по машинному обучению (Данаи и Элли) и меня. Раньше мы чередовали встраивание себя в продуктовые / инженерные команды и приглашение других присоединиться к нам для работы над конкретными проектами, и, как правило, мы ставили собственные цели.

С начала 2021 года мы приняли на работу трех новых специалистов по машинному обучению (Анна, Ибрагим и Курт) и приняли в команду нашего первого Backend-инженера (Чарли). И мы продолжаем расти! У нас есть четыре новых человека, которые присоединились или согласились присоединиться к нашей команде в ближайшие месяцы.

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

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

Все новые участники присоединяются к хабу с проектом, который требует от них прохождения полного жизненного цикла системы машинного обучения в течение первых 3 месяцев. Это может показаться довольно устрашающим! Тем не менее, недавно мы использовали эти адаптивные проекты для улучшения наших систем классификации текста и изображений, а также для создания новой модели для решения проблем с безопасными платежами в 3D.

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

Одна из проблем с начала пандемии заключалась в том, что мы превратились в преимущественно распределенную команду и еще не все были вместе в одной комнате: мы пытаемся преодолеть это, находя хороший баланс между синхронизацией. и асинхронная работа. Мы также находимся на той стадии, когда все ученые, занимающиеся машинным обучением, подчиняются мне; это одна из причин, по которой мы начинаем нанимать менеджеров по машинному обучению, которые могут тесно сотрудничать с людьми, занимающимися продуктами, разработкой, данными и машинным обучением в районе Monzo.

Управление моделью: управление рисками в областях с высокой степенью воздействия

В прошлом многие области, в которых мы применяли машинное обучение, не требовали очень строгого управления моделями. Например, когда мы отправляем новую модель ранжирования статей справки, мы могли бы сосредоточиться на демонстрации ее влияния с помощью A / B-теста. По мере того, как мы переходим к более важным областям, это начало меняться.

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

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

Наша инфраструктура машинного обучения продолжает развиваться

Широкий способ, которым мы занимаемся машинным обучением, не претерпел радикальных изменений: мы выполняем много работ по проектированию функций и аналитике в нашем стеке данных, мы обучаем модели на платформе GCP AI, и мы отправляем живые модели логического вывода в виде микросервисов Python в наш производственный стек AWS.

Одно из основных изменений, произошедших с прошлого года, заключается в том, что теперь мы используем пакетное машинное обучение чаще, чем раньше. Это задания, которые выполняют прогнозы для набора подходящих пользователей с заданной частотой (например, ежедневно или еженедельно) и часто являются наиболее распространенным шаблоном машинного обучения в отрасли. Мы не использовали его раньше, потому что типы проблем, которые мы решали, требовали вывода в реальном времени (например, создание прогноза для транзакции), но теперь мы все больше работаем в тех областях, где пакетный является правильным подходом. Например, недавно мы оценивали модель, которая направлена ​​на обнаружение уязвимости потребителей (у Управления финансового надзора есть документ на эту тему).

Второе самое большое изменение, которое я отметил выше, - это то, что к команде присоединился Backend Engineer, проработавший в Monzo несколько лет (Чарли). Раньше, если бы у нас была необходимая инфраструктура, мы строили бы ее сами. Самостоятельное выполнение такой работы приводит к трудному решению: когда мы будем создавать инфраструктуру или итерировать ее, а не выпускать новую модель?

Например, в конце прошлого года я писал в блоге о создании магазина функций. Эта система теперь поддерживает шесть критически важных систем машинного обучения в нескольких областях Monzo, и Чарли оптимизировал систему, чтобы ускорить прием данных в 3000 раз. Более быстрый и надежный прием данных означает более свежие функции, что означает более точные прогнозы и открывает дверь для использования нашего хранилища функций для большего количества вариантов использования: поэтому эта работа по оптимизации имеет каскадный эффект.

В ближайшем будущем мы собираемся пересмотреть некоторые другие наши компоненты (например, обслуживание моделей на Python, управление артефактами модели), чтобы найти аналогичные возможности. На мой взгляд, это основа для будущей команды ML Ops в Monzo - и для этих двух областей будет критически важно оставаться очень близко друг к другу.

Какие основные выводы?

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

Мы - растущая команда, которая набирает обороты в ключевых частях Monzo. Разнообразие нашей команды - одна из наших сильных сторон, и это не остается незамеченным руководством компании. На следующем этапе нашего роста мы добавим еще четырех специалистов по машинному обучению и увеличим глубину и широту машинного обучения, которое мы делаем во всей компании.

Мы продолжаем избегать «перебрасывания проблем через стену», поэтому мы создаем системы и повторяем модели машинного обучения, работая в тесном сотрудничестве с другими, вместо того, чтобы думать о границах команды. Мы по-прежнему не относимся к тем командам машинного обучения, которые думают о продвижении передовых технологий или публикации на научных конференциях; мы измеряем наш успех по тому влиянию, которое мы оказываем на клиентов и Monzo.

Если такие вещи вас волнуют, переходите на страницу нашей карьеры!