Препоръчително предварително четене

За да извлечете максимума от тази статия, важно е да разберете терминологията, която ще използвам. За да се запознаете с терминологията, очертах много подробно различните стъпки на услугата за машинно обучение в тази статия: https://towardsdatascience.com/steps-of-a-machine-learning-process-7acc43973385.

Някои от обсъжданите концепции се припокриват с философията на DevOps, а други са специфични за MLOps. За да прочетете повече за това как тези две практики се сравняват и свиват, моля, вижте статията ми: https://towardsdatascience.com/mlops-vs-devops-5c9a4d5a60ba

Ако се интересувате да научите повече за това как това ниво на MLOps се различава от ниво 0, моля, вижте моята статия: https://towardsdatascience.com/mlops-level-0-manual-pipelines-7278b9949e59, която е визуализирана по-долу:

Цел на MLOps ниво 1

MLOps ниво 1 има за цел да постигне непрекъснато обучение на модели за машинно обучение. За да се постигне това, тръбопроводите за машинно обучение са автоматизирани на това ниво. Това включва автоматизиране на процеса на обучение с нови данни, повторно обучение на модела в производството, автоматизиране на валидирането на данни и валидирането на модела, въвеждане на тригери за иницииране на конвейери, както и съхранение на метаданни на модела за машинно обучение. Тази концепция е визуализирана на изображението по-долу:

Характеристики на MLOps ниво 1

  • Бързо експериментиране: Стъпките, които се състоят от тръбопровода за експерименти, са напълно автоматизирани и оркестрирани. Чрез автоматизиране и оркестриране на този тръбопровод той дава възможност на специалистите по данни да експериментират бързо с различни модели и данни. Освен това преходът на преместване на тръбопровода за машинно обучение от разработка/тестване към производство е улеснен.
  • Непрекъснато обучение на модела в производството: Моделът, използван в производството, се обучава с помощта на нови данни чрез използване на тригери.
  • Машинно обучение и симетрия на работата на системата: Тръбопроводът за машинно обучение, използван при разработване/тестване и производство, е симетричен. Това е ключов компонент в практиката на MLOps за интегриране на философията на DevOps.
  • Модулен код за компоненти и тръбопроводи: Компонентите в тръбопроводите за машинно обучение трябва да могат да се използват повторно, да могат да се композират и споделят в тръбопроводите за машинно обучение. Някои компоненти, като проучвателния анализ на данни (EDA), все още могат да бъдат в преносимите компютри, но други компоненти трябва да са модулни. В идеалния случай компонентите също трябва да бъдат контейнеризирани.
  • Непрекъснато доставяне на модели: В производството тръбопроводът за машинно обучение трябва непрекъснато да внедрява услуги за прогнозиране на нови модели, които са обучени на свежи данни. Тръбопроводът, който внедрява обучения и валидиран модел като услуга за прогнозиране, трябва да бъде автоматизиран.
  • Внедряване на тръбопровод: В MLOps ниво 0 само артефактът на обучения модел беше разгърнат като услуга за прогнозиране в производството. В MLOps ниво 1 се внедрява целият конвейер за обучение, моделът, внедрен като услуга за прогнозиране в производството, се обучава на най-актуалните данни в производството.

Какво е новото в MLOps ниво 1

За постигане на непрекъснато обучение в MLOps ниво 1 са необходими следните компоненти в архитектурата.

Потвърждаване на данни и модел

В MLOps ниво 1 тръбопроводът за машинно обучение е автоматизиран и се задейства автоматично. Веднъж задействано, няма възможност за ръчна намеса, следователно е необходимо автоматизирано валидиране на данни и валидиране на модела в производствения процес.

