Необходими са само няколко минути и няколко реда код, за да наблюдавате вашите ML модели и канали за данни.

Валидирането на данни и мониторингът на ML модела са основополагащи стъпки за изграждане на надеждни тръбопроводи и отговорни приложения за машинно обучение.

В тази кратка публикация ще ви покажа как да използвате библиотека за регистриране на данни с отворен код и платформа за наблюдение на AI, за да наблюдавате често срещани проблеми с вашите ML модели, като отклонение на данните, отклонение на концепцията, качество на данните и производителност.

Настройка на регистриране на данни и наблюдение на ML

Първо, ще инсталираме whylogs, библиотека за регистриране на данни с отворен код, която улавя ключови статистически свойства на данните. Ще включим и зависимости за писане в обсерваторията на AI WhyLabs за мониторинг на машинното обучение.

pip install “whylogs[whylabs]”

След това ще импортираме библиотеките whylogs, pandas и os в нашия проект на Python. Също така ще създадем рамка от данни на нашия набор от данни за профилиране.

import whylogs as why
import pandas as pd
import os
# create dataframe with dataset
dataset = pd.read_csv("https://whylabs-public.s3.us-west-2.amazonaws.com/datasets/tour/current.csv")

Профилите на данни, създадени с whylogs, могат да се използват самостоятелно за валидиране на данни и визуализация на дрейфа на данните, но в този пример ще напишем профили в обсерваторията WhyLabs, за да извършим мониторинг на ML.

За да напишем профили в WhyLabs, ще „създадем акаунт“ и ще вземем нашия Org-ID, Access token и Project-ID, за да ги зададем като променливи на средата в нашия проект.

# Set WhyLabs access keys
os.environ["WHYLABS_DEFAULT_ORG_ID"] = 'YOURORGID'
os.environ["WHYLABS_API_KEY"] = 'YOURACCESSTOKEN'
os.environ["WHYLABS_DEFAULT_DATASET_ID"] = 'PROJECTID'

Създайте безплатен акаунт в WhyLabs тук, не се изисква кредитна карта.

Създайте нов проект и получете ID:

Създаване на проект › Настройване на модел › Създаване на проект

Вземете идентификатор на организация и токен за достъп:

Меню › Настройки › Токени за достъп › Създаване на токен за достъп

Това е всичко за настройката. Вече можем да пишем профили на данни в WhyLabs.

Пишете профили в WhyLabs за мониторинг на ML

След като ключовете за достъп са настроени, можем лесно да създадем профил на вашия набор от данни и да го запишем в WhyLabs. Това ни позволява да наблюдаваме входните данни и да моделираме прогнози само с няколко реда код!

# initial WhyLabs writer, Create whylogs profile, write profile to WhyLabs
writer = WhyLabsWriter()
profile= why.log(dataset)
writer.write(file=profile.view())

Профилите могат да бъдат създадени на всеки етап от тръбопровода, което ви позволява да наблюдавате данните на всяка стъпка.

По подразбиране клеймото за време ще бъде времето на качване на профила, но може да бъде презаписано, за да регистрирате данни от различни времена на събиране и профили за обратно запълване.

Можете да видите пример за писане и запълване на данни в този бележник.

След като профилите бъдат записани в WhyLabs, те могат да бъдат инспектирани, сравнявани и наблюдавани за качество на данните и отклонение на данните.

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

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

Когато бъдат открити аномалии, известията могат да се изпращат по имейл, Slack или PagerDuty. Задайте предпочитания за известия в Settings › Notifications & Digest Settings.

Това е! Преминахме през всички стъпки, необходими за приемане на данни от всяко място в тръбопроводите на ML и получаване на известия, ако възникнат аномалии.

Разделяне на входа и изхода на модела

Може да бъде полезно да разделите входовете и изходите на модела, особено ако имате много функции във входните си данни. Всички функции с имена, които съдържат думата „изход“ ще се появят в раздела за изходи.

Мониторинг на показателите за ефективност на модела

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

За да регистрирате показатели за ефективност за наблюдение, използвайте `why.log_classification_metrics` или `why.log_regression_metrics` и предайте рамка от данни, съдържаща основната истина, резултатите от изхода на нашия модел.

results = why.log_classification_metrics(
         df,
         target_column = "ground_truth",
         prediction_column = "cls_output",
         score_column="prob_output"
     )
 
 profile = results.profile() 
 results.writer("whylabs").write()

Забележка:Уверете се, че вашият проект е конфигуриран като модел на класификация или регресия в настройките.

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

Отново можем да изберем предварително конфигуриран монитор, за да открием всяка промяна в производителността.

Вижте примерни тетрадки за мониторинг на „класификация“ и „регресия“ в нашия GitHub.

Обобщение на мониторинга на ML

Разгледахме как бързо да настроите данни и решения за мониторинг на ML, които могат да се използват във всяка точка на вашия процес! С правилните инструменти мониторингът на машинното обучение може да отнеме само няколко минути с няколко реда код.

Ние едва надраскахме повърхността на whylogs и функциите на WhyLabs. Ако искате да научите повече, заявете демо или регистрирайте се безплатно и проучете сами функциите!

Примерни бележници, споменати в тази публикация:

Готови ли сте да внедрите мониторинг на данни и машинно обучение във вашите собствени приложения?

  • Вижте whylogs за регистриране на данни с отворен код
  • Създайте „безплатен акаунт в WhyLabs“ за мониторинг на данни и машинно обучение
  • Присъединете се към нашата общност Slack channel, за да задавате въпроси и да научите повече

Първоначално публикувано на адрес https://whylabs.ai.