Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

11 lipca 2022

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Data-centric AI (DCAI), czyli zorientowana na dane sztuczna inteligencja, jak opisał dr Andrew Ng, jeden z pionierów uczenia maszynowego (ML), „jest dyscypliną systematycznej inżynierii danych wykorzystywanych do budowy systemu sztucznej inteligencji”. Nakazuje priorytetowe traktowanie poprawy jakości danych w stosunku do ulepszania algorytmów w celu ulepszenia modeli ML, które mogą wspomagać prognozowanie biznesowe, w tym utratę klientów, pomniejszanie zespołu pracowników, prognozowanie popytu, ryzyko kredytowe i inne.

W tym artykule autorzy przedstawią rozwiązanie DCAI zbudowane na Snowflake i Amazon SageMaker, które ma służyć jako fabryka rozwiązań do analizy predykcyjnej.

Amazon SageMaker to w pełni zarządzana usługa AWS zaprojektowana, aby pomóc Ci zarządzać całym cyklem życia ML. Snowflake to platforma danych w chmurze, zapewniająca rozwiązania dla magazynowania danych o nauce o danych. Snowflake jest partnerem AWS z wieloma akredytacjami AWS, w tym AWS Competencies w Machine Learning oraz Data and Analytics.

To rozwiązanie wykorzystuje integrację Snowflake z Amazon SageMaker. Autorzy zapoznają Cię z tymi integracjami i udostępnią praktyczne zasoby, które pomogą Ci zastosować te możliwości w praktyce.

Dlaczego DCAI?

Ten post ma na celu pomóc Ci we wprowadzeniu praktyki sztucznej inteligencji zorientowanej na dane, która poprawi zdolność operacyjną i skalowalność Twojego zespołu oraz skróci czas dostarczania wyników.

Twój zespół może osiągnąć większe i szybsze zyski, koncentrując się na jakości danych, takiej jak korygowanie błędów danych lub inżynieria funkcji – transformacje danych, które wzmacniają sygnały predykcyjne. Co więcej, DCAI można ćwiczyć bez zaawansowanych umiejętności uczenia maszynowego. Umożliwia wykorzystanie ekspertów domenowych o niewystarczającej wiedzy w zakresie ML, aby odciążyć Twoich naukowców zajmujących się danymi.

DCAI promuje standardowe procesy i metodologię umożliwiającą skalowalność operacyjną i wydajność poprzez automatyczne przepływy pracy wielokrotnego użytku.

Rozwiązania DCAI dla Powering Predictive Analytics

Aby pomóc Ci zrozumieć, jak zastosować to rozwiązanie, należy rozważyć scenariusz – jesteś klientem AWS używającym Snowflake do obciążeń analitycznych. Prowadzisz zespół analityków, inżynierów i analityków danych, który obsługuje wiele linii biznesowych. Twój zespół ma zaległości w składaniu wniosków dotyczących prognozowania biznesowego, a modele ML są dobrze przystosowane do dostarczania wydajnych analiz predykcyjnych.

Należy założyć, że Twój zespół przyjmuje praktyki DCAI w ramach procesu opartego na CRISP-DM.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Twój zespół zdefiniował cele biznesowe i określił modele wymagane do obsługi Twoich przypadków użycia, ale masz tylko kilku analityków danych, którzy działają z pełną wydajnością.

Pora przestudiować sześć kroków na rysunku nr 2 poniżej, aby zrozumieć wyzwania i wymagania dotyczące efektywnego DCAI oraz zbadać, w jaki sposób rozwiązanie to pomaga w Twojej pracy.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Pozyskiwanie danych

Twoja praktyka DCAI będzie się rozwijać, jeśli zapewnisz swoim konstruktorom dostęp do różnorodnych zbiorów danych, które skutecznie reprezentują funkcje biznesowe, które chcesz poprawić – jakość Twoich modeli będzie tylko tak dobra, jak jakość Twoich danych.

Pierwszym składnikiem rozwiązania jest Snowflake, który służy jako platforma danych przedsiębiorstwa. Zawiera wszystkie dane o krytycznym znaczeniu dla firmy, a tym samym jest skarbnicą informacji związanych z docelowymi problemami. Dane, które przechowujesz w Snowflake, są z natury wysokiej jakości, co wynika z istniejących procesów zarządzania. Jest również pozyskiwany z aplikacji biznesowych, które odwzorowują podstawowe informacje już na etapie projektowania, więc dodatkowa praca nad etykietowaniem jest często zbędna.

