Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker

Ponieważ firmy coraz częściej wdrażają uczenie maszynowe (ML) w swoich głównych aplikacjach korporacyjnych, modele ML mają wpływ na coraz więcej ich decyzji biznesowych. W rezultacie uproszczona kontrola dostępu i zwiększona przejrzystość we wszystkich modelach ML ułatwia sprawdzanie, czy modele działają dobrze, i podejmowanie działań, gdy tak nie jest.

W tym poście badamy, w jaki sposób firmy mogą poprawić widoczność swoich modeli dzięki scentralizowanym pulpitom nawigacyjnym i szczegółowej dokumentacji swoich modeli przy użyciu dwóch nowych funkcji: kart modeli SageMaker i pulpitu nawigacyjnego modeli SageMaker. Obie te funkcje są dostępne bez dodatkowych opłat dla klientów SageMaker.

Omówienie zarządzania modelami

Zarządzanie modelami to struktura, która zapewnia systematyczny wgląd w tworzenie, walidację i użycie modelu. Zarządzanie modelami ma zastosowanie w całym przepływie pracy ML, począwszy od identyfikacji przypadku użycia ML do ciągłego monitorowania wdrożonego modelu za pomocą alertów, raportów i pulpitów nawigacyjnych. Dobrze zaimplementowana struktura zarządzania modelami powinna minimalizować liczbę interfejsów wymaganych do przeglądania, śledzenia i zarządzania zadaniami cyklu życia, aby ułatwić monitorowanie cyklu życia uczenia maszynowego na dużą skalę.

Obecnie organizacje inwestują znaczną wiedzę techniczną w budowanie narzędzi w celu zautomatyzowania dużej części przepływu pracy związanego z zarządzaniem i kontrolą. Na przykład konstruktorzy modeli muszą proaktywnie rejestrować specyfikacje modelu, takie jak zamierzone zastosowanie modelu, ocena ryzyka i kryteria wydajności, względem których model powinien być mierzony. Co więcej, muszą również rejestrować obserwacje dotyczące zachowania modelu i dokumentować powód, dla którego podjęli pewne kluczowe decyzje, takie jak funkcja celu, względem której zoptymalizowali model.

Firmy często używają narzędzi, takich jak Excel lub poczta e-mail, do przechwytywania i udostępniania takich informacji o modelach w celu wykorzystania ich w zatwierdzeniach do użytku produkcyjnego. Ale wraz ze wzrostem skali rozwoju ML informacje można łatwo zgubić lub zgubić, a śledzenie tych szczegółów szybko staje się niewykonalne. Co więcej, po wdrożeniu tych modeli możesz połączyć dane z różnych źródeł, aby uzyskać kompleksowy wgląd we wszystkie swoje modele, punkty końcowe, historię monitorowania i pochodzenie. Bez takiego widoku możesz łatwo stracić orientację w swoich modelach i możesz nie być świadomy, kiedy musisz podjąć na nich działania. Ten problem nasila się w branżach podlegających ścisłym regulacjom, ponieważ podlegasz przepisom, które wymagają stosowania takich środków.

Ponieważ liczba modeli zaczyna się skalować, zarządzanie niestandardowymi narzędziami może stać się wyzwaniem i daje organizacjom mniej czasu na skupienie się na podstawowych potrzebach biznesowych. W poniższych sekcjach zbadamy, w jaki sposób karty modeli SageMaker i pulpit nawigacyjny modelu SageMaker mogą pomóc w skalowaniu wysiłków związanych z zarządzaniem.

Karty modeli SageMaker

Karty modeli umożliwiają standaryzację sposobu dokumentowania modeli, zapewniając w ten sposób wgląd w cykl życia modelu, od projektowania, budowy, szkolenia i oceny. Karty modeli mają stanowić pojedyncze źródło prawdziwych metadanych biznesowych i technicznych dotyczących modelu, które można wiarygodnie wykorzystać do celów audytu i dokumentacji. Zawierają arkusz informacyjny modelu, który jest ważny dla zarządzania modelem.

Karty modeli umożliwiają użytkownikom tworzenie i przechowywanie decyzji, takich jak wybór funkcji celu do optymalizacji oraz szczegółów, takich jak zamierzone użycie i ocena ryzyka. Możesz także dołączyć i przejrzeć wyniki oceny oraz zanotować obserwacje do wykorzystania w przyszłości.

