Generatywna analiza danych

Przyspiesz przepływ pracy ML dzięki obsłudze trybu lokalnego i obsługi Dockera Amazon SageMaker Studio | Usługi internetowe Amazona

Data:

Z radością ogłaszamy dwie nowe możliwości w aplikacji Studio Amazon SageMaker które przyspieszą rozwój iteracyjny dla praktyków uczenia maszynowego (ML): obsługa trybu lokalnego i platformy Docker. Opracowywanie modelu uczenia maszynowego często obejmuje powolne cykle iteracji, gdy programiści przełączają się między kodowaniem, szkoleniem i wdrażaniem. Każdy krok wymaga oczekiwania na uruchomienie zdalnych zasobów obliczeniowych, co opóźnia sprawdzanie poprawności implementacji i uzyskiwanie informacji zwrotnych na temat zmian.

Dzięki trybowi lokalnemu programiści mogą teraz trenować i testować modele, debugować kod i weryfikować kompleksowe potoki bezpośrednio w instancji notatnika SageMaker Studio bez konieczności uruchamiania zdalnych zasobów obliczeniowych. Skraca to cykl iteracji z minut do sekund, zwiększając produktywność programistów. Obsługa Dockera w notatnikach SageMaker Studio umożliwia programistom bezproblemowe budowanie kontenerów Docker i uzyskiwanie dostępu do gotowych kontenerów, zapewniając spójne środowisko programistyczne w całym zespole i unikając czasochłonnej konfiguracji i zarządzania zależnościami.

Obsługa trybu lokalnego i platformy Docker zapewnia usprawniony przepływ pracy podczas sprawdzania poprawności zmian w kodzie i tworzenia prototypów modeli przy użyciu lokalnych kontenerów działających na notatniku SageMaker Studio

instancja. W tym poście przeprowadzimy Cię przez konfigurację trybu lokalnego w SageMaker Studio, uruchomienie przykładowego zadania szkoleniowego i wdrożenie modelu na serwerze Amazon Sage Maker punkt końcowy z notatnika SageMaker Studio.

Tryb lokalny SageMaker Studio

W SageMaker Studio wprowadzono tryb lokalny, umożliwiający uruchamianie zadań szkoleniowych, wnioskowania, transformacji wsadowych i przetwarzania SageMaker bezpośrednio w instancjach notatników JupyterLab, Code Editor lub SageMaker Studio Classic bez konieczności stosowania zdalnych zasobów obliczeniowych. Korzyści z używania trybu lokalnego obejmują:

  • Natychmiastowa weryfikacja i testowanie przepływów pracy bezpośrednio w zintegrowanych środowiskach programistycznych (IDE)
  • Szybsza iteracja poprzez lokalne przebiegi w przypadku zadań na mniejszą skalę w celu sprawdzenia wyników i wcześniejszej identyfikacji problemów
  • Poprawiona wydajność programowania i debugowania poprzez eliminację oczekiwania na zdalne zadania szkoleniowe
  • Natychmiastowa informacja zwrotna na temat zmian w kodzie przed uruchomieniem pełnych zadań w chmurze

Poniższy rysunek ilustruje przepływ pracy w trybie lokalnym w SageMaker.

Przepływ pracy w trybie lokalnym w SageMaker

Aby korzystać z trybu lokalnego, ustaw instance_type='local' podczas uruchamiania zadań SageMaker Python SDK, takich jak uczenie i wnioskowanie. Spowoduje to uruchomienie ich w instancjach używanych przez Twoje środowiska IDE SageMaker Studio zamiast udostępniania zasobów w chmurze.

Chociaż niektóre funkcje, takie jak szkolenie rozproszone, są dostępne tylko w chmurze, tryb lokalny eliminuje potrzebę przełączania kontekstów w celu szybkich iteracji. Kiedy będziesz gotowy, aby wykorzystać pełną moc i skalę SageMaker, możesz bezproblemowo uruchomić przepływ pracy w chmurze.

Obsługa Dockera w SageMaker Studio

SageMaker Studio umożliwia teraz także budowanie i uruchamianie kontenerów Docker lokalnie w instancji notatnika SageMaker Studio. Ta nowa funkcja umożliwia tworzenie i sprawdzanie obrazów Dockera w SageMaker Studio przed użyciem ich do uczenia i wnioskowania SageMaker.

Poniższy diagram ilustruje architekturę orkiestracji Docker wysokiego poziomu w SageMaker Studio.

wysokopoziomowa architektura orkiestracji Docker w SageMaker Studio

