НАУЧНЫЕ ДАННЫЕ ИЗ MARS, ИНЖЕНЕРЫ ПО ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ - ИЗ VENUS (ЧАСТЬ 4)

Жизненный цикл модели: от идеи к ценности

Оценка ценности, открытие, доставка и управление

В Части 1 этой серии мы рассмотрели ключевые различия между программным обеспечением и моделями; в Части 2 мы исследовали двенадцать ловушек отождествления моделей с программным обеспечением; а в Части 3 мы рассмотрели эволюцию моделей. В этой статье мы рассмотрим жизненный цикл модели, от первоначального замысла идеи создания моделей до окончательного извлечения выгоды из этих моделей.

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

Оценка стоимости

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

Понимание бизнеса и данных

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

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

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

Независимо от того, есть ли «толчок» или «тяга» для построения моделей, вот некоторые из ключевых вопросов, на которые компании должны стремиться ответить:

  1. Какова бизнес-цель - бизнес-деятельность, решение или действие, которые необходимо сделать более эффективными или результативными?
  2. Можно ли достичь бизнес-цели с помощью существующих инструментов, программного обеспечения, людей и процессов?
  3. Достаточно ли у нас маркированных данных для построения модели? Если нет, можно ли аннотировать и собирать данные за определенный период времени?
  4. Каковы желаемые критерии эффективности модели для принятия бизнеса?
  5. Как будет использоваться модель при соблюдении бизнес-критериев?

Для ответа на эти вопросы требуется сочетание разных групп - профессионалов в области бизнеса, данных, аналитики и программного обеспечения. Если ответ на вопрос 2 утвердительный, нет необходимости строить модель (с использованием машинного обучения, НЛП, компьютерного зрения). Если ответ на вопрос 2 отрицательный, имеет смысл пройти дальше по списку вопросов. Если ответы на вопросы 3–5 недоступны, группа должна постараться получить ответы, прежде чем приступить к следующему этапу процесса. Чтобы действительно понять всю ценность модели AI / ML, мы утверждаем, что на вопросы 1–5 необходимо ответить, прежде чем двигаться дальше, даже если ответ может быть изменен на основе дальнейших исследований следующих шагов.

Дизайн решения

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

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

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

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

Открытие ценностей

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

Извлечение данных

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

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

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

Предварительная обработка

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

Очистка данных - это подэтап предварительной обработки. Объем необходимой очистки данных зависит от качества данных. Это также зависит от типа данных.

Например, в текстовых документах необходимо пройти ряд этапов предварительной обработки, таких как удаление знаков препинания, выделение корней, лемматизация и т. Д., Прежде чем выполнять задачи НЛП, такие как анализ тональности. В более структурированном наборе данных очистка может принимать форму удаления NAs (поля недоступны) или вменения значений для отсутствующих ячеек.

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

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

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

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

Построение модели

Это один из самых сложных этапов всего процесса открытия. CRISP-DM и другие методологии часто разделяют построение модели и оценку модели на два отдельных этапа. Однако мы сочли полезным объединить эти два аспекта, поскольку считаем, что специалист по анализу данных должен постоянно строить, тестировать или оценивать свои модели.

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

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

Доставка ценности

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

Развертывание модели

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

Например, провайдер телефонной связи создал чат-бота в качестве первой линии поддержки для обработки запросов клиентов; если чат-бот не может ответить на запросы, сеанс чата будет перенаправлен на представителя-человека. Когда модель была развернута после обширного обучения и тестирования, она показала отличную производительность и обработала 95% всех запросов. Однако его производительность начинает ухудшаться каждую неделю, и через несколько месяцев он мог обрабатывать только 80% запросов. При дальнейшем расследовании стало ясно, что модель необходимо переобучать, по крайней мере, еженедельно или ежемесячно, чтобы учесть новые марки, модели и аксессуары для выпускаемых устройств, а также последние маркетинговые кампании компании.

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

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

Переход и исполнение

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

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

Управление ценностями

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

Постоянный мониторинг

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

Оценка и регистрация

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

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

Интересно, что методология CRISP-DM останавливается на развертывании модели и не включает некоторые из дополнительных шагов, которые мы описали выше. Наш девятишаговый процесс проиллюстрирован ниже.

Итерационный процесс

Хотя подробный девятиэтапный процесс был описан последовательно, сам процесс далек от «водопадного» подхода к разработке и развертыванию модели. Жизненный цикл является итеративным с тремя конкретными циклами обратной связи.

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

Процесс жизненного цикла итеративной модели и различные роли, участвующие в процессе, показаны на диаграмме ниже.

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

Авторы: Авторы: Ананд С. Рао, Джозеф Войлс и Шинан Чжан