Połączenia Zestaw SDK Amazon SageMaker dla Pythona to biblioteka typu open source do uczenia i wdrażania modeli uczenia maszynowego (ML). Amazon Sage Maker. Klienci korporacyjni w ściśle kontrolowanych branżach, takich jak opieka zdrowotna i finanse, ustawiają bariery bezpieczeństwa, aby zapewnić szyfrowanie ich danych i uniemożliwić ruch w Internecie. Aby zapewnić, że szkolenie SageMaker i wdrażanie modeli ML przebiega zgodnie z tymi barierami, powszechną praktyką jest ustawianie ograniczeń na koncie lub Organizacje AWS poziom poprzez zasady kontroli usług i AWS Zarządzanie tożsamością i dostępem (IAM) zasady wymuszające korzystanie z określonych ról IAM, Wirtualna prywatna chmura Amazon (Amazon VPC) konfiguracje i Usługa zarządzania kluczami AWS (AWS KMS). W takich przypadkach analitycy danych muszą ręcznie podać te parametry do kodu szkolenia i wdrażania modelu ML, zapisując podsieci, grupy zabezpieczeń i klucze KMS. Nakłada to na analityków danych obowiązek pamiętania o określeniu tych konfiguracji, pomyślnego wykonywania zadań i unikania błędów odmowy dostępu.
Począwszy od SageMaker Python SDK w wersji 2.148.0, możesz teraz konfigurować domyślne wartości parametrów, takich jak role IAM, VPC i klucze KMS. Administratorzy i użytkownicy końcowi mogą inicjować prymitywy infrastruktury AWS z wartościami domyślnymi określonymi w pliku konfiguracyjnym w formacie YAML. Po skonfigurowaniu Python SDK automatycznie dziedziczy te wartości i propaguje je do bazowych wywołań API SageMaker, takich jak CreateProcessingJob()
, CreateTrainingJob()
, CreateEndpointConfig()
, bez konieczności wykonywania dodatkowych czynności. SDK obsługuje również wiele plików konfiguracyjnych, umożliwiając administratorom ustawienie pliku konfiguracyjnego dla wszystkich użytkowników, a użytkownicy mogą go zastąpić za pomocą konfiguracji na poziomie użytkownika, którą można przechowywać w Usługa Amazon Simple Storage (Amazonka S3), System plików Amazon Elastic (Amazon EFS) dla Studio Amazon SageMakerlub lokalny system plików użytkownika.
W tym poście pokazujemy, jak utworzyć i zapisać domyślny plik konfiguracyjny w Studio oraz użyć funkcji ustawień domyślnych SDK do tworzenia zasobów SageMaker.
Omówienie rozwiązania
Demonstrujemy tę nową funkcję w sposób kompleksowy Tworzenie chmury AWS szablon, który tworzy wymaganą infrastrukturę i tworzy domenę Studio we wdrożonym VPC. Dodatkowo tworzymy klucze KMS do szyfrowania woluminów wykorzystywanych w szkoleniach i zadaniach przetwarzania. Kroki są następujące:
- Uruchom stos CloudFormation na swoim koncie. Alternatywnie, jeśli chcesz poznać tę funkcję w istniejącej domenie lub notatniku SageMaker, pomiń ten krok.
- Wypełnij
config.yaml
plik i zapisz plik w domyślnej lokalizacji. - Uruchom przykładowy notatnik z kompleksowym przypadkiem użycia uczenia maszynowego, w tym przetwarzaniem danych, szkoleniem modeli i wnioskowaniem.
- Zastąp domyślne wartości konfiguracyjne.
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz konto AWS i użytkownika IAM lub rolę z uprawnieniami administratora. Jeśli jesteś analitykiem danych, który obecnie przekazuje parametry infrastruktury do zasobów w notesie, możesz pominąć następny krok konfigurowania środowiska i rozpocząć tworzenie pliku konfiguracyjnego.
Aby skorzystać z tej funkcji, upewnij się, że zaktualizujesz wersję SageMaker SDK, uruchamiając ją pip install --upgrade sagemaker
.
Skonfiguruj środowisko
Aby wdrożyć pełną infrastrukturę, w tym sieć i domenę Studio, wykonaj następujące kroki:
- Sklonuj Repozytorium GitHub.
- Zaloguj się na swoje konto AWS i otwórz konsolę AWS CloudFormation.
- Aby wdrożyć zasoby sieciowe, wybierz Utwórz stos.
- Prześlij szablon pod
setup/vpc_mode/01_networking.yaml
. - Podaj nazwę stosu (np.
networking-stack
) i wykonaj pozostałe kroki, aby utworzyć stos. - Aby wdrożyć domenę Studio, wybierz Utwórz stos ponownie.
- Prześlij szablon pod
setup/vpc_mode/02_sagemaker_studio.yaml
. - Podaj nazwę stosu (np.
sagemaker-stack
) i podaj nazwę stosu sieciowego, gdy zostaniesz o to poproszonyCoreNetworkingStackName
parametr. - Wykonaj pozostałe kroki, wybierz potwierdzenia dla zasobów IAM i utwórz stos.
Gdy stan obu stosów zostanie zaktualizowany do CREATE_COMPLETE, przejdź do następnego kroku.
Utwórz plik konfiguracyjny
Aby użyć domyślnej konfiguracji dla SageMaker Python SDK, utwórz plik config.yaml w formacie oczekiwanym przez SDK. Aby uzyskać informacje na temat formatu pliku config.yaml, zobacz Struktura pliku konfiguracyjnego. W zależności od środowiska pracy, takiego jak notatniki Studio, instancje notatników SageMaker lub lokalne środowisko IDE, można zapisać plik konfiguracyjny w domyślnej lokalizacji lub zastąpić ustawienia domyślne, przekazując lokalizację pliku konfiguracyjnego. Aby zapoznać się z domyślnymi lokalizacjami dla innych środowisk, patrz Lokalizacje plików konfiguracyjnych. Poniższe kroki przedstawiają konfigurację środowiska notesu Studio.
Aby łatwo utworzyć config.yaml
plik, uruchom następujące komórki w terminalu systemowym Studio, zastępując symbole zastępcze nazwami stosów CloudFormation z poprzedniego kroku:
Ten skrypt automatycznie wypełnia plik YAML, zastępując symbole zastępcze domyślnymi ustawieniami infrastruktury i zapisuje plik w folderze domowym. Następnie kopiuje plik do domyślnej lokalizacji notatników programu Studio. Wynikowy plik konfiguracyjny powinien wyglądać podobnie do następującego formatu:
Jeśli masz istniejącą domenę i skonfigurowaną konfigurację sieci, utwórz plik config.yaml
plik w wymaganym formacie i zapisz go w domyślnej lokalizacji notatników programu Studio.
Pamiętaj, że te wartości domyślne po prostu automatycznie wypełniają wartości konfiguracyjne dla odpowiednich wywołań SageMaker SDK i nie wymuszają na użytkowniku przydziału do żadnej konkretnej sieci VPC, podsieci ani roli. Jako administrator, jeśli chcesz, aby Twoi użytkownicy używali określonej konfiguracji lub roli, użyj Klucze warunku IAM aby wymusić wartości domyślne.
Dodatkowo każde wywołanie API może mieć własne konfiguracje. Na przykład w powyższym przykładzie pliku konfiguracyjnego można określić vpc-a
i subnet-a
do pracy szkoleniowej i określ vpc-b
i subnet-c
, subnet-d
do przetwarzania zadań.
Uruchom przykładowy notatnik
Teraz, po ustawieniu pliku konfiguracyjnego, możesz zacząć uruchamiać notebooki do budowania i trenowania modelu w zwykły sposób, bez konieczności jawnego ustawiania parametrów sieci i szyfrowania dla większości funkcji zestawu SDK. Widzieć Obsługiwane interfejsy API i parametry aby uzyskać pełną listę obsługiwanych wywołań API i parametrów.
W Studio wybierz ikonę Eksplorator plików w okienku nawigacji i otwórz 03_feature_engineering/03_feature_engineering.ipynb
, jak pokazano na poniższym zrzucie ekranu.
Uruchom komórki notatnika jedna po drugiej i zwróć uwagę, że nie określasz żadnej dodatkowej konfiguracji. Podczas tworzenia obiektu procesora zobaczysz dane wyjściowe komórki, takie jak w poniższym przykładzie.
Jak widać na danych wyjściowych, do zadania przetwarzania jest automatycznie stosowana konfiguracja domyślna, bez konieczności wprowadzania jakichkolwiek dodatkowych danych przez użytkownika.
Gdy uruchomisz następną komórkę w celu uruchomienia procesora, możesz również sprawdzić ustawienia domyślne, przeglądając zadanie w konsoli SageMaker. Wybierać Przetwarzanie zadań dla Przetwarzanie w okienku nawigacji, jak pokazano na poniższym zrzucie ekranu.
Wybierz zadanie przetwarzania z prefiksem end-to-end-ml-sm-proc
i powinieneś być w stanie wyświetlić już skonfigurowaną sieć i szyfrowanie.
Możesz kontynuować uruchamianie pozostałych notesów, aby trenować i wdrażać model, i zauważysz, że ustawienia domyślne infrastruktury są automatycznie stosowane zarówno do zadań szkoleniowych, jak i modeli.
Zastąp domyślny plik konfiguracyjny
Mogą wystąpić przypadki, w których użytkownik musi zastąpić domyślną konfigurację, na przykład w celu eksperymentowania z publicznym dostępem do Internetu lub zaktualizowania konfiguracji sieci, jeśli w podsieci zabraknie adresów IP. W takich przypadkach Python SDK umożliwia również podanie niestandardowej lokalizacji pliku konfiguracyjnego, albo w pamięci lokalnej, albo możesz wskazać lokalizację w Amazon S3. W tej sekcji przyjrzymy się przykładowi.
Otwórz user-configs.yaml
w swoim katalogu domowym i zaktualizuj plik EnableNetworkIsolation
wartość druga True
Pod TrainingJob
Teraz otwórz ten sam notatnik i dodaj następującą komórkę na początku notatnika:
Za pomocą tej komórki wskazujesz lokalizację pliku konfiguracyjnego na SDK. Teraz, gdy tworzysz obiekt procesora, zauważysz, że domyślna konfiguracja została zastąpiona, aby umożliwić izolację sieci, a zadanie przetwarzania zakończy się niepowodzeniem w trybie izolacji sieci.
Możesz użyć tej samej zmiennej środowiskowej zastępowania, aby ustawić lokalizację pliku konfiguracyjnego, jeśli używasz środowiska lokalnego, takiego jak VSCode.
Debuguj i pobierz wartości domyślne
W celu szybkiego rozwiązywania problemów w przypadku wystąpienia jakichkolwiek błędów podczas uruchamiania wywołań interfejsu API z notesu dane wyjściowe komórki zawierają zastosowane konfiguracje domyślne, jak pokazano w poprzedniej sekcji. Aby wyświetlić dokładne wywołanie Boto3 utworzone w celu wyświetlenia wartości atrybutów przekazanych z domyślnego pliku konfiguracyjnego, możesz debugować, włączając rejestrowanie Boto3. Aby włączyć rejestrowanie, uruchom następującą komórkę u góry notesu:
Wszelkie kolejne wywołania Boto3 będą rejestrowane z pełnym żądaniem, widocznym pod sekcją treści w dzienniku.
Możesz także wyświetlić kolekcję domyślnych konfiguracji za pomocą session.sagemaker_config
wartość, jak pokazano w poniższym przykładzie.
Na koniec, jeśli używasz Boto3 do tworzenia zasobów SageMaker, możesz odzyskać domyślne wartości konfiguracyjne za pomocą sagemaker_config
zmienny. Na przykład, aby uruchomić zadanie przetwarzania w 03_feature_engineering.ipynb
za pomocą Boto3 możesz wprowadzić zawartość następującej komórki w tym samym notatniku i uruchomić komórkę:
Zautomatyzuj tworzenie plików konfiguracyjnych
Dla administratorów konieczność utworzenia pliku konfiguracyjnego i zapisania go w każdej instancji notatnika SageMaker lub profilu użytkownika Studio może być zniechęcającym zadaniem. Chociaż można zalecić użytkownikom korzystanie ze wspólnego pliku przechowywanego w domyślnej lokalizacji S3, wiąże się to z dodatkowym obciążeniem związanym z określaniem zastąpienia dla naukowców zajmujących się danymi.
Aby to zautomatyzować, administratorzy mogą używać SageMaker Lifecycle Configurations (LCC). W przypadku profili użytkowników Studio lub instancji notatników możesz dołączyć następujący przykładowy skrypt LCC jako domyślny LCC dla domyślnej aplikacji Jupyter Server użytkownika:
See Użyj konfiguracji cyklu życia dla Amazon SageMaker Studio or Dostosuj instancję Notatnika aby uzyskać instrukcje dotyczące tworzenia i ustawiania domyślnego skryptu cyklu życia.
Sprzątać
Gdy skończysz eksperymentować z tą funkcją, wyczyść swoje zasoby, aby uniknąć dodatkowych kosztów. Jeśli udostępniłeś nowe zasoby zgodnie z tym postem, wykonaj następujące kroki, aby wyczyścić zasoby:
- Zamknij aplikacje Studio dla profilu użytkownika. Widzieć Wyłączanie i aktualizowanie aplikacji SageMaker Studio i Studio po instrukcje. Przed usunięciem stosu upewnij się, że wszystkie aplikacje zostały usunięte.
- Usuń wolumin EFS utworzony dla domeny Studio. Możesz wyświetlić wolumin EFS dołączony do domeny za pomocą a OpiszDomenę Wywołanie API.
- Usuń stos domen Studio.
- Usuń grupy zabezpieczeń utworzone dla domeny Studio. Można je znaleźć na Elastyczna chmura obliczeniowa Amazon (Amazon EC2) konsola o nazwach security-group-for-inbound-nfs-d-xxx i security-group-for-outbound-nfs-d-xxx
- Usuń stos sieciowy.
Wnioski
W tym poście omówiliśmy konfigurowanie i używanie wartości domyślnych dla kluczowych parametrów infrastruktury przy użyciu zestawu SageMaker Python SDK. Pozwala to administratorom ustawić domyślne konfiguracje dla naukowców zajmujących się danymi, oszczędzając w ten sposób czas użytkowników i administratorów, eliminując obciążenie związane z powtarzalnym określaniem parametrów i skutkując szczuplejszym i łatwiejszym w zarządzaniu kodem. Aby uzyskać pełną listę obsługiwanych parametrów i interfejsów API, zobacz Konfigurowanie i używanie ustawień domyślnych za pomocą zestawu SageMaker Python SDK. W przypadku jakichkolwiek pytań i dyskusji dołącz do Społeczność uczenia maszynowego i sztucznej inteligencji.
O autorach
Giuseppe Angelo Porcellego jest głównym specjalistą ds. rozwiązań w zakresie uczenia maszynowego dla Amazon Web Services. Dzięki kilkuletniemu doświadczeniu w inżynierii oprogramowania i ML, współpracuje z klientami dowolnej wielkości, aby dogłębnie zrozumieć ich potrzeby biznesowe i techniczne oraz projektować rozwiązania AI i uczenia maszynowego, które najlepiej wykorzystują AWS Cloud i stos Amazon Machine Learning. Pracował przy projektach z różnych dziedzin, w tym MLOps, Computer Vision, NLP oraz obejmujących szeroki zestaw usług AWS. W wolnym czasie Giuseppe lubi grać w piłkę nożną.
Bruno Piston jest Architektem Rozwiązań Specjalistycznych AI/ML dla AWS z siedzibą w Mediolanie. Współpracuje z klientami dowolnej wielkości, pomagając im w głębokim zrozumieniu ich potrzeb technicznych i projektowaniu rozwiązań AI i Machine Learning, które najlepiej wykorzystują chmurę AWS Cloud i stos Amazon Machine Learning. Jego specjalizacja to kompleksowe uczenie maszynowe, uprzemysłowienie uczenia maszynowego i MLOps. Lubi spędzać czas z przyjaciółmi i odkrywać nowe miejsca, a także podróżować do nowych miejsc.
Durga Sury jest Architektem Rozwiązań ML w zespole Amazon SageMaker Service SA. Jej pasją jest udostępnianie uczenia maszynowego wszystkim. W ciągu 4 lat pracy w AWS pomogła skonfigurować platformy AI/ML dla klientów korporacyjnych. Kiedy nie pracuje, uwielbia przejażdżki motocyklem, kryminały i długie spacery ze swoim 5-letnim husky.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoAiStream. Analiza danych Web3. Wiedza wzmocniona. Dostęp tutaj.
- Wybijanie przyszłości w Adryenn Ashley. Dostęp tutaj.
- Kupuj i sprzedawaj akcje spółek PRE-IPO z PREIPO®. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Zdolny
- O nas
- dostęp
- dostępny
- Konto
- działania
- Dodaj
- dodatek
- Dodatkowy
- Adresy
- Administratorzy
- ponownie
- AI
- AI / ML
- Wszystkie kategorie
- Pozwalać
- pozwala
- już
- również
- Chociaż
- Amazonka
- Amazon EC2
- Uczenie maszynowe Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- i
- każdy
- api
- Pszczoła
- Aplikacja
- stosowany
- właściwy
- mobilne i webowe
- SĄ
- AS
- At
- dołączać
- zautomatyzować
- automatycznie
- uniknąć
- AWS
- Tworzenie chmury AWS
- tło
- na podstawie
- BE
- być
- zanim
- Początek
- BEST
- ciało
- obie
- szeroki
- Budowanie
- ciężar
- biznes
- by
- wezwanie
- Połączenia
- CAN
- walizka
- Etui
- CD
- Komórki
- Dodaj
- klient
- Chmura
- kod
- kolekcja
- wspólny
- kompletny
- obliczać
- komputer
- Wizja komputerowa
- warunek
- systemu
- Konsola
- treść
- kontynuować
- kontrola
- kontrolowanych
- Koszty:
- mógłby
- Stwórz
- stworzony
- tworzy
- Tworzenie
- Obecnie
- zwyczaj
- Klientów
- dane
- analiza danych
- naukowiec danych
- Domyślnie
- Domyślnie
- wykazać
- W zależności
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- Wnętrze
- Cele podróży
- różne
- omówione
- dyskusje
- wyświetlacze
- Nie
- domena
- domeny
- zrobić
- nie
- na dół
- każdy
- z łatwością
- przegapić
- bądź
- eliminując
- umożliwiać
- szyfrowane
- szyfrowanie
- zakończenia
- koniec końców
- Punkt końcowy
- egzekwować
- Inżynieria
- zapewnić
- Wchodzę
- Enterprise
- Środowisko
- środowiska
- Błędy
- wszyscy
- przykład
- Przede wszystkim system został opracowany
- oczekuje
- eksperyment
- ekspertyza
- odkryj
- badacz
- Exploring
- FAIL
- fałszywy
- Cecha
- pole
- filet
- Akta
- finansować
- Znajdź
- obserwuj
- następujący
- następujący sposób
- piłka nożna
- W razie zamówieenia projektu
- format
- Darmowy
- przyjaciele
- od
- pełny
- Funkcje
- otrzymać
- miejsce
- git
- Grupy
- Have
- mający
- he
- opieki zdrowotnej
- pomógł
- pomoc
- jej
- jego
- Strona główna
- W jaki sposób
- How To
- HTML
- http
- HTTPS
- ICON
- tożsamość
- if
- importować
- in
- Włącznie z
- przemysłowa
- Infrastruktura
- wkład
- zainstalować
- przykład
- instrukcje
- Interfejs
- Internet
- dostęp do Internetu
- najnowszych
- z udziałem
- IP
- Adresy IP
- izolacja
- IT
- JEGO
- Praca
- Oferty pracy
- przystąpić
- jpg
- Klawisz
- Klawisze
- duży
- nauka
- poziom
- Biblioteka
- wifecycwe
- lubić
- Lista
- miejscowy
- lokalizacja
- lokalizacji
- log
- zalogowany
- zalogowaniu
- długo
- Popatrz
- kocha
- maszyna
- uczenie maszynowe
- robić
- Dokonywanie
- i konserwacjami
- ręcznie
- MILAN
- ML
- MLOps
- Moda
- model
- modele
- jeszcze
- większość
- motocykl
- wielokrotność
- Tajemnica
- Nazwa
- Nazwy
- Nawigacja
- Potrzebować
- potrzebne
- potrzeba
- wymagania
- sieć
- sieci
- Nowości
- Następny
- nlp
- Nie
- notatnik
- Zauważyć..
- Zauważając
- już dziś
- przedmiot
- of
- on
- pewnego razu
- ONE
- koncepcja
- open source
- or
- OS
- Inne
- na zewnątrz
- wydajność
- Zastąp
- własny
- chleb
- parametr
- parametry
- minęło
- Przechodzący
- namiętny
- zwracając
- Miejsca
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- gra
- punkt
- polityka
- Post
- praktyka
- poprzedni
- Główny
- prywatny
- przywileje
- przetwarzanie
- Procesor
- Profil
- profile
- projektowanie
- zapewniać
- publiczny
- Stawia
- Python
- pytania
- Szybki
- polecić
- pozostały
- pamiętać
- zażądać
- wymagany
- Zasoby
- odpowiedź
- Ograniczenia
- wynikły
- Rola
- role
- run
- bieganie
- s
- SA
- sagemaker
- taki sam
- Zapisz
- oszczędność
- Naukowiec
- Naukowcy
- Sdk
- Sekcja
- bezpieczeństwo
- widzieć
- usługa
- Usługi
- Sesja
- zestaw
- ustawienie
- ustawienie
- kilka
- ona
- powinien
- pokazać
- prezentacja
- pokazane
- podobny
- Prosty
- po prostu
- Rozmiar
- Tworzenie
- Inżynieria oprogramowania
- Rozwiązania
- coś
- specjalista
- specyficzny
- określony
- Spędzanie
- stos
- Półki na książki
- początek
- rozpoczęty
- Rynek
- Ewolucja krok po kroku
- Cel
- przechowywanie
- sklep
- przechowywany
- studio
- podsieci
- podsieci
- kolejny
- Z powodzeniem
- taki
- Utrzymany
- podpory
- system
- Zadanie
- zespół
- Techniczny
- szablon
- terminal
- że
- Połączenia
- ich
- Im
- następnie
- a tym samym
- Te
- to
- Przez
- ciasno
- czas
- do
- Top
- ruch drogowy
- Pociąg
- Trening
- SKRĘCAĆ
- Obrócenie
- dla
- zasadniczy
- zrozumieć
- Aktualizacja
- uaktualnienie
- Stosowanie
- posługiwać się
- przypadek użycia
- używany
- Użytkownik
- Użytkownicy
- za pomocą
- wartość
- Wartości
- zweryfikować
- wersja
- przez
- Zobacz i wysłuchaj
- wejść
- Wirtualny
- widoczny
- wizja
- Tom
- kłęby
- chcieć
- we
- sieć
- usługi internetowe
- DOBRZE
- jeśli chodzi o komunikację i motywację
- będzie
- w
- bez
- Praca
- pracował
- pracujący
- działa
- jamla
- lat
- You
- Twój
- zefirnet