Twój zespół może tworzyć zestawy danych ML, robiąc migawki danych w Snowflake, używając klonowania bez kopii jako alternatywy dla przechowywania kopii w Amazon Simple Storage Service (Amazon S3). Pomoże to Twojemu zespołowi zminimalizować nadmierny rozrost, a utrzymywanie migawek jest ważne dla zapewnienia możliwości odtworzenia modeli.

Twoi „modelarze” mogą również być ograniczeni do danych, których mogą używać ze względu na wymagania dotyczące prywatności. Ograniczenia te można jednak zminimalizować, uruchamiając w Snowpark funkcje zdefiniowane przez użytkownika w celu zaciemniania wrażliwych atrybutów lub generowania zróżnicowanych prywatnych syntetycznych zestawów danych poprzez przetwarzanie danych lokalnie przed udostępnieniem wrażliwych zestawów danych za pośrednictwem funkcji bezpiecznego udostępniania danych Snowflake.

Drugi składnik prezentowanego rozwiązania podkreśla możliwość pozyskiwania zewnętrznych źródeł danych w celu wzmocnienia sygnałów predykcyjnych w Twoich zestawach danych. Na przykład to laboratorium pokazuje, w jaki sposób dane dotyczące udzielania pożyczek wzbogacone o dane makroekonomiczne z Snowflake Marketplace mogą podnieść dokładność modelu ryzyka kredytowego. Twój zespół może również uzyskać dostęp do zewnętrznych dostawców danych za pośrednictwem wymiany danych AWS.

Jakość danych

Jakość danych posiada wiele wymiarów w kontekście sztucznej inteligencji zorientowanej na dane.

Czy Twoje dane są godne zaufania?

Czy są zgodne z regułami biznesowymi? Czy to już kojarzy się z udanym modelem? Twoi modelarze będą bardziej wydajni, jeśli będą mogli szybko ocenić wiarygodność zbiorów danych.

Trzeci składnik opisywanego rozwiązania rozszerza Snowflake o zaawansowane możliwości zarządzania zestawami danych ML za pośrednictwem Amazon SageMaker i technologii partnerów zarządzania danymi. Wykorzystując dostawcę katalogów danych korporacyjnych, takiego jak Collibra lub Alation, Twój zespół może szybko odkrywać i udostępniać zestawy danych za pośrednictwem interfejsu zakupowego oraz współpracować z użytkownikami biznesowymi podczas procesu modelowania.

Partnerzy Snowflake Data Quality (DQ), tacy jak Collibra i Talend, umożliwiają również Twojemu zespołowi stosowanie reguł do ilościowego określania, śledzenia i monitorowania DQ w zestawach danych Snowflake. W zależności od wybranej technologii, wyniki DQ są wyświetlane w katalogu lub jako metadane w Snowflake, umożliwiając zespołom szybką ocenę wiarygodności Twoich zbiorów danych.

Oprócz ogólnej jakości danych istnieją środki jakości związane z ML, które są ważne dla odpowiedzialnej sztucznej inteligencji. W zestawie danych mogą istnieć uprzedzenia, które mogą prowadzić do błędów etycznych, prawnych i zgodności. Na przykład model, który przewiduje ryzyko kredytowe, może być nieumyślnie przeszkolony w celu kategoryzacji kandydatów jako osób wysokiego ryzyka na podstawie przynależności do grup mniejszościowych w wyniku słabej reprezentacji w danych szkoleniowych modelu.

Twój zespół może zaplanować zadania Amazon SageMaker Clarify, aby ocenić stronniczość danych i informować modelarzy o zagrożeniach w Twoich wrażliwych zestawach danych.

Opcjonalnie Twój zespół może korzystać z Feature Store, aby udostępniać i obsługiwać funkcje ML oraz zachęcać do ponownego wykorzystania w całej organizacji. Upoważniają DCAI, promując ponowne wykorzystanie funkcji do rozwiązywania problemów podobnych do tych, które są rozwiązywane w sprawdzonych modelach produkcyjnych. SageMaker zapewnia natywną obsługę tworzenia przepływów danych, które przekształcają zestawy danych Snowflake w funkcje ML obsługiwane przez Amazon SageMaker Feature Store.