Стъпката за валидиране на данните е от решаващо значение, тъй като се използва, за да се реши дали данните трябва да бъдат преквалифицирани или да се спре изпълнението на конвейера. Два сценария ще определят кое решение да вземете:

  1. Изкривяване на схемата на данните: Това са аномални входни данни, което означава, че обработката надолу по веригата и стъпките може да са неуспешни, тъй като ще получи данни, които не очаква. Ако това събитие се случи, изпълнението на конвейера трябва да бъде спряно и аномалните данни трябва да бъдат проучени, за да се установи дали конвейерът трябва да бъде актуализиран. Примерите за изкривяване на схема на данни включват получаване на неочаквана схема, неполучаване на цялата схема и получаване на функции с неочаквани стойности.
  2. Изкривяване на стойността на данните: Това е, когато стойността на характеристиките се промени значително, че статистическите свойства на данните са се променили. Това показва, че моделът трябва да бъде обучен отново, за да улови промяната в статистическите свойства на данните.

Стъпката за валидиране на модела валидира обучения модел, за да определи дали той трябва да бъде популяризиран в производство. При офлайн валидирането на модела се следват следните стъпки:

  • Създаване на показатели за оценка на обучените данни върху тестови данни (данните не се използват по време на процеса на обучение).
  • Сравнение на показателя за оценка между новия модел и текущия модел, използван в производството.
  • Гарантиране, че производителността на модела е последователна за различни сегменти от данни.
  • Тестване на модела за внедряване, което включва съвместимост на инфраструктурата и последователност с API на услугата за прогнозиране.

В допълнение към офлайн валидирането на модела е необходима стъпка за онлайн валидиране на модела и включва внедряване на Canary или A/B тестване.

Магазин за функции

Това е незадължителен компонент и е централизирано хранилище за съхранение и достъп до функции, използвани за тръбопроводите за обучение и обслужване. Идеалното хранилище на функции трябва да може да обработва пакетно обслужване с висока пропускателна способност и обслужване в реално време с ниска латентност на стойности на функции както за процеса на обучение, така и за процеса на обслужване.

Управление на метаданни

Записват се информация и данни за различни експерименти, изпълнявани от тръбопровода за машинно обучение за обучение. Това се използва за подпомагане на данни и произход на артефакти, възпроизводимост и сравняване на различни експерименти. В идеалния случай хранилището за управление на метаданни записва следните метаданни:

  1. Коя версия на експеримента се провежда.
  2. Начална и крайна дата и час на експеримента и стъпките, които съставят експеримента.
  3. Параметрите, използвани в тръбопровода.
  4. Указатели към артефакти, произведени от всяка стъпка на тръбопровода. Примерите включват местоположение на данните, използвани в експеримента, идентифицирани аномалии, изчислени статистически данни, речник на категориалните характеристики.
  5. Показател за оценка на модела, който се обучава в процес на подготовка.

Тригери на ML Pipeline

Тригерите се използват в конвейер за повторно обучение на модели с нови данни. Методите за задействане на конвейер включват следното:

  1. Ad-hoc ръчно задействане.
  2. Въз основа на времето. Например, ако нови данни пристигнат в системата по фиксиран график, конвейерът може да бъде изпълнен след пристигането на нови данни.
  3. Задейства се при постъпване на нови данни. Когато ad hoc данни пристигнат до източника на данни, това задейства тръбопровода, за да преобучи модела на новите данни.
  4. Влошаване на производителността на модела. Ако моделът в производство се влоши над предварително определен праг, това трябва да задейства повторно обучение на модела.
  5. Разпределението на данни се променя значително, тъй като се задейства повторно обучение на модела.

Предизвикателства

В MLOps ниво 1 ще трябва да тествате тръбопровода и неговите компоненти ръчно. Внедряването на нови реализации на конвейер също ще бъде ръчно. Освен това има зависимост от ИТ екипа за внедряване на нов изходен код в целева среда.

За да се преодолеят тези предизвикателства, трябва да има настройка на процеса на непрекъсната интеграция (CI) и непрекъснато внедряване (CD), за да се автоматизират тези ръчни стъпки в MLOps ниво 1. Ако системата има CI/CD настройка, тя е достигнала MLOps ниво 2, което I ще обсъдим по-подробно в бъдеща статия.