Dzięki obsłudze Dockera w SageMaker Studio możesz:

  • Twórz kontenery Docker ze zintegrowanymi modelami i zależnościami bezpośrednio w SageMaker Studio
  • Wyeliminuj potrzebę zewnętrznych procesów kompilacji platformy Docker, aby uprościć tworzenie obrazów
  • Uruchamiaj kontenery lokalnie, aby sprawdzić funkcjonalność przed wdrożeniem modeli w środowisku produkcyjnym
  • Wykorzystuj ponownie lokalne kontenery podczas wdrażania w SageMaker na potrzeby szkoleń i hostingu

Chociaż w chwili pisania tego tekstu niektóre zaawansowane możliwości platformy Docker, takie jak obsługa wielu kontenerów i sieci niestandardowe, nie są obsługiwane, dostępna jest podstawowa funkcja kompilacji i uruchamiania, która przyspiesza tworzenie kontenerów na potrzeby przepływów pracy typu „przynieś własny kontener” (BYOC).

Wymagania wstępne

Aby korzystać z trybu lokalnego w aplikacjach SageMaker Studio, należy spełnić następujące wymagania wstępne:

  • Do pobierania obrazów z Rejestr elastycznego pojemnika Amazon (Amazon ECR), konto hostujące obraz ECR musi zapewniać użytkownikowi uprawnienia dostępu Zarządzanie tożsamością i dostępem (IAM) rolę. Rola domeny musi także umożliwiać dostęp do Amazon ECR.
  • Aby włączyć możliwości trybu lokalnego i okna Docker, należy ustawić opcję EnableDockerAccess parametr na true dla domeny DockerSettings używając Interfejs wiersza poleceń AWS (interfejs wiersza poleceń AWS). Dzięki temu użytkownicy w domenie mogą korzystać z trybu lokalnego i funkcji Dockera. Domyślnie tryb lokalny i okno dokowane są wyłączone w SageMaker Studio. Aby aktualizacja usługi Docker zaczęła obowiązywać, konieczne będzie ponowne uruchomienie wszystkich istniejących aplikacji SageMaker Studio. Poniżej znajduje się przykładowe polecenie CLI AWS służące do aktualizacji domeny SageMaker Studio:
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym

SageMaker Studio JupyterLab i edytor kodu (w oparciu o Code-OSS, kod Visual Studio – Open Source), rozszerza SageMaker Studio, dzięki czemu możesz pisać, testować, debugować i uruchamiać analizy i kod ML przy użyciu popularnego, lekkiego IDE. Aby uzyskać więcej informacji na temat rozpoczęcia pracy z środowiskami IDE SageMaker Studio, zobacz Zwiększ produktywność w Amazon SageMaker Studio: Przedstawiamy JupyterLab Spaces i generatywne narzędzia AI i Nowość – Edytor kodu oparty na Code-OSS VS Code Open Source, teraz dostępny w Amazon SageMaker Studio. Wykonaj następujące kroki:

Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym

  • Utwórz nowy terminal.  Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym
  • Zainstaluj wtyczkę Docker CLI i Docker Compose, postępując zgodnie z poniższymi instrukcjami GitHub repo. Jeśli polecenia połączone zawiodą, uruchom je pojedynczo.

Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Należy zaktualizować pakiet SageMaker SDK do najnowszej wersji.

  • run pip install sagemaker -Uq w terminalu.

Tylko w przypadku Edytora kodu musisz ustawić środowisko Python tak, aby działało w bieżącym terminalu.

  • W Edytorze kodu na menu plik¸ wybierz Preferencje i Ustawienia.

Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym

  • Wyszukaj i wybierz Terminal: Wykonaj w katalogu pliku.

Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym

  • W edytorze kodu lub JupyterLab otwórz plik scikit_learn_script_mode_local_training_and_serving folder i uruchom scikit_learn_script_mode_local_training_and_serving.py plik.

Możesz uruchomić skrypt, wybierając run w edytorze kodu lub przy użyciu interfejsu CLI w terminalu JupyterLab. Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Będziesz mógł zobaczyć, jak model jest szkolony lokalnie. Następnie wdrażasz model lokalnie w punkcie końcowym SageMaker i obliczasz średni błąd kwadratowy (RMSE). Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym Uruchamiaj pliki Pythona w przestrzeniach SageMaker Studio w trybie lokalnym

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

W SageMaker Studio Classic możesz także używać notatnika, aby przeprowadzić na nim zadanie szkoleniowe na małą skalę CIFAR10 korzystając z trybu lokalnego, wdróż model lokalnie i wykonaj wnioskowanie.