Czy Twoje etykiety są prawidłowe?

Rozważ model odejścia przeszkolony na przykładach klientów, którzy odeszli i tych, którzy są nadal aktywni – atrybut wskazujący odejście jest nazywany etykietą. Twój model zostanie przeszkolony, aby popełniać błędy, jeśli etykiety są nieprawidłowe, więc minimalizacja błędów etykietowania ma kluczowe znaczenie.

Jeśli Twój zespół wymaga etykietowania danych, Amazon SageMaker Ground Truth pomaga skalować i zarządzać wewnętrznymi i zewnętrznymi pracownikami etykietowania, takimi jak Amazon Mechanical Turk. SageMaker Ground Truth zapewnia możliwości zarządzania jakością etykiet na dużą skalę, takimi jak konsolidacja adnotacji, która łączy etykiety tworzone przez wielu pracowników w celu ograniczenia błędów.

Alternatywnie możesz zlecić operacje firmie Amazon SageMaker Ground Truth Plus, która zapewnia usługi „pod klucz” i ekspertów doświadczonych w zarządzaniu etykietami wysokiej jakości.

Gdzie są błędy danych?

Dane napędzają wszystko w DCAI. Jeśli pojawi się błąd, prawdopodobnie jest on związany z Twoimi danymi. Twój zespół potrzebuje mechanizmów do identyfikacji problemów z danymi. Możliwości upraszczające wersjonowanie danych, śledzenie pochodzenia i analizę błędów są ważnymi czynnikami ułatwiającymi proces.

Śledzenie pochodzenia zapewnia wgląd w ścieżkę od nieprzetworzonych danych do zoperacjonalizowanego modelu, aby pomóc w identyfikacji wcześniejszych zmian, które mogą być przyczyną problemów na dalszych etapach. Amazon SageMaker zapewnia śledzenie pochodzenia ML, które umożliwia tworzenie zapytań o elementy pochodzenia, takie jak konfiguracje szkoleniowe powiązane z Twoimi modelami.

Oferta partnerów Data Lineage firmy Snowflake rozszerza granice śledzenia linii SageMaker. Dobre rozwiązanie śledzi przepływ danych między Snowflake a identyfikatorami URI S3 używanymi przez Amazon SageMaker i zapewnia wgląd w procesy nadrzędne, które odświeżają zbiory danych. Wśród Twoich opcji są sprawdzeni partnerzy AWS i Snowflake, tacy jak Collibra, Atlan i Informatica.

Rozwój Data-Centric

Tworzenie DCAI jest iteracyjne: konstruktor może eksperymentować z nowym zestawem danych lub wprowadzać nową funkcję ML, ponownie trenować model na nowym zestawie danych, a następnie testować wzrost wydajności. Wyzwanie polega na tym, że uczenie modeli jest obliczeniowo kosztowne i powolne. Twoi modelarze potrzebują ekonomicznego rozwiązania, które umożliwia szybkie prototypowanie.

Po drugie, jeśli zamierzasz „naprawić kod” – zgodnie z zaleceniami zwolenników DCAI – Twoje rozwiązanie powinno wymuszać standardowy proces modelowania; na przykład jako uogólnione przepływy pracy, które można wielokrotnie wykorzystać. Użyj AutoML, aby zapewnić uogólniony proces automatyzacji optymalizacji skoncentrowanych na modelu, takich jak wybór algorytmu i dostrajanie hiperparametrów ostatniej mili, podczas gdy Twój zespół koncentruje się na optymalizacjach skoncentrowanych na danych. Pozwala to Twojemu zespołowi czerpać korzyści ze strategii DCAI, nie rezygnując z przyrostu wydajności oferowanego przez ulepszanie kodu.

Czwarta część omawianego rozwiązania umożliwia modelowanie w stylu DCAI, zapewniając różne doświadczenia użytkownika dla różnych poziomów wiedzy ML i wymaganej personalizacji.

Dla Analityków Danych

Dla analityków danych, którzy szukają równowagi między elastycznością a produktywnością, mają oni możliwość tworzenia niestandardowych przepływów przygotowania danych dla swoich zestawów danych Snowflake przy użyciu niewielkiej ilości kodu przy użyciu Amazon SageMaker Data Wrangler.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

