Интеграция ИИ и DevOps, чтобы дать толчок развитию ИИ вашей организации

Проекты искусственного интеллекта (ИИ) могут произвести революцию в организациях, но для успешного запуска проектов ИИ в производство требуется прочная основа DevOps. Этот пост предназначен для команд, начинающих свою стратегию ИИ или первых проектов ИИ. Если вы экспериментируете с моделями ИИ просто для развлечения, отлично! Но если ваша цель — в конечном итоге сделать модель доступной для клиентов (внутренних или внешних), этот пост для вас.

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

1. Примите образ мышления DevOps перед тем, как начать.

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

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

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

2. Заранее определите ожидания со своими командами.

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

3. Примите итеративный характер проектов ИИ.

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

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

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

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

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

10 ключевых вопросов для растущей программы искусственного интеллекта.

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

ПРИМЕЧАНИЕ. У вас, вероятно, будут разные ответы для вашего первого проекта ИИ, чем для последующих. На данный момент ответ для большинства может быть таким: «Джесси будет проверять это вручную каждую неделю». Лучше иметь этот четкий план сейчас — даже если он кажется низкотехнологичным — чем сталкиваться с неожиданностями позже.

1. Способствовать сотрудничеству и обмену знаниями

Как вы можете способствовать межфункциональному сотрудничеству между командами AI и DevOps? Какие платформы или инструменты будут способствовать эффективному обмену знаниями?

  • Запланируйте совместную стартовую встречу и регулярные групповые контрольные точки. Если у вас есть команда DevOps, они могут услышать, что будет дальше, и почувствовать причастность команды к разработчикам моделей. Если ваши разработчики моделей будут выполнять работу DevOps, это дает явное время для планирования производства.
  • Выделите место для обсуждений или отслеживания работы. (Slack? JIRA?)
  • Делитесь интересными новостями о ходе разработки моделей в группах.

2. Определите процессы, специфичные для ИИ

Какие уникальные процессы вам нужны для развертывания модели ИИ и управления ею? Как ваша команда DevOps может учиться и адаптироваться к этим процессам?

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

3. Внедрите надежные меры безопасности и соответствия

Какие передовые методы безопасности следует использовать для защиты ваших моделей и данных ИИ? Как вы обеспечите соблюдение соответствующих правил и отраслевых стандартов?

  • Подумайте, соответствует ли этот новый вариант использования ваших данных существующим ожиданиям в отношении их использования (например, согласился ли ваш клиент на такое использование своих данных?).
  • Подумайте, нужно ли вам создавать новые документы об использовании данных и моделей, как внутренние, так и ориентированные на клиента. Подумайте, нужно ли вам привлекать вашу юридическую команду.
  • Определите применимые нормативные акты (например, GDPR, HIPAA) и установите процессы для обеспечения соответствия.
  • Проводить регулярные проверки соответствия и аудиты.

4. Разумно распределяйте ресурсы

Как вы будете отслеживать и распределять ресурсы, такие как использование графического процессора? У вас есть бюджет на оборудование?

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

5. Отслеживайте производительность модели

Как мы будем отслеживать производительность моделей ИИ в производстве? Какие показатели и инструменты мониторинга помогут выявить потенциальные проблемы или снижение производительности?

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

6. План переобучения модели

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

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

7. Эффективно управляйте конвейерами данных

Как мы будем обрабатывать данные и их предварительную обработку? Какую проверку данных нам нужно настроить? Какие инструменты и процессы обеспечат качество и согласованность данных на всем протяжении конвейера?

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

Примечание. Хотя заманчиво углубиться в операции машинного обучения (MLOps), важно не слишком автоматизировать их на раннем этапе.

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

Начните с простого, и пусть ваши процессы MLOps органично растут по мере необходимости.

8. Обеспечьте воспроизводимость модели

Как вы гарантируете стабильные результаты при обучении и развертывании моделей ИИ? Какие системы управления версиями и отслеживания помогут?

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

9. Со временем разработайте стратегию обновления модели

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

10. Постоянно улучшайте и оптимизируйте процессы

Как вы будете постоянно улучшать процессы AI DevOps? Какие метрики помогут с оптимизацией?

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

TL;DR

Это был длинный список вопросов для рассмотрения! Если вы сомневаетесь, просто постарайтесь не создавать следующих ситуаций:

  • 😞 Модель ИИ была отправлена ​​один раз с большими усилиями, но отправить новую версию модели практически невозможно.
  • 😞 Требуется много усилий, чтобы использовать новые обучающие данные.
  • 😞 Никто не знает, верна ли модель спустя 6 месяцев.

У вас есть это!

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