Абстрактный

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

Введение

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

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

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

Хотя основные функциональные области (разработка, развертывание, обслуживание) остаются одинаковыми между универсальной и специализированной платформой ML, но специализированная платформа ML расширяет возможности, т.е. расширенные модели (стабильное распространение, внедрение), векторные базы данных, библиотеки, например, LangChain, PyTorch. для решения таких случаев использования, как генерация текста, чат-бот, обобщение, генерация изображений и ответы на вопросы. Попытка инкапсулировать возможности как универсальной, так и специализированной платформ машинного обучения в единой структуре не соответствует требованиям этой статьи. Следовательно, в этой статье мы углубимся в особенности универсальной платформы ML, сосредоточив наше внимание на следующих 5 аспектах:

  1. Подчеркните причины, по которым организациям нужна платформа машинного обучения, и ценность, которую она обеспечивает для бизнеса.
  2. Получите представление о типах пользователей и определите целевые варианты использования.
  3. Разработать концептуальную модель платформы ML.
  4. Установите компоненты и возможности платформы ML.
  5. Наконец, мы рассмотрим инициирование создания платформы ML внутри организации, сопровождая ее ключевыми предложениями.

1. Почему организациям нужна платформа ML

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

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

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

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

Ценность для бизнеса

Некоторые из ключевых бизнес-ценностей, которые организация может извлечь из хорошо спроектированной платформы ML:

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

2. Личности пользователей и целевые варианты использования

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

Персонажи пользователей:

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

Эти специалисты по МО будут обладать разными наборами навыков, предпочтениями и требованиями. Ученые, работающие с данными, часто преуспевают в статистических инструментах и ​​блокнотах Jupyter, но им может быть менее комфортно с контролем версий модели ML. С другой стороны, разработчики программного обеспечения обладают навыками кодирования компонентов обслуживания ML, но могут иметь меньший опыт в статистических инструментах. Талантам, не связанным с машинным обучением, то есть малым и средним предприятиям и менеджерам по проектам, будет более интересно узнать о данных и моделях через интуитивно понятные интерфейсы пользовательского интерфейса без написания SQL-запросов или доступа к блокноту Jupyter.

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

Целевые варианты использования:

Теперь давайте переключим внимание на типы вариантов использования в реальном мире. Когда я упоминаю «сценарии использования», я не имею в виду конкретно отдельные бизнес-проблемы. Вместо этого я сосредоточусь на том, как команды воплощают свои модели в жизнь, чтобы другие могли использовать их и приносить реальную пользу. Существует два способа применить модель на практике: (А) пакетный вывод или (Б) онлайн вывод . В конечном счете, каждый вариант использования в бизнесе будет принадлежать к одной из этих категорий. Давайте рассмотрим детали ниже.

(A) Пакетный вывод

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

Пример: сегментация клиентов, прогнозирование продаж, прогнозирование спроса, показатели оттока и т. д.

(Б) Онлайн-вывод

  • Прогнозы генерируются на основе одного наблюдения данных во время выполнения.
  • Может быть сгенерирован в любое время суток по запросу.
  • Прогнозы модели используются мгновенно.
  • Соглашение об уровне обслуживания для задержки прогнозирования составляет несколько сотен мс, т. е. 100 мс.

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

3. Платформа ML — концептуальная модель

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

А. Для начала мы определим высокоуровневые функциональные области машинного обучения.

Б. Далее мы определим критические компоненты платформы, поддерживающие каждый функциональный домен.

C. Наконец, мы интегрируем все выявленные компоненты для создания концептуальной модели платформы.

А. Определите функциональные области

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

Разработка

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

Результатом этого процесса является «Обученная модель».

Развертывание

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

Выход этого процесса — «Конечная точка модели (HTTP)».

Обслуживание

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

Результатом этого процесса является «Прогноз или рекомендация».

Б. Определите критические компоненты

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

Пример:

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

С. Интегрируйте все

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

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

Диаграмма фокусируется на 3 ключевых рабочих процессах:

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

2. Прогноз: показано пунктирными стрелками

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

3. Данные:показаны пунктирными стрелками

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

4. Платформа ML — компоненты и возможности

Ниже вы найдете список из 27 ключевых компонентов, показанных на диаграмме выше (Рисунок 7). Четыре внешних системных компонента не являются частью платформы машинного обучения, но они необходимы для комплексного представления. Интеграция между платформой ML и этими внешними системами чрезвычайно важна в организационной структуре.

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

5. Заключительные мысли

Первоначальные шаги для организаций

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

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

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

Основные рекомендации

MLOps. Чтобы удовлетворить потребность в более быстром выводе на рынок и преодолении инженерных сложностей, крайне важно создать более гибкие и адаптируемые конвейеры разработки ИИ. Целью MLOps является быстрая разработка, развертывание, обслуживание и поддержка моделей машинного обучения на платформе машинного обучения в различных средах предприятия. Организация может планировать следующие инициативы в зависимости от своих приоритетов: CI: непрерывная интеграция, CD: непрерывное развертывание, CM: непрерывный мониторинг, CT: непрерывное обучение.

Управление доверием, рисками и безопасностью ИИ.Согласно отчету Gartner, к 2026 году организации, которые смогут внедрить прозрачность, доверие и безопасность ИИ, увидят, что их модели ИИ улучшат результаты на 50 % с точки зрения внедрения. бизнес-цели и признание пользователей. В организациях должна быть целевая группа или специальное подразделение для управления конфиденциальностью, соблюдением требований, безопасностью и управлением рисками ИИ для улучшения бизнес-результатов ИИ.

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

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

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

Ссылка

[1] Скрытый технический долг в системе машинного обучения (документ Google):

https://proceedings.neurips.cc/paper_files/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

[2] Платформа машинного обучения Netflix:

https://research.netflix.com/research-area/machine-learning-platform

[3] Проектирование системы машинного обучения (Стэнфордская лекция):

https://docs.google.com/presentation/d/1b-NLyZW2M8D7r_SXLlpLWnosgryMp7luXcn4d9KAn9M/edit#slide=id.p

[4] Основные стратегические технологические тенденции Gartner на 2023 год:

https://www.gartner.com/ngw/globalassets/en/publications/documents/2023-gartner-top-strategic-technology-trends-ebook.pdf?utm_source=linkedin&utm_medium=cpc&utm_campaign=RM_NA_YOY_ITTRND_PSOC_LG1_TTT23GBPDLILGF&utm_term=technologytrendsebook&ut m_content=topstrategictechnologytrendsfor2023&li_fat_id=f311116a -21c3-4ad4-846d-94248bda23cd

[5] Основы архитектуры конвейера данных для машинного обучения:

https://streamsets.com/blog/basics-of-data-pipeline-architecture-for-machine-learning/

[6] Прозрачность машинного обучения на системном уровне.

https://ai.meta.com/research/publications/system-level-transparency-of-machine-learning/

[7] МО в производстве:

https://mlinproduction.com/batch-inference-vs-online-inference/