Skonfiguruj swój notatnik

Aby skonfigurować notatnik, wykonaj następujące kroki:

  • Otwórz SageMaker Studio Classic i sklonuj poniższy plik GitHub repo.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Otwórz pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • W razie zamówieenia projektu Obrazwybierz PyTorch 2.1.0 Python 3.10 CPU Optimized.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego Upewnij się, że Twój notatnik wyświetla prawidłową instancję i wybór jądra. Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Otwórz terminal, wybierając Uruchom terminal w bieżącym obrazie SageMaker.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Zainstaluj wtyczkę Docker CLI i Docker Compose, postępując zgodnie z poniższymi instrukcjami GitHub repo.

Ponieważ używasz Dockera z SageMaker Studio Classic, usuń sudo podczas uruchamiania poleceń, ponieważ terminal działa już pod kontrolą superużytkownika. W przypadku SageMaker Studio Classic polecenia instalacyjne zależą od systemu operacyjnego obrazu aplikacji SageMaker Studio. Na przykład obrazy frameworku oparte na DLC są oparte na systemie Ubuntu i w przypadku których poniższe instrukcje będą działać. Jednakże w przypadku obrazu opartego na Debianie, takiego jak obrazy DataScience, należy postępować zgodnie z poniższymi instrukcjami GitHub repo. Jeśli polecenia połączone zawiodą, uruchom je pojedynczo. Powinna zostać wyświetlona wersja Dockera. Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Pozostaw okno terminala otwarte, wróć do notatnika i zacznij go uruchamiać komórka po komórce.

Upewnij się, że uruchomiłeś komórkę za pomocą pip install -U sagemaker więc używasz najnowszej wersji pakietu SageMaker Python SDK.

Szkolenie lokalne

Kiedy zaczniesz uruchamiać lokalne zadanie szkoleniowe SageMaker, zobaczysz następujące wiersze dziennika:

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

Oznacza to, że szkolenie było prowadzone lokalnie przy użyciu platformy Docker.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

Bądź cierpliwy podczas pytorch-training:2.1-cpu-py310 Obraz platformy Docker jest ściągany. Ze względu na duży rozmiar (5.2 GB) może to zająć kilka minut.

Obrazy Dockera będą przechowywane w woluminie głównym instancji aplikacji SageMaker Studio, który nie jest dostępny dla użytkowników końcowych. Jedynym sposobem uzyskania dostępu do obrazów platformy Docker i interakcji z nią są udostępnione operacje interfejsu API platformy Docker.

Z punktu widzenia poufności użytkownika platforma SageMaker Studio nigdy nie uzyskuje dostępu do obrazów specyficznych dla użytkownika ani ich nie przechowuje.

Po zakończeniu szkolenia zobaczysz następujące wiersze dziennika sukcesów:

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

Wnioskowanie lokalne

Wykonaj następujące kroki:

  • Wdróż punkt końcowy SageMaker przy użyciu trybu lokalnego SageMaker.

Bądź cierpliwy podczas pytorch-inference:2.1-cpu-py310 Obraz platformy Docker jest ściągany. Ze względu na duży rozmiar (4.32 GB) może to zająć kilka minut.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Wywołaj punkt końcowy SageMaker wdrożony lokalnie, korzystając z obrazów testowych.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

Będziesz mógł zobaczyć przewidywane klasy: żaba, statek, samochód i samolot:

Predicted:  frog ship  car plane

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Ponieważ lokalny punkt końcowy SageMaker nadal działa, wróć do otwartego okna terminala i wyświetl listę uruchomionych kontenerów:

docker ps

Będziesz mógł zobaczyć bieg pytorch-inference:2.1-cpu-py310 kontener obsługujący punkt końcowy SageMaker.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Aby zamknąć lokalny punkt końcowy SageMaker i zatrzymać działający kontener, ponieważ jednocześnie można uruchomić tylko jeden lokalny punkt końcowy, uruchom kod czyszczący.

Symuluj uczenie i wnioskowanie w SageMaker Studio Classic przy użyciu trybu lokalnego

  • Aby upewnić się, że kontener Docker jest wyłączony, możesz przejść do otwartego okna terminala, uruchomić docker ps i upewnić się, że nie ma uruchomionych kontenerów.
  • Jeśli widzisz uruchomiony kontener, uruchom go docker stop <CONTAINER_ID> zatrzymać to.

Wskazówki dotyczące korzystania z trybu lokalnego programu SageMaker

