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.jsonWdraż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 modeliml.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.Modelwiąże image_uri z model_data w S3model.deploytworzy endpoint czasu rzeczywistego z wybranym typem instance_typepredictor.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
- Konteneryzacja modeli ML za pomocą Dockera
- Wdrażanie w chmurze: AWS SageMaker
- Wysokowydajne udostępnianie modeli za pomocą Triton Inference Server
- Skalowanie i automatyczne skalowanie punktów końcowych modeli