To dobry punkt wyjścia, aby dowiedzieć się, jak SageMaker Data Wrangler może obsługiwać modelowanie DCAI. Nauczysz się pozyskiwać i przygotowywać dane dotyczące udzielania pożyczek z Snowflake oraz budować model, który przewiduje ryzyko niewykonania zobowiązania, a także będziesz używać narzędzi takich jak Szybki Model do szybkiego prototypowania modeli w celu przetestowania potencjalnych ulepszeń zestawu danych.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Dowiesz się, jak iteracyjnie przeprojektowywać swój zbiór danych, wzbogacając go o statystyki stopy bezrobocia, aby poprawić jego sygnały prognostyczne i ponownie zweryfikować jego integralność za pomocą narzędzi, takich jak raport Target Leakage.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

W każdej iteracji użyjesz szybkiego modelu, aby zregenerować prototyp i przetestować pod kątem wzrostu. W laboratorium odkryjesz nowo dodaną funkcję – stopę bezrobocia, która ma duży wpływ i poprawia wydajność Twojego prototypu.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Gdy będziesz gotowy do pełnego przeszkolenia modelu, przepływy danych można wyeksportować jako dostosowywalny skrypt i wykonać jako zadanie przetwarzania Amazon SageMaker w celu utworzenia zestawu danych gotowego do szkolenia.

Twój analityk danych może uruchamiać niestandardowe algorytmy w Amazon SageMaker, aby trenować dany model. Autorzy zalecają jednak używanie Amazon SageMaker Autopilot, aby ujednolicić proces generowania modelu i skupić się na ulepszaniu zestawu danych.

SageMaker Autopilot zapewnia zespołowi w pełni zarządzaną usługę AutoML, która generuje zoptymalizowane modele regresji i klasyfikacji – modele, które przewidują liczbę lub kategorię i obejmują szeroki zakres przypadków użycia. Na przykład model klasyfikacji mógłby przewidywać prawdopodobieństwo niewykonania zobowiązania przez wnioskodawcę pożyczki i przypisywać go do kategorii ryzyka.

SageMaker Autopilot automatyzuje inżynierię funkcji, wybór algorytmów i dostrajanie hiperparametrów w celu utworzenia tabeli liderów modeli kandydujących tak jak przedstawiono poniżej.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Na korzystnych warunkach działa bezpośrednio na zestawach danych, a mianowicie oczekuje tabelarycznego zestawu danych i etykiet docelowych jako danych wejściowych. Zadaniem praktyków DCAI jest iteracyjne ulepszanie zbiorów danych i używanie SageMaker Autopilot do generowania dostrojonych modeli. Wszystkie zadania szkoleniowe są audytowane w eksperymentach Amazon SageMaker, co pozwala Twojemu zespołowi na odtworzenie modeli.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Dla analityków danych i inżynierów

Jeśli Twój projekt nie wymaga zaawansowanej inżynierii funkcji, możesz umożliwić analitykom odciążenie analityków danych, korzystając z integracji Snowflake z SageMaker Autopilot. Nosi nazwę Snowflake AutoML i umożliwia użytkownikom tworzenie i integrowanie zoptymalizowanych modeli bezpośrednio przez Snowflake.

Twoi analitycy mogą używać SQL do klonowania i przetwarzania zestawów danych za pomocą codziennego edytora oraz uruchamiania zadania AutoML za pomocą jednego polecenia:

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Prognozy z wygenerowanych modeli można kwestionować i łączyć z innymi źródłami danych. To laboratorium zapewnia Twojemu zespołowi praktyczne doświadczenie z tą funkcją. Laboratorium poprowadzi Cię przez proces przekształcania transakcji finansowych w analizę ryzyka oszustwa za pomocą zaledwie kilku poleceń bazy danych.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Aby włączyć tę funkcję, Twój zespół powinien użyć AWS Quick Start zatytułowanego Amazon SageMaker Autopilot for Snowflake, aby udostępnić komponenty integracji na Twoim koncie AWS.

Włączenie sztucznej inteligencji opartej na danych dzięki Snowflake i Amazon SageMaker

Analytics-Ready Interface

Dostarczanie analiz predykcyjnych wymaga czegoś więcej niż tylko operacjonalizacji modeli uczenia maszynowego. Twój zespół musi dostarczać prognozy za pośrednictwem dotychczasowego łańcucha narzędzi analitycznych. Piąty składnik omawianego rozwiązania podkreśla interfejs gotowy do analizy zapewniany przez integracje Snowflake.

