0Pricing
Learn AI with Python · Lekcja

Wdrażanie w chmurze: AWS SageMaker

SageMaker Model, EndpointConfig, Endpoint, inferencja w czasie rzeczywistym, transformacja wsadowa.

Wdrażanie w chmurze: AWS SageMaker to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Dlaczego SageMaker

Amazon SageMaker to zarządzana usługa do trenowania i wdrażania modeli ML. Zamiast samodzielnie konfigurować serwery i moduły równoważenia obciążenia, opisujesz model, a SageMaker przygotowuje w tle skalowalny endpoint HTTPS.

Trzy składniki

Wdrożenie w SageMaker wymaga trzech elementów:

  • Obrazu kontenera image_uri (obrazu serwującego model, przechowywanego w ECR, lub wbudowanego obrazu środowiska)
  • Wytrenowanych wag jako model_data — archiwum tar.gz w S3
  • Roli IAM przyznającej SageMakerowi dostęp do tych zasobów

Definiowanie modelu

Obiekt sagemaker.Model łączy obraz kontenera z artefaktem modelu w S3.

import sagemaker
from sagemaker.model import Model

model = Model(
    image_uri="123456789012.dkr.ecr.us-east-1.amazonaws.com/my-model:latest",
    model_data="s3://my-bucket/models/model.tar.gz",
    role="arn:aws:iam::123456789012:role/SageMakerRole",
)

Co zawiera model.tar.gz

Podczas uruchamiania SageMaker pobiera model_data i rozpakowuje je do /opt/ml/model wewnątrz kontenera. Kod serwujący model odczytuje stamtąd wagi. Archiwum zazwyczaj zawiera zapisany plik modelu oraz zasoby potrzebne do wstępnego przetwarzania.

# model.tar.gz contents
# model.pt
# tokenizer.json
# config.json

Wdrażanie endpointu czasu rzeczywistego

model.deploy uruchamia co najmniej jedną instancję za trwałym endpointem HTTPS. Wybiera Pan/Pani instance_type oraz początkową liczbę instancji.

predictor = model.deploy(
    initial_instance_count=1,
    instance_type="ml.m5.xlarge",
    endpoint_name="my-model-endpoint",
)

Wybór typu instancji

Typ instancji wpływa na koszt i opóźnienie:

  • ml.m5.* — procesor CPU ogólnego przeznaczenia, tani w przypadku małych modeli
  • ml.c5.* — zoptymalizowany pod kątem obliczeń
  • ml.g4dn.* / ml.g5.* — procesor GPU do wnioskowania w ramach uczenia głębokiego

Typ instancji należy dopasować do modelu: użycie GPU w przypadku niewielkiego modelu scikit-learn byłoby marnotrawstwem.

Wywoływanie predict()

Po wdrożeniu predictor.predict() wysyła dane do endpointu i zwraca wynik wnioskowania. SageMaker serializuje żądanie i przekazuje je do działającej instancji.

result = predictor.predict({
    "instances": [[5.1, 3.5, 1.4, 0.2]]
})
print(result)

Usuwanie endpointów

Opłaty za endpointy czasu rzeczywistego są naliczane za każdą sekundę ich działania. Zawsze należy usuwać niepotrzebne endpointy, ponieważ w przeciwnym razie opłaty będą naliczane nawet przy zerowym ruchu.

predictor.delete_endpoint()

Batch Transform do zadań offline

Do jednorazowego oceniania dużego zbioru danych (a nie obsługi żądań wymagających małego opóźnienia) należy użyć funkcji batch transform. SageMaker uruchamia instancje, przetwarza cały zbiór danych z S3, zapisuje wyniki z powrotem w S3, a następnie wyłącza instancje. Brak trwałego endpointu oznacza brak kosztów bezczynności.

Uruchamianie Batch Transform

Tworzy Pan/Pani transformer na podstawie modelu i wskazuje dane wejściowe w S3.

transformer = model.transformer(
    instance_count=1,
    instance_type="ml.m5.xlarge",
    output_path="s3://my-bucket/predictions/",
)
transformer.transform(
    data="s3://my-bucket/input/batch.csv",
    content_type="text/csv",
)
transformer.wait()

Czas rzeczywisty a przetwarzanie wsadowe

Wyboru należy dokonać na podstawie charakteru obciążenia:

  • Endpoint czasu rzeczywistego: ciągłe żądania wymagające małego opóźnienia (np. API rekomendacji)
  • Batch transform: okresowe ocenianie dużych zbiorów danych (np. nocne prognozy odejść klientów)

Przetwarzanie wsadowe jest znacznie tańsze, gdy natychmiastowe odpowiedzi nie są potrzebne.

Szybkie sprawdzenie

Kiedy należy użyć funkcji batch transform w SageMaker zamiast endpointu czasu rzeczywistego?

Podsumowanie

Wdrożyłeś model w AWS SageMaker:

  • sagemaker.Model wiąże image_uri z model_data w S3
  • model.deploy tworzy endpoint czasu rzeczywistego z wybranym typem instance_type
  • predictor.predict() wysyła żądania wnioskowania
  • Batch transform tanio obsługuje duże zadania offline
  • Zawsze usuwaj bezczynne endpointy, aby uniknąć opłat

Często zadawane pytania

Czy lekcja „Wdrażanie w chmurze: AWS SageMaker” jest bezpłatna?

Tak — pełny tekst „Wdrażanie w chmurze: AWS SageMaker” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Wdrażanie w chmurze: AWS SageMaker”?

SageMaker Model, EndpointConfig, Endpoint, inferencja w czasie rzeczywistym, transformacja wsadowa. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Wdrażanie w chmurze: AWS SageMaker”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?

Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konteneryzacja modeli ML za pomocą Dockera
  2. Wdrażanie w chmurze: AWS SageMaker
  3. Wysokowydajne udostępnianie modeli za pomocą Triton Inference Server
  4. Skalowanie i automatyczne skalowanie punktów końcowych modeli
← Powrót do Learn AI with Python