Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą programu Fiddler

To jest gościnny wpis na blogu autorstwa Danny'ego Brocka, Rajeeva Govindana i Krishnarama Kenthapadi z Fiddler AI.

Twój Amazon Sage Maker modele są na żywo. Każdego dnia zajmują się milionami wniosków i osiągają lepsze wyniki biznesowe dla Twojej firmy. Występują dokładnie tak samo, jak w dniu, w którym zostały uruchomione.

Eee, czekaj. Czy oni są? Może. Może nie.

Bez klasy korporacyjnej monitorowanie modelu, twoje modele mogą gnić w ciszy. Twoje zespoły zajmujące się uczeniem maszynowym (ML) mogą nigdy nie wiedzieć, że te modele faktycznie przekształciły się z cudów generowania przychodów w zobowiązania podejmujące błędne decyzje, które kosztują Twoją firmę czas i pieniądze.

Nie martw się. Rozwiązanie jest bliżej niż myślisz.

skrzypek, rozwiązanie do zarządzania wydajnością modeli klasy korporacyjnej dostępne na stronie Rynek AWS, oferuje monitorowanie modeli i wyjaśnioną sztuczną inteligencję, aby pomóc zespołom ML w sprawdzaniu i rozwiązywaniu szerokiego zakresu problemów związanych z modelami. Dzięki monitorowaniu modeli, wyjaśnianiu modeli, analizom i wykrywaniu stronniczości, Fiddler zapewnia Twojej firmie łatwy w użyciu pojedynczy panel, aby upewnić się, że Twoje modele zachowują się tak, jak powinny. A jeśli tak nie jest, Fiddler zapewnia również funkcje, które umożliwiają inspekcję modeli w celu znalezienia podstawowych przyczyn spadku wydajności.

Ten post pokazuje, jak Twój MLOps zespół może zwiększyć produktywność analityków danych i skrócić czas wykrywania problemów z modelami wdrożonymi w programie SageMaker, integrując się w kilku prostych krokach z platformą Fiddler Model Performance Management Platform.

Omówienie rozwiązania

Poniższa architektura referencyjna podkreśla podstawowe punkty integracji. Fiddler istnieje jako „sidecar” do istniejącego przepływu pracy SageMaker ML.

Pozostała część tego postu poprowadzi Cię przez kolejne etapy integracji Twojego modelu SageMaker z Fiddler's Platforma zarządzania wydajnością modelu:

  1. Upewnij się, że Twój model ma włączone przechwytywanie danych.
  2. Utwórz środowisko próbne programu Fiddler.
  3. Zarejestruj informacje o swoim modelu w środowisku Fiddler.
  4. Tworzenie AWS Lambda funkcja do publikowania wniosków z programu SageMaker do programu Fiddler.
  5. Poznaj możliwości monitorowania programu Fiddler w środowisku próbnym programu Fiddler.

Wymagania wstępne

W tym poście założono, że skonfigurowałeś SageMaker i wdrożyłeś punkt końcowy modelu. Aby dowiedzieć się, jak skonfigurować SageMaker do obsługi modeli, zobacz Wdrażaj modele do wnioskowania. Niektóre przykłady są również dostępne na GitHub repo.

Upewnij się, że Twój model ma włączone przechwytywanie danych

W konsoli SageMaker przejdź do obsługującego punktu końcowego modelu i upewnij się, że włączono przechwytywania danych w Usługa Amazon Simple Storage (Amazon S3) łyżka. To przechowuje wnioski (prośby i odpowiedzi), które Twój model tworzy każdego dnia jako Pliki linii JSON (.jsonl) w Amazon S3.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Utwórz środowisko próbne Fiddlera

Z skrzypek.ai stronie internetowej, możesz poprosić o bezpłatną wersję próbną. Po wypełnieniu szybkiego formularza, Fiddler skontaktuje się z Tobą, aby poznać specyfikę potrzeb związanych z zarządzaniem wydajnością Twojego modelu i przygotuje dla Ciebie środowisko próbne w ciągu kilku godzin. Możesz oczekiwać dedykowanego środowiska, takiego jak https://yourcompany.try.fiddler.ai.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zarejestruj informacje o swoim modelu w środowisku Fiddler

Zanim zaczniesz publikować zdarzenia z modelu hostowanego w programie SageMaker w programie Fiddler, musisz utworzyć projekt w środowisku próbnym programu Fiddler i podać szczegółowe informacje programu Fiddler dotyczące modelu za pomocą kroku o nazwie rejestracja modelu. Jeśli chcesz używać wstępnie skonfigurowanego notebooka od wewnątrz Studio Amazon SageMaker zamiast kopiować i wklejać poniższe fragmenty kodu, możesz odwołać się do notesu szybkiego startu Fiddler na GitHub. Studio udostępnia pojedynczy interfejs graficzny oparty na sieci Web, w którym można wykonywać wszystkie etapy programowania ML.

