Это было утро понедельника. Луиза смотрела в свой монитор. В последние месяцы она работала над своей моделью машинного обучения (ML). После тяжелой работы и даже потери части прошедших выходных теперь казалось, что она готова представить результаты. Ее начальник попросил ее использовать машинное обучение, чтобы помочь отделу продаж найти наиболее многообещающие запросы клиентов. Это было полгода назад.

Первоначально она связалась с отделом продаж, чтобы узнать, какие данные о продажах могут быть полезны для такой модели. Она точно не встретила большого энтузиазма по поводу своей просьбы. Они сказали ей, что это очень конфиденциальные данные, тем более что с введением законов о конфиденциальности GDPR. Они даже не хотели обсуждать, какие у них были с ней данные. Только после того, как она сообщила о ситуации своему боссу, и он встретился с руководителем отдела продаж, чтобы напомнить последнему, что они действительно обсуждали это, цех согласился предоставить ей анонимные данные на USB-накопителе.

Они, вероятно, взорвались бы, если бы узнали, что она анализирует его дома на своем настольном компьютере с Windows, который компания предоставила ей, но с частным подключением к Интернету. Ходили слухи, что «настоящие» ИТ-специалисты не используют Windows. Они использовали только операционную систему Linux. Луизе было все равно. Она никогда не использовала Linux. Python и многие другие инструменты отлично работали под Windows. Тот факт, что она работала из дома, означал, что у нее не было проблем с брандмауэрами и т. д. Установка обновлений Python на свой компьютер, хотя получение прав администратора для этого было еще одной битвой некоторое время назад.

В любом случае, отчеты, которые она писала для своего босса и вышестоящего руководства, должны были создаваться с использованием пакета MS Office, и она научилась использовать его под Windows.

Теперь модель наконец-то была готова. На самом деле, по ее опыту, модель никогда не была готова. Но этого было достаточно, чтобы представить результаты ее «заинтересованным сторонам», тем, у кого был деловой интерес к результатам, которые она собиралась представить.

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

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

Проблемы начались после этого. Глава отдела продаж спросила, какие шаги потребуются, чтобы установить этот «инструмент» на рабочие столы всех ее сотрудников. Луиза не думала, что это был справедливый вопрос. Она была специалистом по данным, а не специалистом по автоматизации. Ее босс ответил за нее, что им нужно будет разобраться в этом и вернуться к продажам с ответом. После этого он сказал ей провести расследование и сделать предварительное предложение.

История о трех трубопроводах

Луиза некоторое время обдумывала просьбу своего босса. Она провела небольшое исследование в Интернете и назначила встречу с некоторыми из продавцов, которые должны были стать благотворителями ее «инструмента», чтобы провести «сбор требований». Как она уже опасалась, эти люди не собирались устанавливать Python, запускать его из командной строки и вводить параметры через клавиатуру. Они хотели «правильное приложение» с графическим пользовательским интерфейсом (GUI).

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

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

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

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

  • Работа велась в соответствии с «гибкими» принципами, а это означало, что Луиза (и некоторые продавцы, которых она мудро пригласила вместе) могли на регулярной основе следить за ходом выполнения заявки и давать отзывы о том, что им понравилось, а что нет. нравиться. Кроме того, отдельные задачи были распределены очень прозрачным образом, что означало, что каждый мог видеть, над чем работают все остальные, и разработчики могли выбирать задачи, для которых они чувствовали себя наиболее подходящими.
  • Они использовали общую систему «версионирования кода», что означало, что они могли работать над разными частями кода одновременно, не саботируя работу друг друга. Кроме того, если изменение в коде окажется ошибочным или нежелательным, они всегда могут вернуться к более старой (рабочей) версии своего кода и начать заново с нее.
  • Как только они загрузили («закоммитили») какой-то новый код, произошло какое-то волшебство: код был немедленно и автоматически протестирован, построен, интегрирован в более крупный проект, снова протестирован и, наконец, развернут на тестовом сервере, с которого можно было отслеживать ход выполнения приложения. быть осмотрены. Принцип, который, по-видимому, был известен как «непрерывная интеграция/непрерывное развертывание/доставка» (CI/CD).

Все это было известно как «конвейер DevOps». До сих пор Луиза всегда думала о подготовительной обработке данных для своих моделей как о «конвейере». По-видимому, в вычислительной технике существовало более одного типа конвейера. Кроме того, она поняла, что есть много аспектов конвейера DevOps, которые она могла бы с пользой использовать при разработке моделей машинного обучения. Версии кода и даже данных могут пригодиться, если ей когда-нибудь понадобится устранить недавно введенную шину или продемонстрировать работу модели в определенный момент времени аудиторам. Автоматические тесты, безусловно, звучали красиво…

Незаметно для нее, она собиралась познакомиться с другим видом трубопровода. Встретившись со своей старой подругой Сильвией, коллегой, которую она не видела целую вечность, Сильвия сказала ей, что сейчас она занимается подготовкой аналитических отчетов для руководства. Судя по всему, работа Сильвии во многом была похожа на ее собственную. Аналитики данных брали данные из баз данных операций компании (опять же, таких как база данных продаж, а также финансов, цепочки поставок и т. д.) и объединяли эти данные в отчеты, которые давали руководству обзор деловой ситуации почти в реальном времени. Для обеспечения последнего данные в одночасье брались из операционных систем и после некоторой обработки сохранялись в хранилище данных (ХД). Процесс, известный как «Извлечение-Трансформация-Загрузка». Оттуда его можно использовать для отображения через другие онлайн-системы, известные как системы «бизнес-аналитики». Луиза поняла, что при прямой связи между ее моделью и соответствующим DWH она может в любой момент переобучить свою модель и, более того, сразу применить модель для прогнозирования…

Заключение

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

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

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