Projektowanie hybrydowej strategii dostępu do danych AI/ML za pomocą Amazon SageMaker
Z biegiem czasu wiele przedsiębiorstw zbudowało lokalny klaster serwerów, gromadząc dane, a następnie nabywając więcej serwerów i pamięci masowej. Często rozpoczynają swoją przygodę z ML od eksperymentowania lokalnie na swoich laptopach. Inwestycja w sztuczną inteligencję (AI) jest na innym etapie w każdej organizacji biznesowej. Niektóre pozostają całkowicie lokalne, inne są hybrydowe (zarówno lokalne, jak i w chmurze), a pozostałe całkowicie przeniosły się do chmury w celu obsługi obciążeń AI i uczenia maszynowego (ML).
Te przedsiębiorstwa również badają lub zaczęły wykorzystywać chmurę do rozszerzania swoich systemów lokalnych z kilku powodów. Wraz z rozwojem technologii rośnie z czasem zarówno rozmiar, jak i ilość danych. Ilość przechwytywanych danych i liczba punktów danych stale rośnie, co stanowi wyzwanie w zarządzaniu lokalnym. Wiele przedsiębiorstw jest rozproszonych, z biurami w różnych regionach geograficznych, kontynentach i strefach czasowych. Chociaż możliwe jest zwiększenie powierzchni zajmowanej lokalnie, nadal istnieją ukryte koszty, które należy wziąć pod uwagę w przypadku konserwacji i utrzymania. Organizacje te oczekują, że chmura przeniesie część tych wysiłków i umożliwi im rozerwanie i korzystanie z bogatych funkcji sztucznej inteligencji i uczenia maszynowego w chmurze.
Definiowanie strategii hybrydowego dostępu do danych
Przenoszenie obciążeń uczenia maszynowego do chmury wymaga niezawodnej strategii danych hybrydowych opisującej sposób i czas łączenia lokalnych magazynów danych z chmurą. Na tę chwilę sensowne jest, aby chmura była źródłem prawdy, jednocześnie pozwalając zespołom na używanie i zarządzanie zestawami danych lokalnie. Zdefiniowanie chmury jako źródła prawdy dla zestawów danych oznacza, że pierwotna kopia będzie znajdować się w chmurze, a każdy wygenerowany zestaw danych będzie przechowywany w tej samej lokalizacji w chmurze. Dzięki temu żądania danych są obsługiwane z kopii podstawowej i wszelkich kopii pochodnych.
Strategia hybrydowego dostępu do danych powinna uwzględniać następujące kwestie
Poznaj i zrozum swoją obecną i przyszłą pamięć masową dla ML on-premises. Utwórz mapę obciążeń ML wraz z wymaganiami dotyczącymi wydajności i dostępu na potrzeby testowania i szkolenia. Zdefiniuj łączność w lokalizacjach lokalnych i w chmurze. Obejmuje to ruch wschód-zachód i północ-południe w celu obsługi wzajemnych połączeń między lokacjami, wymaganą przepustowość i przepustowość na potrzeby obciążenia związanego z przenoszeniem danych. Zdefiniuj swoje pojedyncze źródło prawdy (SSOT)[1] i określ miejsce, w którym będą znajdować się przede wszystkim zbiory danych ML. Zastanów się, w jaki sposób będą przechowywane przestarzałe, nowe, gorące i „zimne dane”. Zdefiniuj wymagania dotyczące wydajności pamięci masowej, mapując je na odpowiednie usługi pamięci masowej w chmurze. To da ci możliwość skorzystania z natywnego uczenia maszynowego w chmurze z Amazon SageMaker.
Architektura strategii dostępu do danych hybrydowych
Aby pomóc sprostać tym wyzwaniom, twórcy pracowali nad przedstawieniem kompleksowej architektury systemu na rysunku 1, która definiuje: 1) łączność między lokalnymi centrami danych a regionami AWS; 2) mapowania danych lokalnych do chmury; oraz 3) Dostosowanie Amazon SageMaker do odpowiedniego przechowywania, w oparciu o wymagania ML.
Pora przyjrzeć się tej architekturze krok po kroku.
- Lokalna łączność z chmurą AWS Cloud odbywa się za pośrednictwem AWS Direct Connect w celu uzyskania dużych prędkości transferu.
- AWS DataSync służy do migracji dużych zbiorów danych do Amazon Simple Storage Service (Amazon S3). Agent AWS DataSync jest instalowany lokalnie.
- Lokalny sieciowy system plików (NFS) lub dane bloku komunikatów serwera (SMB) są łączone z chmurą za pośrednictwem Amazon S3 File Gateway, przy użyciu maszyny wirtualnej (VM) lub urządzenia sprzętowego.
- AWS Storage Gateway przesyła dane do Amazon S3 i zapisuje je w lokalnej pamięci podręcznej.
- Amazon S3 jest źródłem prawdy o zasobach ML przechowywanych w chmurze.
- Pobierz dane S3 do eksperymentów do Amazon SageMaker Studio.
- Instancje notebooków Amazon SageMaker mogą uzyskiwać dostęp do danych za pośrednictwem S3, Amazon FSx for Luster i Amazon Elastic File System. Użyj Amazon File Cache do szybkiego buforowania w celu uzyskania dostępu do danych lokalnych oraz Amazon FSx dla NetApp ONTAP do przesyłania danych w chmurze.
- Zadania szkoleniowe SageMaker mogą wykorzystywać dane w Amazon S3, EFS i FSx for Lustre. Dostęp do danych S3 można uzyskać za pośrednictwem trybu Plik, Szybki plik lub Potok i są one wstępnie ładowane lub ładowane z opóźnieniem podczas korzystania z FSx for Lustre jako danych wejściowych zadania szkoleniowego. Wszelkie istniejące dane dotyczące EFS można również udostępnić na potrzeby szkoleń.
- Wykorzystaj Amazon S3 Glacier do archiwizacji danych i zmniejszenia kosztów przechowywania.
Obciążenia ML przy użyciu Amazon SageMaker
Przyjrzyj się bliżej temu, w jaki sposób SageMaker może pomóc Ci z obciążeniami ML.
Aby rozpocząć mapowanie obciążeń ML do chmury, zastanów się, które usługi pamięci masowej AWS współpracują z Amazon SageMaker. Amazon S3 zazwyczaj służy jako centralna lokalizacja przechowywania zarówno ustrukturyzowanych, jak i nieustrukturyzowanych danych, które są używane do uczenia maszynowego. Obejmuje to surowe dane pochodzące z nadrzędnych aplikacji, a także wyselekcjonowane zestawy danych, które są zorganizowane i przechowywane w ramach magazynu funkcji.
W początkowej fazie rozwoju użytkownik SageMaker Studio będzie wykorzystywał interfejsy API S3 do pobierania danych z S3 do swojego prywatnego katalogu domowego. Ten katalog domowy jest wspierany przez system plików EFS zarządzany przez SageMaker. Następnie użytkownicy Studio kierują swój kod notatnika (również przechowywany w katalogu domowym) do lokalnego zestawu danych i rozpoczynają swoje zadania programistyczne.
Aby zwiększyć skalę i zautomatyzować szkolenie modeli, użytkownicy SageMaker mogą uruchamiać zadania szkoleniowe, które działają poza środowiskiem notebooków SageMaker Studio. Istnieje kilka opcji udostępniania danych dla zadania szkoleniowego SageMaker.
- Amazon S3. Użytkownicy mogą określić lokalizację S3 zestawu danych szkoleniowych. Podczas korzystania z S3 jako źródła danych dostępne są trzy tryby wprowadzania danych:
- File mode. Jest to domyślny tryb wprowadzania, w którym SageMaker kopiuje dane z S3 do pamięci instancji szkoleniowej. Ta pamięć masowa to wolumin Amazon Elastic Block Store (Amazon EBS) udostępniony przez SageMaker lub dysk SSD NVMe, który jest dołączony do określonych typów instancji. Uczenie rozpoczyna się dopiero po pobraniu zestawu danych do magazynu, a w magazynie musi być wystarczająco dużo miejsca, aby zmieścić cały zestaw danych.
- Fast file mode. Szybki tryb plików udostępnia obiekty S3 jako system plików POSIX w instancji szkoleniowej. Pliki zestawu danych są przesyłane strumieniowo z S3 na żądanie, gdy skrypt szkoleniowy je odczytuje. Oznacza to, że szkolenie może rozpocząć się wcześniej i wymagać mniej miejsca na dysku. Tryb szybkich plików nie wymaga również zmian w kodzie szkoleniowym.
- Pipe mode. Wejście potokowe również przesyła strumieniowo dane w S3, gdy skrypt szkoleniowy je odczytuje, ale wymaga zmian w kodzie. Tryb wprowadzania potoku został w dużej mierze zastąpiony nowszym i łatwiejszym w użyciu trybem Fast File.
- FSx for Lustre. Użytkownicy mogą określić system plików FSx for Lustre, który SageMaker zamontuje w instancji szkoleniowej i uruchomi kod szkoleniowy. Gdy system plików FSx for Lustre jest połączony z zasobnikiem S3, dane mogą być ładowane z S3 podczas pierwszego zadania szkoleniowego. Kolejne zadania szkoleniowe na tym samym zbiorze danych mogą uzyskiwać do niego dostęp z małym opóźnieniem. Użytkownicy mogą również wstępnie załadować system plików danymi S3 za pomocą poleceń hsm_restore.
- 3. Amazon EFS. Użytkownicy mogą określić system plików EFS, który zawiera już ich dane treningowe. SageMaker zamontuje system plików w instancji szkoleniowej i uruchomi kod szkoleniowy.
Dowiedz się, jak wybrać najlepsze źródło danych dla swojego zadania szkoleniowego SageMaker.
Wnioski
Dzięki tej architekturze referencyjnej możesz opracowywać i dostarczać obciążenia uczenia maszynowego, które działają lokalnie lub w chmurze. Twoje przedsiębiorstwo może nadal korzystać z lokalnej pamięci masowej i mocy obliczeniowej dla określonych obciążeń ML, jednocześnie korzystając z chmury dzięki Amazon SageMaker. Skala dostępna w chmurze pozwala Twojej firmie na przeprowadzanie eksperymentów bez obaw o pojemność. Zacznij definiować swoją strategię danych hybrydowych w AWS już dziś!
Dodatkowe zasoby
- Choose the best data source for your Amazon SageMaker training job
- Hybrid Machine Learning Whitepaper
- Access Training data with Amazon SageMaker
- Learn more about how to migrate data into the AWS Cloud
- Learn more about different AWS storage offerings
Źródło: AWS