W przypadku modeli przeszkolonych w SageMaker karty modeli mogą wykrywać i automatycznie wypełniać szczegóły, takie jak zadanie szkoleniowe, zestawy danych szkoleniowych, artefakty modelu i środowisko wnioskowania, przyspieszając w ten sposób proces tworzenia kart. Dzięki SageMaker Python SDK możesz bezproblemowo aktualizować kartę Model o metryki oceny.

Karty modeli zapewniają menedżerom ryzyka modeli, analitykom danych i inżynierom ML możliwość wykonywania następujących zadań:

  • Udokumentuj wymagania dotyczące modelu, takie jak ocena ryzyka, zamierzone użycie, ograniczenia i oczekiwana wydajność
  • Automatyczne wypełnianie kart modeli dla modeli wyszkolonych przez SageMaker
  • Przynieś własne informacje (BYOI) dla modeli innych niż SageMaker
  • Przesyłaj i udostępniaj wyniki oceny modeli i danych
  • Zdefiniuj i przechwyć niestandardowe informacje
  • Status karty Capture Model (wersja robocza, oczekująca na weryfikację lub zatwierdzona do produkcji)
  • Uzyskaj dostęp do centrum karty modelu z poziomu Konsola zarządzania AWS
  • Twórz, edytuj, przeglądaj, eksportuj, klonuj i usuwaj karty modeli
  • Wyzwalaj przepływy pracy za pomocą Most zdarzeń Amazona integracja dla zdarzeń zmiany statusu karty Model

Twórz karty modeli SageMaker za pomocą konsoli

Możesz łatwo tworzyć karty modeli za pomocą konsoli SageMaker. Tutaj możesz zobaczyć wszystkie istniejące karty modeli i utworzyć nowe w razie potrzeby.

Podczas tworzenia karty modelu można udokumentować krytyczne informacje o modelu, takie jak kto zbudował model, dlaczego został opracowany, jak sprawdza się w niezależnych ocenach oraz wszelkie obserwacje, które należy wziąć pod uwagę przed użyciem modelu w aplikacji biznesowej.

Aby utworzyć kartę modelu na konsoli, wykonaj następujące czynności:

  1. Wprowadź szczegóły przeglądu modelu.
  2. Wprowadź szczegóły szkolenia (wypełnione automatycznie, jeśli model był szkolony w SageMaker).
  3. Prześlij wyniki oceny.
  4. Dodaj dodatkowe szczegóły, takie jak zalecenia i względy etyczne.

Po utworzeniu karty Model możesz wybrać wersję, aby ją wyświetlić.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Poniższy zrzut ekranu pokazuje szczegóły naszej karty Model.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz także wyeksportować kartę modelu do udostępnienia jako plik PDF.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Twórz i eksploruj karty modeli SageMaker za pomocą zestawu SageMaker Python SDK

Interakcja z kartami modeli nie ogranicza się do konsoli. Możesz także użyć SageMaker Python SDK do tworzenia i eksplorowania kart modeli. SageMaker Python SDK umożliwia analitykom danych i inżynierom ML łatwą interakcję z komponentami SageMaker. Poniższe fragmenty kodu przedstawiają proces tworzenia karty modelu przy użyciu nowo dodanej funkcjonalności SageMaker Python SDK.

Upewnij się, że masz zainstalowaną najnowszą wersję SageMaker Python SDK:

$ pip install --upgrade "sagemaker>=2"

Po wytrenowaniu i wdrożeniu modelu za pomocą SageMaker, możesz użyć informacji z modelu SageMaker i zadania szkoleniowego, aby automatycznie wypełnić informacje na karcie Model.

Używając SageMaker Python SDK i przekazując nazwę modelu SageMaker, możemy automatycznie zbierać podstawowe informacje o modelu. Informacje, takie jak ARN modelu SageMaker, środowisko szkoleniowe i dane wyjściowe modelu Usługa Amazon Simple Storage (Amazon S3) lokalizacja jest wypełniana automatycznie. Możemy dodać inne fakty modelu, takie jak opis, typ problemu, typ algorytmu, twórca modelu i właściciel. Zobacz następujący kod:

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

Możemy również automatycznie zbierać podstawowe informacje o szkoleniu, takie jak ARN zadania szkoleniowego, środowisko szkoleniowe i metryki szkoleniowe. Można dodać dodatkowe szczegóły szkolenia, takie jak funkcja celu szkolenia i obserwacje. Zobacz następujący kod:

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Jeśli mamy dostępne metryki oceny, możemy je również dodać do karty Model:

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

