Адам Венчел, вице-президент по искусственному интеллекту и инновациям в данных, Capital One
Волна одержимости универсальным машинным обучением (ML) захлестнула технологические и бизнес-сообщества - и общество в целом - за последние несколько лет, и это понятно; Продукты и услуги с поддержкой машинного обучения могут принести организации бесчисленные преимущества - не в последнюю очередь возможность использовать большие объемы данных, чтобы сделать ранее утомительные задачи более простыми и эффективными.
Наличие прочного фундамента для реального машинного обучения - главный фактор успеха новых инициатив, и сам по себе это захватывающая область исследований и инженерии, но внедрение машинного обучения может оказаться сложной задачей даже для организаций со зрелым инженерным потенциалом, и Само собой разумеется, что при попытках перехода между исследованиями в области машинного обучения и машинного обучения в производственных средах могут возникать подводные камни и заблуждения. Часто игнорируемый и часто недооцениваемый аспект правильной работы - это инфраструктура, которая обеспечивает надежные, хорошо управляемые исследования и обслуживает клиентов в производственных приложениях.
Ключевым рычагом в создании основы для успешной программы машинного обучения является создание культуры и атмосферы, которые позволяют вам опробовать эти усилия в масштабе: ускорение темпов научных экспериментов на пути к производству и, в конечном итоге, к повышению ценности для бизнеса. Облако является неотъемлемой частью этих усилий и может позволить командам разрабатывать и развертывать хорошо управляемые, точные модели машинного обучения в массовых производственных средах. Помимо производственных развертываний, надежная инфраструктура прокладывает путь для крупномасштабного тестирования моделей и фреймворков, позволяет более подробно изучить взаимодействие инструментов глубокого обучения и позволяет командам быстро привлекать новых разработчиков и гарантировать, что будущие изменения модели не будут замаскированы. эффекты.
Здесь я опишу некоторые тактические и процедурные рекомендации по созданию основы для внедрения эффективного машинного обучения в производственную среду на вашем предприятии посредством автоматизированной интеграции / развертывания моделей (MI / MD).
Вызовы высокого уровня и опасения по машинному обучению в производственной среде
Машинное обучение может быть достаточно сложным в производственной среде и становится еще более сложным, если учесть необходимость решения проблем состязательного обучения (подполе машинного обучения, изучающего его приложения во враждебных условиях), такого как кибербезопасность и отмывание денег. Состязательные атаки - от причинных до исследовательских - побуждают вашу модель изменяться в ответ на тщательно продуманные входные данные, снижая эффективность.
В кибербезопасности и других сложных областях границы принятия решений часто требуют надежного контекста для интерпретации человеком, а современные предприятия любого размера генерируют гораздо больше данных, чем люди могут проанализировать. Даже в отсутствие таких враждебных настроений активность пользователей, развертывание сети и простые достижения технологий со временем вызывают дрейф данных.
Имея это в виду, проблемы производственного машинного обучения почти универсальны. Управление данными и моделями влияет на все модели, а переподготовка - это реальность, поэтому автоматизация производственного процесса является ключом к устойчивой производительности.
Общие производственные проблемы, которые необходимо решить при строительстве фундамента машинного обучения, включают:
- Проблемы модели в производственной среде. Модели необходимо обучать, обновлять и развертывать без проблем, но проблемы могут возникнуть из-за разнородных источников данных, нескольких типов моделей в производственной среде (контролируемых / неконтролируемых) и нескольких языков реализации.
- Временной дрейф. Данные меняются со временем.
- Потеря контекста. Разработчики моделей со временем забывают свои рассуждения.
- Технический долг. Известно, что это проблема в производственной среде обучения. Модели машинного обучения трудно полностью понять их создателям, и это еще более сложно для сотрудников, не являющихся экспертами по машинному обучению. Автоматизация этого процесса может минимизировать технический долг.
Идеальная система может решить эти всеобъемлющие вопросы производства машинного обучения, а также решить общие проблемы, связанные с противодействием, в том числе:
- Исторические данные и обучение модели
- Мониторинг модели и отслеживание точности с течением времени
- Умение работать с распределенными системами обучения
- Пользовательские тесты для каждой модели для проверки точности
- Развертывание на серверах производственной модели
Управление моделью и создание технической основы
Несмотря на то, что каждая организация отличается от других, для эффективного управления моделями необходимо учитывать следующие общие соображения:
- Исторические данные обучения с точным контролем времени
- Функциональность распределенного обучения
- Возможность поддержки нескольких языков
- Надежная поддержка тестирования и отчетности
- Точность модели нужно легко понять
- Набор функций модели, методология и отслеживание кода
- Наличие данных и определений для определений внутренних данных
- Инструменты с открытым исходным кодом
- Пользовательские функции переобучения и потери на основе cron для обновления устаревших моделей
- Минимальное влияние на разработчиков моделей и преданных инженеров машинного обучения
С технической точки зрения несколько инструментов / процессов будут иметь решающее значение для выполнения этих требований:
- Надежный сервер CI / CD. Например, Jenkins имеет отличные подключаемые модули поддержки, сборки, отчетности и команд практически для всех случаев использования, а его распределенная функциональность может стать преимуществом в будущем.
- Гибкая платформа для развертывания облачных сервисов. AWS EC2, S3 и EMR являются хорошими примерами.
- Интеграция с Git. Это важно при создании кода, привязанного к определенным версиям для артефактов производственного выпуска.
- Точность модели. Отправьте точность и результаты тестирования на внешний сервер, например GRPC.
- Интеграция. Интегрируйте уровень обслуживания модели в потоковые приложения.
Преимущества и практика солидного фонда машинного обучения
После того, как технические компоненты созданы, крайне важно убедиться, что установлены надлежащие протоколы и практики, чтобы продолжать извлекать выгоду из хорошо спроектированной основы машинного обучения.
Одна из областей - это модельное управление. Это охватывает все, от этических соображений до нормативных требований. Вы должны стремиться к тому, чтобы процесс управления прошел как можно более гладко. Точно так же историческое отслеживание - еще один ключевой компонент здесь, помогающий смягчить временной сдвиг. Отслеживание модели во времени затруднено и требует точных временных данных; Платформа регистрации распределенной модели, такая как созданный нами внутренний инструмент под названием Rubicon, может помочь отслеживать историю обучения, тестирования и развертывания вашей модели.
При историческом отслеживании пороги повторного обучения и потерь предоставляются пользователем и используются для автоматического обновления моделей с течением времени. В свою очередь, это приводит к более плавной воспроизводимости модели - немедленной способности создавать исторические модели для проверки на соответствие текущим условиям данных - и четкому пониманию того, где произошел дрейф, а также областей, на которые он повлиял. Кроме того, практика сохранения знаний с ведением журнала смягчает потерю контекста (многие из нас вернулись даже к простым проектам и спрашивают: «Что здесь происходит ?!») и гарантирует, что даже если модели проходят переобучение и публикуются автоматически в зависимости от времени, изменения вносятся. к базовому коду, и простые обновления легко идентифицируются.
На разработчиков моделей ложится тройная нагрузка:
- Требуется явное создание теста. Для этого требуются конфигурации для таких переменных, как временной период данных для обучения и выбор гиперпараметров. Он не предназначен для предотвращения человеческой ошибки, а рассчитывается по амортизированной стоимости с течением времени.
- Определения успеха / точности должны быть определены заранее. Это вопрос диапазона изменчивости модели с течением времени, определяемый как компромисс между бизнес-требованиями и техническими ограничениями.
- Требуется знание языка реализации модели. Несмотря на то, что это техническая проблема, она позволяет давать очень разрешительные определения тестов.
В конечном итоге, чтобы демократизировать машинное обучение и полностью использовать его потенциал, организации должны иметь возможность повторять эксперименты и автоматически проверять их. Создание этой базовой среды - это то, что позволяет нам разрабатывать блестящие алгоритмы, которые обеспечивают масштабируемость в Capital One, и я надеюсь, что ее можно использовать в качестве руководства для вашей организации.
Это мнение автора. Если в этом посте не указано иное, Capital One не связан и не одобрен ни одной из упомянутых компаний. Все используемые или отображаемые товарные знаки и другая интеллектуальная собственность являются собственностью соответствующих владельцев. Эта статья принадлежит © 2017 Capital One.
Присоединяйтесь к 30 000+ людям, которые читают еженедельную рассылку Машинное обучение, чтобы понять, как ИИ повлияет на их работу и жизнь.