Jeżeli używasz SageMakera po raz pierwszy, zapoznaj się z sekcją Trenuj modele uczenia maszynowego. Aby dowiedzieć się więcej na temat wdrażania modeli na potrzeby wnioskowania za pomocą SageMaker, zobacz Wdrażaj modele na potrzeby wnioskowania.

Należy pamiętać o następujących zaleceniach:

  • Drukuj pliki wejściowe i wyjściowe oraz foldery, aby zrozumieć ładowanie zestawu danych i modelu
  • Do szybkiego testowania użyj 1–2 epok i małych zbiorów danych
  • Wstępnie zainstaluj zależności w pliku Dockerfile, aby zoptymalizować konfigurację środowiska
  • Izoluj kod serializacji w punktach końcowych na potrzeby debugowania

Skonfiguruj instalację Dockera jako konfigurację cyklu życia

Możesz zdefiniować proces instalacji Dockera jako skrypt konfiguracji cyklu życia (LCC), aby uprościć konfigurację za każdym razem, gdy uruchamiana jest nowa przestrzeń SageMaker Studio. LCC to skrypty uruchamiane przez SageMaker podczas zdarzeń takich jak tworzenie przestrzeni. Patrz laboratorium jupytera, Edytor kodulub Klasyczny program SageMaker Studio Konfiguracja LCC (przy użyciu instalacja dokowana cli jako odniesienie), aby dowiedzieć się więcej.

Skonfiguruj instalację Dockera jako konfigurację cyklu życia

Skonfiguruj instalację Dockera jako konfigurację cyklu życia

Twórz i testuj niestandardowe obrazy Dockera w przestrzeniach SageMaker Studio

Na tym etapie instalujesz Docker w przestrzeni aplikacji JupyterLab (lub Code Editor) i używasz Dockera do tworzenia, testowania i publikowania niestandardowych obrazów Dockera w przestrzeniach SageMaker Studio. Przestrzenie służą do zarządzania zapotrzebowaniem na pamięć i zasoby niektórych aplikacji SageMaker Studio. Każda przestrzeń ma relację 1:1 z instancją aplikacji. Każda utworzona obsługiwana aplikacja otrzymuje własną przestrzeń. Aby dowiedzieć się więcej o przestrzeniach SageMaker, zobacz Zwiększ produktywność w Amazon SageMaker Studio: Przedstawiamy JupyterLab Spaces i generatywne narzędzia AI. Upewnij się, że udostępniono nowe miejsce o pojemności co najmniej 30 GB, aby zapewnić wystarczającą ilość miejsca na obrazy i artefakty platformy Docker.

Zainstaluj Dockera w przestrzeni

Aby zainstalować wtyczkę Docker CLI i Docker Compose w przestrzeni JupyterLab, uruchom następujące polecenia GitHub repo. Studio SageMaker obsługuje tylko wersję Dockera 20.10.X.

Twórz obrazy Dockera

Aby potwierdzić, że Docker jest zainstalowany i działa w przestrzeni JupyterLab, uruchom następujący kod:

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

Aby zbudować niestandardowy obraz Dockera w przestrzeni JupyterLab (lub edytorze kodu), wykonaj następujące kroki:

  • Utwórz pusty plik Dockerfile:

touch Dockerfile

  • Edytuj plik Dockerfile za pomocą następujących poleceń, które tworzą prosty obraz serwera WWW Flask z podstawowego języka Python: Obraz 3.10.13-bullseye hostowany na Centrum Dockera:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

Poniższy kod przedstawia zawartość przykładowego pliku aplikacji Flask app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

Ponadto można zaktualizować referencyjne polecenia pliku Dockerfile, aby uwzględnić wybrane pakiety i artefakty.

  • Zbuduj obraz Dockera, korzystając z referencyjnego pliku Dockerfile:

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

Zawierać --network sagemaker w poleceniu budowania okna dokowanego, w przeciwnym razie kompilacja zakończy się niepowodzeniem. Kontenerów nie można uruchamiać w domyślnym moście platformy Docker ani w niestandardowych sieciach platformy Docker. Kontenery działają w tej samej sieci, co kontener aplikacji SageMaker Studio. Użytkownicy mogą używać tylko sagemaker jako nazwy sieci.

  • Po zakończeniu kompilacji sprawdź, czy obraz istnieje. Ponownie oznacz kompilację jako obraz ECR i naciśnij. Jeśli napotkasz problemy z uprawnieniami, uruchom polecenie aws ecr get-login-password… i spróbuj ponownie uruchomić funkcję push/pull Dockera:
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

