CI/CD for Machine Learning

Оновлено: 31.07.2023

Для більшості програмних додатків безперервна інтеграція та розгортання (CI/CD) вже давно є популярною процедурою. Системи машинного навчання можуть робити те ж саме, забезпечуючи безперервне автоматизоване навчання та впровадження моделей машинного навчання.

Використання CI CD для додатків машинного навчання забезпечує наскрізний конвеєр, який замикає петлю зворотного зв'язку на кожному етапі і забезпечує хорошу продуктивність моделей ML. Він також може об'єднати інженерні та наукові завдання, зменшуючи тертя між даними, моделюванням, обробкою та поверненням.

Що таке CI/CD (безперервна інтеграція та розгортання)?

Безперервна інтеграція та розгортання - це техніка DevOps, яка дозволяє створювати код і швидко розгортати його у виробництво, незалежно від того, чи це для клієнта, чи для програми. В результаті ви отримаєте автоматизований конвеєр, який дозволить вам швидко писати код і запускати його у виробництво.

Безперервна інтеграція та розгортання у розробці програмного забезпечення складається з кількох етапів: Ви починаєте із запиту на продукт і дизайну, потім кодуєте його, створюєте і запускаєте численні тести. Після завершення процесу тестування проект переходить від CI до CD. Він починається з визначення оновлення, потім переходить до впровадження, експлуатації та моніторингу додатків у процесі розробки.

MLops CI CD - це безперервний процес перегляду, переоцінки, виявлення проблем з моделлю ML, а потім повернення до зміни моделі машинного навчання на основі нових даних. Він автоматизує конвеєр машинного навчання (створення > тестування > розгортання) і усуває необхідність участі в цьому процесі аналітиків даних, роблячи його більш доступним для широкої аудиторії і менш вразливим до людських помилок, оскільки цикл зворотного зв'язку гарантує, що точність і ефективність моделей машинного навчання постійно підвищуються. Це допомагає контролювати моделі машинного навчання.

CI CD для ML

Основною перевагою практики CI CD при створенні конвеєра машинного навчання є його масштабованість. Ви можете обійтися без використання таких заходів, як безперервна інтеграція та розгортання, працюючи в невеликих масштабах, можливо, лише з кількома версіями. Однак більшість компаній, які впроваджують конвеєр машинного навчання CI CD сьогодні, потребують більшої складності та масштабу. На рівні підприємства побудова моделей вимагає проведення сотень експериментів одночасно, з чим стає все важче впоратися без надійної структури. Ця міцна структура часто є джерелом таємного технологічного боргу та погано керованих проблем DevOps. Саме тут в нагоді стають заходи з безперервної інтеграції та розгортання, оскільки вони забезпечують основу для постійного вдосконалення, гарантуючи, що моделі машинного навчання все ще працюють на виході, підвищуючи ефективність і точність моделі, і ви можете спостерігати постійне поліпшення з плином часу.

У конвеєрі машинного навчання практики безперервної інтеграції та розгортання автоматизують процес підготовки моделі, дослідження моделі та розгортання моделі, впорядковуючи робочий процес CI CD і дозволяючи конвеєрам ML працювати в більших масштабах.

Збір даних, тестування даних, управління ресурсами та допомога DevOps у вигляді великомасштабних обчислювальних ресурсів - все це частина конвеєра машинного навчання. Ви повинні переконатися, що ваші моделі можуть давати готові до виробництва надійні результати, які будуть розвиватися з часом, використовуючи різні форми інфраструктури, як хмарні, так і локальні. З іншого боку, ваші моделі ніколи не є постійними структурами; вони постійно розвиваються у відповідь на нові дані, оскільки застарілість моделі призводить до необхідності перенавчання ваших моделей. Безперервна інтеграція та розгортання можуть бути використані для створення безперервного циклу зворотного зв'язку, гарантуючи, що моделі є актуальними та коректними, не вимагаючи вашого постійного моніторингу, втручання або уваги.

Звичайно, дані є відправною точкою для конвеєра машинного навчання. Щоб переконатися, що ваші дані підходять, необхідна валідація даних і різні перевірки даних. Потім відбувається навчання моделі, яке передбачає експерименти з різними алгоритмами, щоб знайти найкращу відповідність для моделі. Додаткове тестування моделі відбувається перед розгортанням продуктів у виробництво. Етапи розгортання та прогнозування мають бути завершені безпечно, а потім має бути створений цикл зворотного зв'язку для перевірки даних ваших прогнозів, щоб визначити, чи потрібне перенавчання моделі. Автоматизована модель може потребувати перенавчання на регулярній, щогодинній або навіть щохвилинній основі, залежно від ряду факторів. Цей процес перенавчання контролюється за допомогою безперервної інтеграції, або CI, враховуючи, що дані можуть підпадати під дію різних нормативних актів, таких як GDPR, або інших необхідних обмежень. Статистичні тести та виявлення аномалій допоможуть вам краще контролювати конвеєр безперервної інтеграції та розгортання, гарантуючи, що ваші дані надійні, а прогнози моделей правильні. Конвеєри машинного навчання, які постійно допрацьовуються і вдосконалюються, мають явну перевагу. Майте на увазі, що підтримка надійного, готового до виробництва конвеєра вимагає тестування і моніторингу точності. Наявність наскрізної платформи зменшує потребу в комплексних MLOps і науці про дані, дозволяючи впровадити повністю автоматизований конвеєр безперервної інтеграції та розгортання ML.

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