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

1. Люди

2. Ингредиенты и данные

3. Оборудование и технологии

4. Процессы

Люди

Самая очевидная разница - количество вовлеченных людей. Когда вы готовите дома, это, вероятно, только вы или, возможно, вы и ваш партнер. На кухне ресторана в приготовлении каждого блюда могут быть задействованы два или три человека. Чтобы подать еду целиком, вам нужно намного больше. Когда вы переводите модель из стадии разработки в производство, вам нужно гораздо больше, чем просто специалист по данным, который ее построил. Вам также понадобится инженер по данным, руководитель аналитики, ИТ и бизнес-подразделений. Больше людей должно знать о модели, как понять ее идеи, как повторить ее производительность и свою роль в ее развертывании.

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

Ингредиенты

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

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

Оборудование

В-третьих, нужно учитывать используемое оборудование и технологии. Вы знаете свою духовку и плиту, а также свои ножи, сковороды и посуду. Однако в ресторане больше духовок, больше холодильников, больше сковород, а также новое оборудование, такое как фритюрница, сковородка и печь для пиццы. Такая же ситуация возникает при вводе модели в действие. Теперь вам нужно позаботиться о работе с программным обеспечением CI / CD, создании пакета модели, обеспечении того, чтобы код модели был помещен в правильный репозиторий Git, и о любом модульном тестировании. Также могут возникать проблемы, связанные с новым оборудованием и технологиями, которые добавляются для обеспечения максимальной стоимости бизнеса. Например, использование датчиков Интернета вещей может привести к тому, что ваши модели должны будут работать с PyTorch Mobile, а не PyTorch, что обеспечит меньшую вычислительную мощность. Это, в свою очередь, может означать, что вы не можете упростить столько уровней в своей модели глубокого обучения. Все это влияет на переход от среды разработки к среде производства.

Процессы

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

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

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

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

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

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

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

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

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