Modele generowane przez Snowflake AutoML zapewniają interfejs SQL. Możesz także zintegrować modele wygenerowane przez SageMaker Autopilot, które zostały utworzone bezpośrednio przez Amazon SageMaker za pomocą funkcji zewnętrznych udostępnionych przez AWS Quick Start (Rysunek 11). Wystarczy dodać „-job” jako sufiks w nazwie zadania SageMaker Autopilot. Na przykład, nazywając swoje zadanie „my-model-job”, Snowflake będzie w stanie zidentyfikować wdrożony punkt końcowy jako „my-model”.

Interfejs SQL dla modeli ML upraszcza operacjonalizację modeli dla obciążeń analitycznych. Twoje obecne narzędzia analityczne, które działają na SQL, takie jak platformy Business Intelligence (BI), mogą wykorzystywać prognozy w czasie rzeczywistym bez dostosowywania. Dzięki temu Twój zespół może dostarczać świeższe informacje przy mniejszym wysiłku.

Ta funkcja pozwala również modelarzom na używanie swoich codziennych narzędzi do wizualizacji do przeprowadzania analizy błędów bez pisania kodu – to znaczy do porównywania przewidywań z oczekiwanymi wynikami, aby uzyskać wgląd w błędy i sposoby ich korygowania.

Alternatywnie, jeśli pozwala na to przypadek użycia, możesz wdrożyć potok wnioskowania wsadowego, aby okresowo materializować prognozy w Snowflake. Możesz odnieść się do wyżej wymienionego laboratorium, jak to zrobić za pomocą Amazon SageMaker Pipelines, Batch Transform i Snowpipe.

Ciągłe doskonalenie

Rozwój modelu ML jest funkcją ciągłą. Każdy model wymaga konserwacji i powinien być stale ulepszany. Szósty składnik rozwiązania zapewnia możliwości usprawnienia tego ciągłego procesu.

Modele posiadają okres przydatności, ponieważ ich wydajność z czasem ulega degradacji. Na przykład osoba polecająca produkt może ulec degradacji wraz ze zmianą upodobań konsumentów i postrzegania marki – modele wymagają ponownego szkolenia w zakresie konserwacji. Twój zespół ma możliwość włączenia monitora modelu Amazon SageMaker w każdym modelu hostowanym przez SageMaker, aby monitorować jakość danych, jakość modelu, stronniczość i „feature attribution drift”.

Twój zespół może również wdrożyć przepływy pracy związane z przeglądami wraz z hostowanymi modelami dzięki technologii Amazon Augmented AI. Te przepływy pracy mogą skłonić ludzi do interwencji w przypadku prognoz o niskim stopniu ufności i poproszenia ekspertów o dane do ponownego przeszkolenia i ulepszenia modelu.

Ze względu na to, że Twój zespół stale wdraża nowe warianty modeli do produkcji, bariery wdrażania pomogą w zaawansowanych strategiach wdrażania, takich jak canary, które zmniejszą ryzyko niezamierzonych wadliwych modeli.

Wnioski

Strategia sztucznej inteligencji zorientowanej na dane (DCAI) może pomóc Twojemu zespołowi w szybkim i wydajnym osiągnięciu pomyślnych wyników inicjatyw uczenia maszynowego. Na podstawie tego artykułu dowiedziałeś się, jak zastosować DCAI w praktyce. Następnie Twój zespół może zdobyć doświadczenie, pracując w tych laboratoriach:

Jeśli chcesz przetestować Snowflake, skorzystaj z tego szybkiego startu AWS, aby uruchomić integrację. W końcu możesz mierzyć wysoko i dobrze się bawić w swojej podróży DCAI!

Snowflake – AWS Partner Spotlight

Snowflake jest partnerem kompetencji AWS, który na nowo stworzył magazyn danych, tworząc nową hurtownię danych SQL klasy korporacyjnej, zaprojektowaną od podstaw z myślą o chmurze i dzisiejszych danych.

Źródło: AWS

Case Studies
Referencje

Hostersi zrealizowali usługi konsultingowe z zakresu doboru odpowiedniej bazy danych w Amazon Web Services oraz pomyślnie przeprowadzili migrację bazy danych MySQL do Amazon Aurora. 

Tomasz Ślązok
CTO Landingi
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.