Najpierw musisz zainstalować Klient Fiddler Python w swoim notatniku SageMaker i stwórz instancję klienta Fiddler. Możesz zdobyć AUTH_TOKEN z Ustawienia w środowisku próbnym programu Fiddler.

# Install the fiddler client
!pip install fiddler-client

# Connect to the Fiddler Trial Environment
import fiddler as fdl
import pandas as pd

fdl.__version__

URL = 'https://yourcompany.try.fiddler.ai'
ORG_ID = 'yourcompany'
AUTH_TOKEN = 'UUID-Token-Here-Found-In-Your-Fiddler-Env-Settings-Page'

client = fdl.FiddlerApi(URL, ORG_ID, AUTH_TOKEN)

Następnie utwórz projekt w środowisku próbnym Fiddler:

# Create Project
PROJECT_ID = 'credit_default'  # update this with your project name
DATASET_ID = f'{PROJECT_ID}_dataset'
MODEL_ID = f'{PROJECT_ID}_model'

client.create_project(PROJECT_ID)

Teraz prześlij swój treningowy zestaw danych. Notatnik zawiera również przykładowy zestaw danych do uruchomienia programu Fiddler wyjaśnialność algorytmów i jako punkt odniesienia dla metryk monitorowania. Zestaw danych jest również używany do generowania schematu dla tego modelu w programie Fiddler.

