Содержание[Скрывать][Показывать]
- 1. Что вы подразумеваете под MLOps?
- 2. Чем отличаются друг от друга специалисты по данным, инженеры данных и инженеры по машинному обучению?
- 3. Что отличает MLOps от ModelOps и AIOps?
- 4. Можете ли вы рассказать мне о некоторых преимуществах MLOps?
- 5. Можете ли вы сказать мне компоненты MLOps?
- 6. Какие риски связаны с использованием науки о данных?
- 7. Можете объяснить, что такое дрейф модели?
- 8. Сколько, по вашему мнению, способов применения MLOps?
- 9. Что отличает статическое развертывание от динамического?
- 10. Какие методы производственного тестирования вам известны?
- 11. Что отличает потоковую обработку от пакетной?
- 12. Что вы подразумеваете под перекосом в обучении?
- 13. Что вы подразумеваете под модельным реестром?
- 14. Можете ли вы подробнее рассказать о преимуществах Модельного реестра?
- 15. Можете ли вы объяснить, как работает техника Champion-Challenger?
- 16. Опишите приложения уровня предприятия жизненного цикла MLOps?
- Заключение
Компании все чаще используют новые технологии, такие как искусственный интеллект (ИИ) и машинное обучение (МО), чтобы повысить доступность информации и услуг для населения.
Эти технологии все чаще используются в различных секторах, включая банковское дело, финансы, розничную торговлю, производство и даже здравоохранение.
Специалисты по данным, инженеры по машинному обучению и инженеры по искусственному интеллекту пользуются спросом у все большего числа компаний.
Зная возможное обучение с помощью машины Вопросы, которые могут задать вам менеджеры по найму и рекрутеры, очень важны, если вы хотите работать в сфере ML или MLOps.
Вы можете узнать, как отвечать на некоторые вопросы интервью MLOps в этом посте, пока вы работаете над получением работы своей мечты.
1. Что вы подразумеваете под MLOps?
Тема операционализации моделей машинного обучения находится в центре внимания MLOps, также известного как операции машинного обучения, развивающейся области в рамках более крупной области AI/DS/ML.
Основная цель подхода и культуры разработки программного обеспечения, известной как MLOps, состоит в том, чтобы интегрировать создание моделей машинного обучения/науки о данных и их последующую операционализацию (Ops).
Обычные DevOps и MLOps имеют определенные сходства, однако MLOps также сильно отличаются от традиционных DevOps.
MLOps добавляет новый уровень сложности, сосредотачиваясь на данных, тогда как DevOps в основном фокусируется на операционализации кода и выпусков программного обеспечения, которые не могут сохранять состояние.
Комбинация ML, Data и Ops — это то, что дает MLOps его общее название (машинное обучение, проектирование данных и DevOps).
2. Чем отличаются друг от друга специалисты по данным, инженеры данных и инженеры по машинному обучению?
На мой взгляд, это зависит от фирмы. Среда для транспортировки и преобразования данных, а также их хранения создается дата-инженерами.
Специалисты по обработке и анализу данных являются экспертами в использовании научных и статистических методов для анализа данных и получения выводов, включая прогнозирование будущего поведения на основе существующих тенденций.
Несколько лет назад инженеры-программисты изучали операции и управляли инфраструктурой развертывания. Команды эксплуатации, с другой стороны, изучали разработку, используя инфраструктуру в качестве кода. Эти два потока создали позицию DevOps.
MLOps находится в той же категории, что и Данные ученых и инженер данных. Инженеры данных получают знания об инфраструктуре, необходимой для поддержки жизненных циклов моделей, и создают конвейеры для постоянного обучения.
Исследователи данных стремятся развивать свои возможности развертывания и оценки моделей.
Конвейер данных производственного уровня создается инженерами машинного обучения с использованием инфраструктуры, которая преобразует необработанные данные во входные данные, необходимые для модели обработки и анализа данных, размещает и запускает модель, а также выводит оцененный набор данных в последующие системы.
И инженеры данных, и специалисты по данным могут стать инженерами машинного обучения.
3. Что отличает MLOps от ModelOps и AIOps?
При построении впритык алгоритмы машинного обучения, MLOps — это приложение DevOps, которое включает сбор данных, предварительную обработку данных, создание модели, развертывание модели в рабочей среде, мониторинг модели в рабочей среде и периодическое обновление модели.
Использование DevOps для обработки всей реализации любых алгоритмов, таких как модели на основе правил, известно как ModelOps.
AIOps использует принципы DevOps для создания приложений ИИ с нуля.
4. Можете ли вы рассказать мне о некоторых преимуществах MLOps?
- Специалисты по данным и разработчики MLOps могут быстро повторно запустить испытания, чтобы убедиться, что модели обучены и оценены надлежащим образом, поскольку MLOps помогает автоматизировать все или большинство задач/шагов в MDLC (жизненный цикл разработки модели). Дополнительно разрешает управление версиями данных и моделей.
- Реализация идей MLOps на практике позволяет инженерам и специалистам по данным получать неограниченный доступ к культивируемым и курируемым наборам данных, что экспоненциально ускоряет разработку моделей.
- Специалисты по данным смогут вернуться к модели, которая показала себя лучше, если текущая итерация не оправдает ожиданий, благодаря возможности иметь версии моделей и наборов данных, что значительно улучшит контрольный след модели.
- Поскольку методы MLOps сильно зависят от DevOps, они также включают в себя ряд концепций CI/CD, что повышает качество и надежность кода.
5. Можете ли вы сказать мне компоненты MLOps?
Проект: MLOps в значительной степени включают дизайн-мышление. Начиная с характера проблемы, тестирования гипотез, архитектуры и развертывания.
Построение модели: тестирование и проверка модели являются частью этого шага, наряду с конвейерами обработки данных и экспериментами для настройки лучших систем машинного обучения.
Операционный отдел: модель должна быть реализована как часть операций и постоянно проверяться и оцениваться. Затем процессы CI/CD отслеживаются и запускаются с помощью инструмента оркестровки.
6. Какие риски связаны с использованием науки о данных?
- Сложно масштабировать модель на всю компанию.
- Без предупреждения модель выключается и перестает функционировать.
- Как правило, точность моделей со временем ухудшается.
- Модель делает неточные прогнозы, основанные на конкретном наблюдении, которое не может быть дополнительно изучено.
- Специалисты по данным также должны поддерживать модели, но это дорого.
- MLOps можно использовать для снижения этих рисков.
7. Можете объяснить, что такое дрейф модели?
Когда производительность фазы вывода модели (с использованием реальных данных) ухудшается по сравнению с производительностью на этапе обучения, это называется дрейфом модели, также известным как дрейф идей (с использованием исторических помеченных данных).
Производительность модели искажена по сравнению с этапами обучения и обслуживания, отсюда и название «перекос обучения/обслуживания».
Многочисленные факторы, в том числе:
- Фундаментальный способ распространения данных изменился.
- Обучение было сосредоточено на небольшом количестве категорий, однако только что произошедший экологический сдвиг добавил еще одну область.
- В задачах НЛП реальные данные содержат непропорционально большее количество числовых токенов, чем обучающие данные.
- Неожиданные события, такие как модель, построенная на данных до COVID, по прогнозам, будет работать значительно хуже на данных, собранных во время эпидемии COVID-19.
Для выявления дрейфа модели всегда требуется постоянный мониторинг производительности модели.
Переобучение модели почти всегда требуется в качестве средства правовой защиты, когда наблюдается постоянное снижение производительности модели; необходимо установить причину снижения и использовать соответствующие лечебные процедуры.
8. Сколько, по вашему мнению, способов применения MLOps?
Существует три метода применения MLOps на практике:
MLOps, уровень 0 (ручной процесс): на этом уровне все шаги, включая подготовку данных, анализ и обучение, выполняются вручную. Каждый этап необходимо выполнять вручную, как и переход от одного к другому.
Основная предпосылка заключается в том, что ваша команда по обработке и анализу данных управляет лишь небольшим количеством моделей, которые не часто обновляются.
В результате отсутствует непрерывная интеграция (CI) или непрерывное развертывание (CD), а тестирование кода обычно интегрируется в выполнение сценария или выполнение записной книжки, а развертывание происходит в микросервисе с REST API.
MLOps level 1 (автоматизация конвейера машинного обучения): автоматизируя процесс ML, цель состоит в том, чтобы непрерывно обучать модель (CT). Таким образом, вы можете выполнить непрерывную доставку услуги предсказания модели.
Наше развертывание всего конвейера обучения гарантирует, что модель автоматически обучается в рабочей среде с использованием новых данных на основе активных триггеров конвейера.
MLOps level 2 (автоматизация конвейера CI/CD): Это на один шаг выше уровня MLOps. Надежная автоматизированная система CI/CD необходима, если вы хотите быстро и надежно обновлять конвейеры в рабочей среде:
- Вы создаете исходный код и выполняете многочисленные тесты на этапе CI. Пакеты, исполняемые файлы и артефакты — это выходные данные этапа, которые будут развернуты позднее.
- Артефакты, созданные на этапе CI, развертываются в целевой среде на этапе CD. Развернутый конвейер с исправленной реализацией модели является выходом этапа.
- Прежде чем конвейер начнет новую итерацию эксперимента, специалисты по обработке и анализу данных все еще должны выполнить этап анализа данных и модели вручную.
9. Что отличает статическое развертывание от динамического?
Модель обучается в автономном режиме для Статическое развертывание. Другими словами, мы обучаем модель ровно один раз, а затем используем ее какое-то время. После локального обучения модель сохраняется и отправляется на сервер для использования в прогнозах в реальном времени.
Затем модель распространяется в виде устанавливаемого прикладного программного обеспечения. например, программа, позволяющая пакетно оценивать запросы.
Модель обучается онлайн для Динамическое развертывание. То есть в систему постоянно добавляются новые данные, и модель постоянно обновляется для их учета.
В результате вы можете делать прогнозы, используя сервер по запросу. После этого модель вводится в действие, поскольку она предоставляется в качестве конечной точки API, которая реагирует на запросы пользователей с использованием веб-фреймворка, такого как Фласк или FastAPI.
10. Какие методы производственного тестирования вам известны?
Пакетное тестирование: Проводя тестирование в условиях, отличных от среды обучения, он проверяет модель. Используя выбранные метрики, такие как точность, RMSE и т. д., выполняется пакетное тестирование группы выборок данных для проверки вывода модели.
Пакетное тестирование можно проводить на различных вычислительных платформах, таких как тестовый сервер, удаленный сервер или облако. Обычно модель предоставляется в виде сериализованного файла, который загружается как объект и выводится из тестовых данных.
A / B тестирования: часто используется для анализа маркетинговых кампаний, а также для дизайна сервисов (веб-сайтов, мобильных приложений и т. д.).
В зависимости от компании или операций статистические подходы используются для анализа результатов A/B-тестирования, чтобы решить, какая модель будет работать лучше в производственной среде. Обычно A/B-тестирование проводится следующим образом:
- Данные в реальном времени или в реальном времени делятся или сегментируются на два набора: набор A и набор B.
- Данные набора A отправляются в устаревшую модель, а данные набора B отправляются в обновленную модель.
- В зависимости от бизнес-варианта использования или процессов можно использовать несколько статистических подходов для оценки производительности модели (например, точности, прецизионности и т. д.), чтобы определить, превосходит ли новая модель (модель B) старую модель (модель A).
- Затем мы проводим проверку статистической гипотезы: Нулевая гипотеза говорит о том, что новая модель не влияет на среднее значение отслеживаемых бизнес-показателей. Согласно альтернативной гипотезе, новая модель увеличивает среднее значение бизнес-показателей мониторинга.
- Наконец, мы оцениваем, приводит ли новая модель к значительному улучшению некоторых ключевых показателей эффективности бизнеса.
Теневой или сценический тест: модель оценивается в дубликате производственной среды перед использованием в производственной среде (промежуточной среде).
Это имеет решающее значение для определения производительности модели с данными в реальном времени и проверки устойчивости модели. выполняется путем вывода тех же данных, что и производственный конвейер, и доставки разработанной ветви или модели для тестирования на промежуточном сервере.
Единственным недостатком является то, что в результате ветви разработки никакие бизнес-выборы не будут сделаны на промежуточном сервере или видны конечным пользователям.
Устойчивость и производительность модели будут оцениваться статистически с использованием результатов промежуточной среды с использованием соответствующих показателей.
11. Что отличает потоковую обработку от пакетной?
Мы можем манипулировать характеристиками, которые мы используем для создания наших прогнозов в реальном времени, используя два метода обработки: пакетный и потоковый.
Пакетный процесс функции из предыдущего момента времени для конкретного объекта, которые затем используются для создания прогнозов в реальном времени.
- Здесь мы можем выполнять интенсивные расчеты признаков в автономном режиме и подготавливать данные для быстрого вывода.
- Особенности, однако, возраста, поскольку они были предопределены в прошлом. Это может быть серьезным недостатком, если ваш прогноз основан на недавних событиях. (Например, выявление мошеннических транзакций как можно скорее.)
Благодаря потоковым функциям для конкретного объекта в режиме, близком к реальному времени, вывод выполняется в потоковой обработке заданного набора входных данных.
- Здесь, предоставляя модели потоковые функции в реальном времени, мы можем получать более точные прогнозы.
- Однако для обработки потоков и поддержки потоков данных требуется дополнительная инфраструктура (Kafka, Kinesis и т. д.). (Apache Flink, Beam и т. д.)
12. Что вы подразумеваете под перекосом в обучении?
Несоответствие между результатами при подаче и результатами во время обучения известно как перекос между обучением и подачей. Этот перекос может быть вызван следующими факторами:
- Разница в том, как вы обрабатываете данные между конвейерами для обслуживания и обучения.
- Смещение данных от вашего обучения к вашему сервису.
- Канал обратной связи между вашим алгоритмом и моделью.
13. Что вы подразумеваете под модельным реестром?
Реестр моделей — это центральный репозиторий, в котором создатели моделей могут публиковать модели, подходящие для использования в производстве.
Разработчики могут сотрудничать с другими командами и заинтересованными сторонами, чтобы управлять сроком службы всех моделей внутри бизнеса с помощью реестра. Обученные модели могут быть загружены в реестр моделей специалистом по данным.
Модели готовятся к тестированию, проверке и развертыванию в рабочей среде после их регистрации. Кроме того, обученные модели хранятся в реестрах моделей для быстрого доступа любым интегрированным приложением или службой.
Чтобы протестировать, оценить и внедрить модель в производство, разработчики программного обеспечения и рецензенты могут быстро распознать и выбрать только лучшую версию обученных моделей (исходя из критериев оценки).
14. Можете ли вы подробнее рассказать о преимуществах Модельного реестра?
Ниже приведены некоторые способы, с помощью которых реестр моделей упрощает управление жизненным циклом модели.
- Чтобы упростить развертывание, сохраните требования среды выполнения и метаданные для обученных моделей.
- Ваши обученные, развернутые и выведенные из эксплуатации модели должны быть зарегистрированы, отслежены и версионированы в централизованном репозитории с возможностью поиска.
- Создавайте автоматизированные конвейеры, обеспечивающие непрерывную доставку, обучение и интеграцию вашей производственной модели.
- Сравните недавно обученные модели (или модели-претенденты) в промежуточной среде с моделями, которые в настоящее время работают в производственной среде (модели-чемпионы).
15. Можете ли вы объяснить, как работает техника Champion-Challenger?
С помощью техники Champion Challenger можно тестировать различные эксплуатационные решения в производстве. Вы, наверное, слышали об A/B-тестировании в контексте маркетинга.
Например, вы можете написать две отдельные строки темы и случайным образом распределить их по целевой демографической группе, чтобы максимизировать коэффициент открытия для кампании по электронной почте.
Система регистрирует производительность электронного письма (т. е. действие по открытию электронного письма) по отношению к строке темы, что позволяет вам сравнить коэффициент открытия каждой строки темы, чтобы определить, какая из них наиболее эффективна.
В этом отношении Champion-Challenger сравним с A/B-тестированием. Вы можете использовать логику принятия решений, чтобы оценить каждый результат и выбрать наиболее эффективный, экспериментируя с различными методами, чтобы прийти к выбору.
Самая успешная модель соотносится с чемпионом. Первый претендент и соответствующий список претендентов — это все, что присутствует на первой фазе выполнения вместо чемпиона.
Чемпион выбирается системой для дальнейшего выполнения шагов задания.
Претенденты противопоставлены друг другу. Затем новый чемпион определяется претендентом, который показывает наилучшие результаты.
Задачи, связанные с процессом сравнения чемпионов и претендентов, перечислены ниже более подробно:
- Оценка каждой из конкурирующих моделей.
- Подведение итоговых баллов.
- Сравнение результатов оценки для установления победившего претендента.
- Добавление свежего чемпиона в архив
16. Опишите приложения уровня предприятия жизненного цикла MLOps?
Нам нужно перестать рассматривать машинное обучение только как итеративный эксперимент, чтобы модели машинного обучения были запущены в производство. MLOps — это союз разработки программного обеспечения с машинным обучением.
Готовый результат следует представлять себе именно таким. Поэтому код технологического продукта должен быть проверенным, функциональным и модульным.
MLOps имеет продолжительность жизни, сравнимую с обычным потоком машинного обучения, за исключением того, что модель сохраняется в процессе до производства.
Затем инженеры MLOps следят за этим, чтобы убедиться, что качество модели в производстве соответствует задуманному.
Вот несколько вариантов использования нескольких технологий MLOps:
- Модельные реестры: это то, чем кажется. Более крупные команды хранят и отслеживают модели версий в реестрах моделей. Возможен даже возврат к предыдущей версии.
- Хранилище функций: при работе с большими наборами данных могут существовать отдельные версии аналитических наборов данных и подмножеств для конкретных задач. Хранилище функций — это передовой, изящный способ использовать работу по подготовке данных из более ранних запусков или других команд.
- Хранилища для метаданных: очень важно правильно отслеживать метаданные на протяжении всего производства, если необходимо успешно использовать неструктурированные данные, такие как изображения и текстовые данные.
Заключение
Важно помнить, что в большинстве случаев интервьюер ищет систему, а кандидат ищет решение.
Первый основан на ваших технических навыках, а второй — на методе, который вы используете для демонстрации своей компетентности.
Есть несколько процедур, которые вы должны предпринять, отвечая на вопросы интервью MLOps, чтобы помочь интервьюеру лучше понять, как вы собираетесь оценивать и решать данную проблему.
Их концентрация больше на неправильной реакции, чем на правильной. Решение рассказывает историю, а ваша система — лучшая иллюстрация ваших знаний и способности к общению.
Оставьте комментарий