Przetestuj obrazy Dockera

Zainstalowanie Dockera w przestrzeni JupyterLab (lub edytora kodu) SageMaker Studio umożliwia testowanie gotowych lub niestandardowych obrazów Dockera jako kontenerów (lub aplikacji kontenerowych). W tej sekcji używamy polecenia docker run, aby udostępnić kontenery Docker w przestrzeni SageMaker Studio w celu testowania konteneryzowanych obciążeń, takich jak usługi internetowe REST i skrypty Python. Wykonaj następujące kroki:

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • Jeśli obraz testowy nie istnieje, uruchom polecenie docker pull, aby pobrać obraz na komputer lokalny:

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • Jeśli napotkasz problemy z uwierzytelnianiem, uruchom następujące polecenia:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • Utwórz kontener, aby przetestować obciążenie:

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

Spowoduje to uruchomienie nowej instancji kontenera i uruchomienie aplikacji zdefiniowanej za pomocą ENTRYPOINT Dockera:

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • Aby sprawdzić, czy punkt końcowy sieci jest aktywny, przejdź do adresu URL https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

Powinieneś zobaczyć odpowiedź JSON podobną do poniższego zrzutu ekranu.

Skonfiguruj instalację Dockera jako konfigurację cyklu życia

Sprzątać

Aby uniknąć niepotrzebnych opłat, usuń zasoby utworzone podczas uruchamiania przykładów w tym poście:

  1. W swojej domenie SageMaker Studio wybierz Studio Klasyczne w okienku nawigacji, a następnie wybierz Stop.
  2. W swojej domenie SageMaker Studio wybierz laboratorium jupytera or Edytor kodu w okienku nawigacji wybierz aplikację, a następnie wybierz Stop.

Wnioski

Obsługa trybu lokalnego i platformy Docker w SageMaker Studio umożliwia programistom szybsze tworzenie, testowanie i iterowanie wdrożeń ML bez konieczności opuszczania obszaru roboczego. Zapewniając natychmiastowy dostęp do środowisk testowych i wyników, funkcje te optymalizują przepływ pracy i zwiększają produktywność. Wypróbuj obsługę lokalnego modelu i platformy Docker w SageMaker Studio, korzystając z naszego szybka funkcja pokładowa, co pozwala na uruchomienie nowej domeny dla pojedynczych użytkowników w ciągu kilku minut. Podziel się swoimi przemyśleniami w sekcji komentarzy!


O autorach

Shweta SinghShweta Singh jest starszym menedżerem produktu w zespole platformy Amazon SageMaker Machine Learning (ML) w AWS, kierującym pakietem SDK SageMaker Python. Przez ponad 5 lat pracowała na kilku stanowiskach produktowych w Amazon. Uzyskała tytuł licencjata w dziedzinie inżynierii komputerowej oraz tytuł magistra w dziedzinie inżynierii finansowej na Uniwersytecie Nowojorskim

Eitana SeliEitana Seli jest architektem rozwiązań generatywnej sztucznej inteligencji i uczenia maszynowego w AWS. Współpracuje z klientami AWS, zapewniając wskazówki i pomoc techniczną, pomagając im budować i obsługiwać rozwiązania generatywnej sztucznej inteligencji i uczenia maszynowego w AWS. W wolnym czasie Eitan lubi jogging i czytanie najnowszych artykułów na temat uczenia maszynowego.

Pranava Murthy’egoPranava Murthy’ego jest architektem rozwiązań specjalistycznych AI/ML w AWS. Koncentruje się na pomaganiu klientom w budowaniu, szkoleniu, wdrażaniu i migracji obciążeń uczenia maszynowego (ML) do SageMaker. Wcześniej pracował w branży półprzewodników, opracowując duże modele widzenia komputerowego (CV) i przetwarzania języka naturalnego (NLP) w celu ulepszenia procesów półprzewodnikowych przy użyciu najnowocześniejszych technik ML. W wolnym czasie lubi grać w szachy i podróżować. Możesz znaleźć Pranav na LinkedIn.

Mufaddal RohawalaMufaddal Rohawala jest inżynierem oprogramowania w AWS. Pracuje nad biblioteką SageMaker Python SDK dla Amazon SageMaker. W wolnym czasie podróżuje, aktywnie spędza czas na świeżym powietrzu i jest fanem piłki nożnej.

spot_img

Najnowsza inteligencja

spot_img

Czat z nami

Cześć! Jak mogę ci pomóc?