# Upload Baseline Dataset
df_baseline = pd.read_csv(‘<your-training-file.csv>')

dataset_info = fdl.DatasetInfo.from_dataframe(df_baseline, max_inferred_cardinality=1000)

upload_result = client.upload_dataset(PROJECT_ID,
                                      dataset={'baseline': df_baseline},
                                      dataset_id=DATASET_ID,
                                      info=dataset_info)

Na koniec, zanim zaczniesz publikować wnioski w programie Fiddler w celu monitorowania, analizy przyczyn źródłowych i wyjaśnień, musisz zarejestrować swój model. Stwórzmy najpierw model_info obiekt zawierający metadane dotyczące Twojego modelu:

# Update task from the list below if your model task is not binary classification
model_task = 'binary' 

if model_task == 'regression':
    model_task_fdl = fdl.ModelTask.REGRESSION
    
elif model_task == 'binary':
    model_task_fdl = fdl.ModelTask.BINARY_CLASSIFICATION

elif model_task == 'multiclass':
    model_task_fdl = fdl.ModelTask.MULTICLASS_CLASSIFICATION

elif model_task == 'ranking':
    model_task_fdl = fdl.ModelTask.RANKING

    
# Specify column types|
target = 'TARGET'
outputs = ['prediction']  # change this to your target variable
features = [‘<add your feature list here>’]
     
# Generate ModelInfo
model_info = fdl.ModelInfo.from_dataset_info(
    dataset_info=dataset_info,
    dataset_id=DATASET_ID,
    model_task=model_task_fdl,
    target=target,
    outputs=outputs,
    features=features,
    binary_classification_threshold=.125,  # update this if your task is not a binary classification
    description='<model-description>',
    display_name='<model-display-name>'
)
model_info

Następnie możesz zarejestrować model za pomocą nowego model_info obiekt:

# Register Info about your model with Fiddler
client.register_model(
    project_id=PROJECT_ID,
    dataset_id=DATASET_ID,
    model_id=MODEL_ID,
    model_info=model_info
)

Świetny! Teraz możesz opublikować kilka wydarzeń dla Fiddlera, aby obserwować działanie modelu.

Utwórz funkcję Lambda, aby publikować wnioski SageMaker dla Fiddlera

Dzięki prostej we wdrożeniu bezserwerowej architektury Lambda możesz szybko zbudować mechanizm wymagany do przeniesienia wniosków z wcześniej skonfigurowanego zasobnika S3 do nowo aprowizowanego środowiska próbnego Fiddler. Ta funkcja Lambda jest odpowiedzialna za otwieranie wszelkich nowych plików dziennika zdarzeń JSONL w zasobniku S3 modelu, analizowanie i formatowanie zawartości JSONL do ramki danych, a następnie publikowanie tej ramki danych zdarzeń w środowisku próbnym programu Fiddler. Poniższy zrzut ekranu pokazuje szczegóły kodu naszej funkcji.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Funkcja Lambda musi być skonfigurowana do wyzwalania nowo utworzonych plików w Twoim wiadrze S3. Następujące Tutorial przeprowadzi Cię przez proces tworzenia Most zdarzeń Amazona wyzwalacz, który wywołuje funkcję Lambda za każdym razem, gdy plik jest przesyłany do Amazon S3. Poniższy zrzut ekranu przedstawia konfigurację wyzwalacza naszej funkcji. Ułatwia to upewnienie się, że za każdym razem, gdy model wyciąga nowe wnioski, zdarzenia przechowywane w Amazon S3 są ładowane do programu Fiddler, aby zapewnić obserwowalność modelu, której potrzebuje Twoja firma.

Aby jeszcze bardziej to uprościć, kod tej funkcji Lambda jest publicznie dostępny od Strona z dokumentacją Fiddlera. Ten przykład kodu działa obecnie w przypadku modeli klasyfikacji binarnej z ustrukturyzowanymi danymi wejściowymi. Jeśli masz typy modeli z różnymi funkcjami lub zadaniami, skontaktuj się z Fiddlerem, aby uzyskać pomoc dotyczącą drobnych zmian w kodzie.

Funkcja Lambda musi odwoływać się do klienta Fiddler Python. Fiddler stworzył publicznie dostępną warstwę Lambda, do której możesz się odwoływać, aby upewnić się, że: import fiddler as fdl krok działa bezproblemowo. Możesz odwoływać się do tej warstwy za pośrednictwem ARN w regionie us-west-2: arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1, jak pokazano na poniższym zrzucie ekranu.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Musisz również określić zmienne środowiskowe Lambda, aby funkcja Lambda wiedziała, jak połączyć się ze środowiskiem próbnym programu Fiddler oraz jakie dane wejściowe i wyjściowe znajdują się w plikach .jsonl przechwytywanych przez model. Poniższy zrzut ekranu pokazuje listę wymaganych zmiennych środowiskowych, które również są włączone Strona z dokumentacją Fiddlera. Zaktualizuj wartości zmiennych środowiskowych, aby pasowały do ​​Twojego modelu i zestawu danych.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Poznaj możliwości monitorowania programu Fiddler w środowisku próbnym programu Fiddler

Zrobiłeś to! Po połączeniu podstawowych danych, modelu i ruchu możesz teraz wyjaśnić dryf danych, odstające, nastawienie modelu, problemy z danymi i spadki wydajności oraz udostępnianie pulpitów nawigacyjnych innym osobom. Zakończ swoją podróż do oglądam demo o możliwościach zarządzania wydajnością modelu, które wprowadziłeś do swojej firmy.

Przykładowe zrzuty ekranu poniżej zapewniają wgląd w informacje dotyczące modelu, takie jak dryf, wykrywanie wartości odstających, objaśnienia punktów lokalnych i analizy modelu, które można znaleźć w środowisku próbnym programu Fiddler.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wnioski

Ten post podkreślił potrzebę klasy korporacyjnej monitorowanie modelu i pokazali, jak można zintegrować swoje modele wdrożone w SageMakerze z Platforma zarządzania wydajnością modelu Fiddler w zaledwie kilku krokach. Fiddler oferuje funkcje monitorowania modeli, wyjaśnialną sztuczną inteligencję, wykrywanie stronniczości i analizę przyczyn źródłowych i jest dostępny na Rynek AWS. Dostarczając swoje MLOps zespół z łatwym w użyciu pojedynczym panelem szklanym, aby upewnić się, że modele zachowują się zgodnie z oczekiwaniami i zidentyfikować podstawowe przyczyny obniżenia wydajności, Fiddler może pomóc zwiększyć produktywność analityków danych i skrócić czas wykrywania i rozwiązywania problemów.

Jeśli chcesz dowiedzieć się więcej o Fiddler, odwiedź skrzypek.ai lub jeśli wolisz skonfigurować spersonalizowaną wersję demonstracyjną i e-mail z dyskusją techniczną sprzedaz@skrzypek.ai.


O autorach

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Danny'ego Brocka jest starszym inżynierem ds. rozwiązań w firmie Fiddler AI. Danny od dawna pracuje w obszarze analityki i ML, prowadząc zespoły przedsprzedażowe i posprzedażowe dla startupów, takich jak Endeca i Incorta. W 2012 roku założył własną firmę konsultingową zajmującą się analizą big data, Branchbird.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Rajeev Govindan jest starszym inżynierem ds. rozwiązań w firmie Fiddler AI. Rajeev ma bogate doświadczenie w inżynierii sprzedaży i rozwoju oprogramowania w kilku przedsiębiorstwach, w tym AppDynamics.

Uzyskaj monitorowanie klasy korporacyjnej dla swoich modeli Amazon SageMaker za pomocą Fiddler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Krishnaram Kenthapadi jest głównym naukowcem Fiddler AI. Wcześniej był głównym naukowcem w Amazon AWS AI, gdzie kierował inicjatywami dotyczącymi uczciwości, wyjaśnialności, prywatności i zrozumienia modeli na platformie Amazon AI, a wcześniej zajmował stanowiska w LinkedIn AI i Microsoft Research. Krishnaram uzyskał tytuł doktora informatyki na Uniwersytecie Stanforda w 2006 roku.

Znak czasu:

Więcej z Uczenie maszynowe AWS