Адам Венчел, вице-президент по искусственному интеллекту и инновациям в данных, Capital One

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

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

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

Здесь я опишу некоторые тактические и процедурные рекомендации по созданию основы для внедрения эффективного машинного обучения в производственную среду на вашем предприятии посредством автоматизированной интеграции / развертывания моделей (MI / MD).

Вызовы высокого уровня и опасения по машинному обучению в производственной среде

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

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

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

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

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

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

  • Исторические данные и обучение модели
  • Мониторинг модели и отслеживание точности с течением времени
  • Умение работать с распределенными системами обучения
  • Пользовательские тесты для каждой модели для проверки точности
  • Развертывание на серверах производственной модели

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

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

  • Исторические данные обучения с точным контролем времени
  • Функциональность распределенного обучения
  • Возможность поддержки нескольких языков
  • Надежная поддержка тестирования и отчетности
  • Точность модели нужно легко понять
  • Набор функций модели, методология и отслеживание кода
  • Наличие данных и определений для определений внутренних данных
  • Инструменты с открытым исходным кодом
  • Пользовательские функции переобучения и потери на основе cron для обновления устаревших моделей
  • Минимальное влияние на разработчиков моделей и преданных инженеров машинного обучения

С технической точки зрения несколько инструментов / процессов будут иметь решающее значение для выполнения этих требований:

  • Надежный сервер CI / CD. Например, Jenkins имеет отличные подключаемые модули поддержки, сборки, отчетности и команд практически для всех случаев использования, а его распределенная функциональность может стать преимуществом в будущем.
  • Гибкая платформа для развертывания облачных сервисов. AWS EC2, S3 и EMR являются хорошими примерами.
  • Интеграция с Git. Это важно при создании кода, привязанного к определенным версиям для артефактов производственного выпуска.
  • Точность модели. Отправьте точность и результаты тестирования на внешний сервер, например GRPC.
  • Интеграция. Интегрируйте уровень обслуживания модели в потоковые приложения.

Преимущества и практика солидного фонда машинного обучения

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

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

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

На разработчиков моделей ложится тройная нагрузка:

  1. Требуется явное создание теста. Для этого требуются конфигурации для таких переменных, как временной период данных для обучения и выбор гиперпараметров. Он не предназначен для предотвращения человеческой ошибки, а рассчитывается по амортизированной стоимости с течением времени.
  2. Определения успеха / точности должны быть определены заранее. Это вопрос диапазона изменчивости модели с течением времени, определяемый как компромисс между бизнес-требованиями и техническими ограничениями.
  3. Требуется знание языка реализации модели. Несмотря на то, что это техническая проблема, она позволяет давать очень разрешительные определения тестов.

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

Это мнение автора. Если в этом посте не указано иное, Capital One не связан и не одобрен ни одной из упомянутых компаний. Все используемые или отображаемые товарные знаки и другая интеллектуальная собственность являются собственностью соответствующих владельцев. Эта статья принадлежит © 2017 Capital One.

Присоединяйтесь к 30 000+ людям, которые читают еженедельную рассылку Машинное обучение, чтобы понять, как ИИ повлияет на их работу и жизнь.