Możemy również dodać dodatkowe informacje o modelu, które mogą pomóc w zarządzaniu modelem:

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

Po podaniu wszystkich wymaganych szczegółów możemy utworzyć kartę Model, korzystając z powyższej konfiguracji:

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

SageMaker SDK zapewnia również możliwość aktualizacji, ładowania, wyświetlania, eksportowania i usuwania karty modelu.

Aby dowiedzieć się więcej o kartach modeli, zapoznaj się z sekcją przewodnik programisty i postępuj zgodnie to przykładowy notatnik na początek.

Pulpit nawigacyjny modelu SageMaker

Panel Model to scentralizowane repozytorium wszystkich modeli, które zostały utworzone na koncie. Modele są zwykle tworzone przez szkolenie w SageMaker lub możesz przenieść swoje modele przeszkolone gdzie indziej, aby hostować je w SageMaker.

Pulpit nawigacyjny modelu zapewnia pojedynczy interfejs dla administratorów IT, menedżerów ryzyka modeli lub liderów biznesowych, umożliwiający przeglądanie wszystkich wdrożonych modeli i ich wydajności. Możesz wyświetlać punkty końcowe, zadania przekształcania wsadowego i zadania monitorowania, aby uzyskać wgląd w wydajność modelu. Organizacje mogą zajrzeć głęboko, aby zidentyfikować, które modele mają brakujące lub nieaktywne monitory i dodać je za pomocą interfejsów API SageMaker, aby upewnić się, że wszystkie modele są sprawdzane pod kątem dryfu danych, dryfu modelu, dryfu odchylenia i dryfu atrybucji funkcji.

Poniższy zrzut ekranu przedstawia przykład pulpitu nawigacyjnego modelu.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Pulpit nawigacyjny modelu zawiera przegląd wszystkich modeli, ich ocenę ryzyka i wydajność tych modeli w środowisku produkcyjnym. Robi to, pobierając informacje z całego SageMaker. Informacje o monitorowaniu wydajności są przechwytywane Monitor modelu Amazon SageMaker, a także możesz zobaczyć informacje o modelach wywoływanych do prognozowania wsadowego za pomocą zadań transformacji wsadowej SageMaker. Przechwytywane są informacje o rodowodzie, takie jak sposób trenowania modelu, używane dane i inne, a także pobierane są informacje z kart modelu.

Model Monitor monitoruje jakość modeli SageMaker używanych w produkcji do wnioskowania wsadowego lub punktów końcowych w czasie rzeczywistym. Możesz skonfigurować ciągłe monitorowanie lub zaplanowane monitory za pośrednictwem interfejsów API SageMaker i edytować ustawienia alertów za pomocą pulpitu nawigacyjnego Model. Możesz ustawić alerty, które powiadamiają Cię o odchyleniach w jakości modelu. Wczesne i proaktywne wykrywanie tych odchyleń umożliwia podejmowanie działań korygujących, takich jak ponowne uczenie modeli, audyt systemów poprzedzających lub naprawianie problemów z jakością bez konieczności ręcznego monitorowania modeli lub tworzenia dodatkowych narzędzi. Pulpit nawigacyjny modelu zapewnia szybki wgląd w to, które modele są monitorowane i jak działają. Aby uzyskać więcej informacji na temat Monitora modeli, odwiedź stronę Monitoruj modele pod kątem jakości danych i modeli, stronniczości i wyjaśnialności.

Po wybraniu modelu na pulpicie nawigacyjnym modelu można uzyskać głębszy wgląd w model, taki jak karta modelu (jeśli taka istnieje), pochodzenie modelu, szczegóły dotyczące punktu końcowego, w którym model został wdrożony, oraz harmonogram monitorowania dla Model.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Ten widok pozwala w razie potrzeby utworzyć kartę Model. Harmonogram monitorowania można również aktywować, dezaktywować lub edytować za pomocą pulpitu nawigacyjnego Model.

W przypadku modeli, które nie mają harmonogramu monitorowania, można to skonfigurować, włączając Monitor modelu dla punktu końcowego, w którym model został wdrożony. Dzięki szczegółom alertu i statusowi będziesz powiadamiany o modelach, które pokazują dryf danych, dryf modelu, dryf odchylenia lub dryf funkcji, w zależności od skonfigurowanych monitorów.

