Amazon SageMaker
Amazon SageMaker
Kompletna platforma ML od eksperymentu do produkcji. Buduj, trenuj i wdrażaj modele machine learning na skalę - z kodem lub bez kodu.
Amazon SageMaker to w pełni zarządzana platforma machine learning, która pokrywa cały cykl życia modelu ML: od przygotowania danych, przez trening i optymalizację, po wdrożenie na produkcję i monitoring. Zamiast składać pipeline z wielu narzędzi, masz wszystko w jednym miejscu.
SageMaker oferuje narzędzia dla każdego poziomu zaawansowania. SageMaker Canvas pozwala tworzyć modele ML bez pisania kodu (no-code). Autopilot automatycznie buduje i optymalizuje modele (AutoML). A dla doświadczonych data scientistów jest SageMaker Studio - zintegrowane środowisko z notebookami Jupyter, eksperymentami, pipeline i debugowaniem.
SageMaker Canvas pozwala osobom bez wiedzy programistycznej budować modele ML. Wystarczy załadować plik CSV, wskazać kolumnę docelową, a Canvas automatycznie wytrenuje model i wygeneruje predykcje. Pod spodem wykorzystuje Autopilot, ale cały interfejs to drag-and-drop.
Używaj SageMaker Managed Spot Training do trenowania modeli - oszczędzasz do 90% kosztów za instancje treningowe. Spot Instances mogą zostać przerwane, ale SageMaker automatycznie tworzy checkpointy i wznawia trening. Dla długich zadań treningowych to ogromna oszczędność.
SageMaker to kompleksowa platforma ML, ktora obsluguje caly cykl zycia modelu: od przygotowania danych, przez trening i tuning, po hosting i monitoring w produkcji. Eliminuje potrzebe zarzadzania infrastruktura ML - instancje GPU sa provisionowane na czas treningu i automatycznie zwalniane po zakonczeniu.
SageMaker Studio lub Notebook Instance
Studio to zintegrowane IDE dla ML z JupyterLab, terminalem, debuggerem i wbudowanymi narzedziami do eksperymentowania. Notebook Instance to prostsza opcja - pojedyncza instancja EC2 z Jupyter. Studio oferuje wiecej: SageMaker Experiments (sledzenie eksperymentow), Data Wrangler (wizualna transformacja danych), Feature Store i wspoldzielone przestrzenie. Dla nowych projektow zawsze wybieraj Studio.
Przygotowanie danych (Data Preparation)
SageMaker Data Wrangler pozwala wizualnie transformowac dane (filtrowanie, joinowanie, encoding, normalizacja) bez pisania kodu. SageMaker Processing uruchamia skrypty przetwarzania danych (Spark, scikit-learn) na dedykowanych instancjach - platisz za sekundy uzycia. Feature Store przechowuje przetworzone cechy (features) w centralnym repozytorium z wersjonowaniem, online (latency ponizej 10ms) i offline (S3 Parquet).
Training Job - trening modelu
Training Job uruchamia skrypt treningowy na wybranej instancji (np. ml.p3.2xlarge z GPU V100 lub ml.p4d.24xlarge z 8x A100). Dane treningowe sa kopiowane z S3 do instancji, model jest trenowany, artefakty zapisywane z powrotem do S3. Mozesz uzyc: built-in algorytmow AWS (XGBoost, Linear Learner, Image Classification), frameworkow (TensorFlow, PyTorch, HuggingFace) lub wlasnych kontenerow Docker.
Hyperparameter Tuning
Automatic Model Tuning uruchamia wiele Training Jobow z roznymi hiperparametrami (np. learning rate, batch size, depth) i wybiera najlepszy model wedlug zdefiniowanej metryki. Strategie: Bayesian (inteligentne przeszukiwanie, wymaga mniej iteracji), Random (proste, dobre dla duzej przestrzeni), Grid (wyczerpujace przeszukiwanie), Hyperband (early stopping slabych konfiguracji). Mozesz uruchomic do 500 jobow w jednym tuningu.
Model Hosting (Endpoint)
SageMaker Endpoint hostuje model za REST API. Konfiguracja: typ instancji (np. ml.m5.xlarge dla CPU, ml.g4dn.xlarge dla GPU inference), liczba instancji, auto-scaling (na podstawie InvocationsPerInstance). Opcje: real-time endpoint (latency ponizej 100ms), serverless endpoint (cold start, ale zero kosztow przy braku ruchu), async endpoint (dla dlugich inferencji do 15 minut), batch transform (offline scoring).
Model Monitor - monitoring produkcyjny
Model Monitor automatycznie wykrywa drift danych i degradacje jakosci modelu w produkcji. Typy monitoringu: Data Quality (porownuje rozklad cech z baseline), Model Quality (porownuje predykcje z ground truth), Bias Drift (wykrywa zmiane biasu), Feature Attribution Drift (zmiana waznosci cech). Monitor uruchamia sie cyklicznie (np. co godzine) i generuje raporty w S3. Alarmy CloudWatch powiadamiaja o wykrytym drifcie.
Praktyczne wskazowki z produkcyjnego uzycia SageMaker - od optymalizacji kosztow treningu po strategie MLOps i skalowania endpointow.
SageMaker Studio vs Notebook Instances
Studio: wspoldzielone srodowisko z SSO, presistent storage (EFS), wbudowane narzedzia (Experiments, Data Wrangler, Pipelines), automatyczne zamykanie nieuzywanych instancji. Notebook Instance: prostsza konfiguracja, lifecycle scripts, lepsze dla izolowanych eksperymentow. Studio jest wyborem domyslnym - ma nizsze koszty dzieki auto-shutdown i lepszy workflow zespolowy. Konfiguruj Studio Domain z VPC-only mode dla bezpieczenstwa.
PoczatkujacySpot Training - oszczednosc do 90%
Managed Spot Training uzywa instancji Spot EC2 do treningu - oszczednosc 60-90% vs On-Demand. SageMaker automatycznie obsluguje przerwania: checkpointuje model do S3 i wznawia trening na nowej instancji. Konfiguruj: MaxWaitTimeInSeconds (max czas oczekiwania na instancje) i checkpoint_s3_uri. Spot jest idealny dla dlugotrwalych treningow (godziny/dni). Unikaj Spot dla krotkich jobow ponizej 30 minut.
ZaawansowanyMulti-Model Endpoints - wiele modeli na jednej instancji
Multi-Model Endpoint (MME) hostuje tysiace modeli na jednej instancji. Modele sa ladowane do pamieci on-demand i usuwane gdy nie sa uzywane (LRU eviction). Idealny dla multi-tenant SaaS z osobnym modelem per klient. Koszt: 1 instancja zamiast tysieca. Ograniczenia: cold start przy ladowaniu modelu (sekundy), wymaga uniform frameworka (np. wszystkie modele XGBoost). Dla GPU uzyj multi-model z Triton Inference Server.
ZaawansowanySageMaker Pipelines dla MLOps
Pipelines to CI/CD dla ML: definiujesz kroki (processing, training, evaluation, registration, deployment) jako DAG w Pythonie. Pipeline uruchamia sie automatycznie (np. co tydzien lub po pojawieniu sie nowych danych). Kazdy krok jest logowany w SageMaker Experiments, artefakty wersjonowane, metryki porownywane. Model Registry przechowuje wersje modeli z approval workflow (Pending -> Approved -> Deployed).
ZaawansowanyBuilt-in algorytmy - nie pisz od zera
SageMaker oferuje 17+ zoptymalizowanych algorytmow: XGBoost (tabular data, do 10x szybszy niz open-source wersja), BlazingText (NLP, word embeddings), Image Classification (ResNet-based), Object Detection, Semantic Segmentation, DeepAR (time series forecasting). Built-in algorytmy sa zoptymalizowane pod GPU/CPU i distributed training. Uzyj ich jako baseline przed pisaniem custom modelu.
PoczatkujacyAuto-scaling endpointow inference
Konfiguruj Application Auto Scaling na endpoincie: metryka InvocationsPerInstance (np. target 1000/min), min/max instancji. Dla predictable traffic dodaj scheduled scaling (np. scale up o 8:00, scale down o 20:00). Cool-down: 300s scale-out, 600s scale-in. Monitoruj metryki: ModelLatency (czas inference), OverheadLatency (narzut SageMaker), Invocations (ilosc request). Serverless endpoint to alternatywa dla traffic ponizej 1 request/s.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon SageMaker bezposrednio w konsoli AWS.
Do czego sluzy Amazon SageMaker?
Trening modeli ML na dużą skalę
Trenuj modele na instancjach GPU/CPU bez zarządzania infrastrukturą. SageMaker automatycznie provisionuje klaster treningowy, trenuje model i zwalnia zasoby.
ML bez kodu z SageMaker Canvas
Analitycy biznesowi tworzą modele ML za pomocą interfejsu drag-and-drop. Bez pisania kodu - wystarczy załadować dane CSV i wybrać kolumnę docelową.
Wdrożenie modelu na produkcję
SageMaker Endpoints hostują model jako REST API z auto-scalingiem. Real-time inference, batch transform lub asynchronous inference - w zależności od potrzeb.
MLOps i CI/CD dla modeli
Model Registry, SageMaker Pipelines i automatyczny monitoring driftu modelu. Kompletny MLOps pipeline od eksperymentu do produkcji z wersjonowaniem i audytem.
Co musisz wiedziec?
SageMaker Studio
Zintegrowane środowisko IDE dla ML. Notebooki Jupyter, eksperymenty, debugowanie, pipeline - wszystko w jednym interfejsie webowym. Każdy użytkownik ma osobny profil i zasoby.
Training Jobs
Zarządzane zadania treningowe. Wybierasz typ instancji (CPU/GPU), podajesz dane z S3 i algorytm - SageMaker uruchamia klaster, trenuje model i zapisuje artefakty w S3.
Endpoints (Inference)
Hostowany model jako REST API. Real-time endpoints dla odpowiedzi w milisekundach, serverless endpoints dla rzadkich zapytań, batch transform dla przetwarzania dużych zbiorów.
Autopilot
AutoML - automatycznie eksploruje dane, wybiera algorytmy, tunuje hiperparametry i generuje notebook z pełnym wyjaśnieniem. Ty podajesz tylko dane i kolumnę docelową.
Feature Store
Centralne repozytorium cech (features) ML. Przechowuje, wersjonuje i udostępnia cechy dla treningu (offline store w S3) i inferencji (online store z niskim latency).
Ground Truth
Serwis do etykietowania (labelowania) danych. Automatyzuje proces z użyciem ludzkich annotatorów (Mechanical Turk lub prywatnych zespołów) i active learning do redukcji kosztów.
Architektura: End-to-end ML Pipeline z SageMaker
Kompletny pipeline ML od danych treningowych w S3 przez trening modelu, rejestracje w Model Registry, az po endpoint produkcyjny z monitoringiem. SageMaker Pipelines orkiestruje caly proces w powtarzalny, zautomatyzowany workflow.
Ile kosztuje Amazon SageMaker?
Studio Notebooks
Opłata za czas działania instancji notebookowej. Różne typy od małych CPU po duże GPU.
ml.t3.medium: $0.05/godz., ml.g4dn.xlarge (GPU): $0.74/godz.
Training Jobs
Opłata za czas treningu na wybranych instancjach. Płacisz tylko za czas treningu, nie za idle.
ml.m5.xlarge: $0.23/godz., ml.p3.2xlarge (GPU): $3.83/godz.
Real-time Endpoints
Opłata za czas działania endpointu. Instancja działa 24/7 czekając na requesty.
ml.m5.large: $0.12/godz. (~$86/mies.)
Serverless Inference
Płacisz za czas przetwarzania requestów i provisionowaną pamięć. Zero kosztów gdy brak ruchu.
$0.0001/s przetwarzania + $0.0000015/GB-s pamięci
Przyklady AWS CLI
Uruchom training job
Startuje zadanie treningowe z wbudowanym algorytmem XGBoost
aws sagemaker create-training-job \
--training-job-name moj-model-xgboost \
--algorithm-specification TrainingImage=683313688378.dkr.ecr.eu-central-1.amazonaws.com/sagemaker-xgboost:1.7-1,TrainingInputMode=File \
--role-arn arn:aws:iam::123456789012:role/SageMakerRole \
--input-data-config "[{\"ChannelName\":\"train\",\"DataSource\":{\"S3DataSource\":{\"S3Uri\":\"s3://moje-dane/train/\",\"S3DataType\":\"S3Prefix\"}}}]" \
--output-data-config S3OutputPath=s3://moje-modele/output/ \
--resource-config InstanceType=ml.m5.xlarge,InstanceCount=1,VolumeSizeInGB=10
Utwórz endpoint
Wdraża wytrenowany model jako REST API endpoint
aws sagemaker create-endpoint \
--endpoint-name moj-endpoint-prod \
--endpoint-config-name moj-endpoint-config
Wywołaj predykcję
Wysyła dane do endpointu i otrzymuje predykcję modelu
aws sagemaker-runtime invoke-endpoint \
--endpoint-name moj-endpoint-prod \
--content-type text/csv \
--body "25,1,3,50000,0,1" \
/dev/stdout
Sprawdź status treningu
Wyświetla szczegóły i status zadania treningowego
aws sagemaker describe-training-job \
--training-job-name moj-model-xgboost \
--query "{Status: TrainingJobStatus, Duration: TrainingTimeInSeconds, BillableTime: BillableTimeInSeconds}"
Quiz: Amazon SageMaker
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Co robi SageMaker Autopilot?
2. Czym jest SageMaker Feature Store?
3. Który typ inference jest najtańszy dla rzadko używanego modelu?
4. Do czego służy SageMaker Ground Truth?
Czesto uzywane razem z Amazon SageMaker
Chcesz poznac Amazon SageMaker w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon SageMaker krok po kroku. Teoria + praktyka od zera.