Przyjrzyjmy się przykładowemu przepływowi pracy konfigurowania monitorowania modelu. Kluczowe etapy tego procesu to:

  1. Przechwyć dane wysłane do punktu końcowego (lub zadania transformacji wsadowej).
  2. Ustal punkt odniesienia (dla każdego typu monitorowania).
  3. Utwórz harmonogram Monitora modelu, aby porównać prognozy na żywo z linią bazową, aby zgłosić naruszenia i wyzwolić alerty.

Na podstawie alertów możesz podjąć działania, takie jak wycofanie punktu końcowego do poprzedniej wersji lub ponowne uczenie modelu z nowymi danymi. Robiąc to, może być konieczne prześledzenie sposobu uczenia modelu, co można zrobić, wizualizując rodowód modelu.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Pulpit nawigacyjny modelu oferuje bogaty zestaw informacji dotyczących całego ekosystemu modelu na koncie, oprócz możliwości wchodzenia w szczegółowe szczegóły modelu. Aby dowiedzieć się więcej o pulpicie nawigacyjnym modelu, zobacz przewodnik programisty.

Wnioski

Zarządzanie modelami jest złożone i często obejmuje wiele niestandardowych potrzeb specyficznych dla organizacji lub branży. Może to opierać się na wymaganiach regulacyjnych, które Twoja organizacja musi spełnić, rodzajach osób obecnych w organizacji oraz typach używanych modeli. Nie ma uniwersalnego podejścia do zarządzania i ważne jest, aby mieć dostępne odpowiednie narzędzia, aby można było wdrożyć solidny proces zarządzania.

Dzięki specjalnie zaprojektowanym narzędziom do zarządzania ML w SageMaker organizacje mogą wdrożyć odpowiednie mechanizmy w celu poprawy kontroli i widoczności projektów ML dla ich konkretnych przypadków użycia. Wypróbuj karty Model i pulpit nawigacyjny Model oraz zostaw swoje komentarze z pytaniami i opiniami. Aby dowiedzieć się więcej o kartach modelu i pulpicie nawigacyjnym modelu, zobacz przewodnik programisty.


O autorach

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Kirita Thadaki jest architektem ML Solutions pracującym w zespole SageMaker Service SA. Przed dołączeniem do AWS Kirit pracował we wczesnych etapach start-upów AI, a następnie przez pewien czas konsultował się na różnych stanowiskach w badaniach AI, MLOps i przywództwie technicznym.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Marek Karp jest architektem ML w zespole SageMaker Service. Koncentruje się na pomaganiu klientom w projektowaniu, wdrażaniu i zarządzaniu obciążeniami ML na dużą skalę. W wolnym czasie lubi podróżować i poznawać nowe miejsca.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Raghu Ramesza jest architektem rozwiązań ML w zespole Amazon SageMaker Service. Koncentruje się na pomaganiu klientom w tworzeniu, wdrażaniu i migracji obciążeń produkcyjnych ML do programu SageMaker na dużą skalę. Specjalizuje się w uczeniu maszynowym, sztucznej inteligencji i domenach widzenia komputerowego. Posiada tytuł magistra informatyki uzyskany na UT Dallas. W wolnym czasie lubi podróżować i fotografować.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Rama Vittal jest Architektem Rozwiązań ML w AWS. Ma ponad 20-letnie doświadczenie w projektowaniu i budowaniu aplikacji rozproszonych, hybrydowych i chmurowych. Pasjonuje się tworzeniem bezpiecznych i skalowalnych rozwiązań AI/ML oraz big data, aby pomóc klientom korporacyjnym w adaptacji i optymalizacji chmury w celu poprawy ich wyników biznesowych. W wolnym czasie lubi tenis, fotografię i filmy akcji.

Usprawnij zarządzanie modelami uczenia maszynowego dzięki Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Sahil Saini jest architektem rozwiązań ISV w Amazon Web Services. Współpracuje z zespołami produktowymi i inżynieryjnymi strategicznych klientów AWS, pomagając im w rozwiązaniach technologicznych wykorzystujących usługi AWS dla AI/ML, kontenerów, HPC i IoT. Pomógł skonfigurować platformy AI/ML dla klientów korporacyjnych.

Znak czasu:

Więcej z Uczenie maszynowe AWS