Amazon MLS-C01: Trenowanie, trenowanie rozproszone i optymalizacja hiperparametrów — Przewodnik do nauki

Część AWS Machine Learning Specialty MLS-C01 — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Amazon, albo rozwiąż testy na czas na ExamRoll.io.

Zadania treningowe, kontenery i migracja do chmury z minimalnymi zmianami w kodzie

Podczas przenoszenia zadań treningowych do SageMaker, głównym celem projektowym jest uniknięcie przepisywania kodu modelu, przy jednoczesnym zapewnieniu, że środowisko uruchomieniowe kontenera udostępnia oczekiwane zmienne środowiskowe i ścieżki kanałów SageMaker. Użyj trybu SageMaker Script Mode z Estymatorem specyficznym dla danego frameworka (PyTorch, TensorFlow, XGBoost), aby ten sam skrypt treningowy działał lokalnie i w chmurze przy minimalnych zmianach: odczytuj dane z SM_CHANNEL_TRAIN, zapisuj model do SM_MODEL_DIR i uwzględniaj SM_NUM_GPUS/SM_HOSTS/SM_CURRENT_HOST. W przypadku niestandardowych środowisk, zbuduj obraz Docker, który rozszerza oficjalne kontenery AWS Deep Learning Containers (lub SageMaker training toolkit) i wypchnij go do Amazon ECR; upewnij się, że punkt wejścia (entry point) kontenera jest zgodny z kontraktem treningowym SageMaker. Wybieraj typy instancji na podstawie profilu obliczeniowego: zadania intensywnie wykorzystujące CPU na rodzinach ml.c5/m5, trening na GPU na instancjach ml.p3, ml.p4d, g4dn lub g5; dobieraj rozmiar instancji według pamięci i stosunku liczby GPU do CPU. Częste pułapki to zaszyte na stałe lokalne ścieżki plików, założenie o istnieniu jednego hosta (co powoduje błędy w zadaniach rozproszonych) oraz niedeklarowanie trybu wejściowego danych treningowych (Pipe vs File), co wpływa na wydajność I/O. Dla zapewnienia powtarzalności i przewidywalności kosztów, włącz zarządzany trening spot dopiero po dodaniu solidnego mechanizmu checkpointingu i ustawieniu max_wait > max_run, aby umożliwić przerwania instancji Spot.

Wzorce treningu rozproszonego, tryby wprowadzania danych i wybór pamięci masowej

Rozproszone uczenie głębokie wymaga zrównoważenia równoległości modelu (model parallelism), równoległości danych (data parallelism) i architektury I/O. Do treningu na wielu GPU na jednym hoście oraz na wielu hostach używaj natywnych mechanizmów frameworków — torch.distributed lub MultiWorkerMirroredStrategy w TensorFlow — albo wykorzystaj biblioteki smdistributed od SageMaker: smdistributed.dataparallel do skalowania z równoległością danych oraz smdistributed.modelparallel lub DeepSpeed dla bardzo dużych modeli typu transformer. Używaj S3 jako kanonicznej pamięci masowej dla dużych zbiorów danych, ale unikaj dużej liczby małych zapytań S3 GET: skonsoliduj pliki w mniejszą liczbę archiwów, użyj poszatkowanych (sharded) plików RecordIO/TFRecord lub podłącz system plików POSIX. Wybierz tryb Pipe, aby strumieniować dane treningowe bezpośrednio z S3 dla dużych zbiorów danych, co zmniejsza zużycie lokalnego dysku i czas uruchomienia; użyj trybu File, gdy trening wymaga dostępu swobodnego (random-access) lub gdy potrzebujesz pełnego zbioru danych na woluminie EBS. Aby uzyskać wysoką przepustowość i semantykę POSIX na wielu instancjach, zamontuj Amazon FSx for Lustre lub Amazon EFS; FSx jest lepszy do wysokowydajnych odczytów równoległych. Częste błędy to brak szatkowania (shardingu) danych między hostami (co powoduje duplikację), przeszacowanie przepustowości S3 na instancję oraz ignorowanie zasad skalowania rozmiaru batcha (batch-size) i współczynnika uczenia (learning-rate) przy zwiększaniu równoległości.

Trening na instancjach Spot, checkpointing i strategie optymalizacji kosztów

Zarządzany trening Spot (Managed Spot training) może radykalnie obniżyć koszty, jeśli projekt Twojego treningu jest odporny na przerwania. Skonfiguruj zarządzany trening spot za pomocą Estymatora SageMaker (use_spot_instances=True), dodając checkpointing: podaj trwały checkpoint_s3_uri i lokalny checkpoint_dir oraz zapisuj checkpointy na tyle często, aby ograniczyć czas potrzebny na powtórzenie pracy. Ustaw max_wait znacznie powyżej max_run, aby zadanie mogło ponowić próbę na przerwanych instancjach w ramach okna czasowego spot. W przypadku frameworków zaimplementuj atomowe zapisywanie checkpointów i solidną logikę wznawiania, która sprawdza najnowszy checkpoint w S3, przywraca stan optymalizatora i harmonogramu (scheduler), a następnie kontynuuje trening. Częstotliwość checkpointingu powinna równoważyć narzut związany z zapisem i potencjalną stratę mocy obliczeniowej; w przypadku długich epok lub bardzo dużych modeli, zapisuj checkpointy w trakcie epoki, używając migawek z akumulacji gradientu lub zapisów co określoną liczbę kroków. Pułapki kosztowe obejmują zapominanie o utrwalaniu checkpointów w S3 (co powoduje pełny restart po przerwaniu), poleganie na efemerycznej pamięci masowej instancji oraz ustawienie max_wait równego max_run, co uniemożliwia ponawianie prób. Połącz trening spot z mieszaną precyzją (AMP) dla dodatkowych oszczędności obliczeniowych oraz z mniejszymi checkpointami (zapisując tylko wagi i stan optymalizatora), aby zmniejszyć koszty zapisu do S3 i opóźnienie przy wznawianiu.

Optymalizacja hiperparametrów, strategie dostrajania i praktyczne kryteria decyzyjne

Efektywna optymalizacja hiperparametrów (HPO) łączy strategię wyszukiwania, alokację zasobów i wczesne zatrzymywanie. HyperparameterTuner w SageMaker obsługuje wyszukiwanie losowe (Random) i bayesowskie (Bayesian), z konfigurowalnymi zakresami ContinuousParameter, IntegerParameter i CategoricalParameter; dla dużych przestrzeni poszukiwań zacznij od wyszukiwania losowego w celu szerokiej eksploracji, a następnie uruchom optymalizację bayesowską, aby wykorzystać obiecujące regiony. Używaj metod wczesnego zatrzymywania, takich jak Hyperband lub wbudowane wczesne zatrzymywanie w SageMaker, aby oszczędzać budżet, oraz stosuj dostrajanie typu warm-start, aby ponownie wykorzystać wyniki w powiązanych eksperymentach. Starannie dobieraj metryki celu (walidacyjny AUC dla zadań z niezbalansowanymi danymi, F1 dla wykrywania oszustw z niezbalansowanymi klasami, niestandardowe metryki ważone kosztem dla scenariuszy braku towaru w magazynie). Typowe pułapki to zbyt szerokie zakresy, które powodują wiele nieudanych zadań, używanie kodowania kategorycznego dla hiperparametrów, które w istocie są ciągłe, oraz nieskalowanie HPO z uwzględnieniem zasobów: krótkie zadania sondujące na mniejszych instancjach w celu znalezienia ogólnych regionów, a następnie dłuższe przebiegi na pełnowymiarowych instancjach GPU. W przypadku treningu rozproszonego dostrajaj zarówno hiperparametry algorytmiczne (współczynnik uczenia, rozmiar partii), jak i parametry na poziomie systemu (kroki akumulacji gradientu, liczba fragmentów danych). Instrumentuj za pomocą SageMaker Debugger i używaj metryk CloudWatch do wykrywania zaszumionych pomiarów; gdy występuje duża wariancja, zwiększ liczbę powtórzeń na konfigurację lub użyj selekcji opartej na medianie.

Praktyczny problem: Scenariusz użycia

Scenariusz: FinRetailer uruchamia w SageMaker tysiące 30-dniowych prognoz popytu dla każdego SKU; przechowują lata codziennych plików CSV w S3 i wymagają wysokiej dokładności dla produktów o popycie w ogonie rozkładu (tail-demand), jednocześnie utrzymując akceptowalne opóźnienie inferencji w zadaniach przetwarzania wsadowego.

Wyzwanie: Prognozowanie tysięcy szeregów czasowych z długą historią i niezrównoważoną wagą (braki w magazynie kosztują więcej niż nadwyżki), minimalizując koszty obliczeniowe przy jednoczesnym zachowaniu dokładności dla rzadkich zdarzeń o wysokim popycie.

Zalecane podejście:

  1. Użyj wbudowanego w SageMaker algorytmu DeepAR lub niestandardowego modelu czasowego PyTorch (opartego na Transformerach) spakowanego w Script Mode Estimator; przechowuj dane treningowe jako podzielone na fragmenty (sharded) pliki RecordIO/TFRecord i użyj trybu File mode z FSx for Lustre do wysokoprzepustowego treningu na wielu instancjach.
  2. Zacznij od treningu rozproszonego na mniejszych instancjach (smddp lub Horovod), aby dostroić architekturę modelu i hiperparametry, używając HyperparameterTuner z wyszukiwaniem bayesowskim i wczesnym zatrzymywaniem; zdefiniuj metrykę celu jako ważoną funkcję straty kwantylowej (weighted quantile loss), która mocniej karze niedoszacowanie prognozy.
  3. Włącz zarządzany trening na instancjach spot (managed spot training) z checkpoint_s3_uri i częstymi punktami kontrolnymi opartymi na krokach; ustaw max_wait > max_run, aby tolerować przerwy i wznawiać pracę od najnowszego punktu kontrolnego z S3.
  4. Do inferencji produkcyjnej użyj przetwarzania wsadowego (batch-score) za pomocą punktów końcowych dla wielu modeli (multi-model endpoints) lub asynchronicznych zadań transformacji wsadowej (batch transform jobs) na instancjach zoptymalizowanych pod kątem obliczeń; zastosuj reguły biznesowe w ramach post-processingu oraz skalibrowany próg uwzględniający koszty braków magazynowych.

Uzasadnienie: Użycie architektur DeepAR/transformer pozwala na efektywne przetwarzanie wielu szeregów czasowych; sfragmentaryzowane formaty binarne i FSx redukują wąskie gardła I/O w treningu rozproszonym, HPO bayesowskie z dostosowaną metryką celu koncentruje poszukiwania na metrykach kosztów operacyjnych, a trening na instancjach spot z checkpointingiem zmniejsza koszty bez utraty postępów.


Szeregi czasowe i prognozowanie · Wszystkie domeny · Wdrażanie

Przećwicz te pytania → · Testy na czas na ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Zdaj egzamin →

Przeglądaj Amazon →

Related guides

Dostęp all-in-one

Jedna subskrypcja. Każdy egzamin.

Każdy plan odblokowuje nieograniczone wyszukiwanie odpowiedzi, testy praktyczne, wyjaśnienia AI i pełną bibliotekę zasobów — w ponad 20 językach.

Miesięczny
24.87
Just €0.83/day
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

Najlepsza wartość
12 miesięcy
179.87
Just €0.49/daySave 40%
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

✓ Plan darmowy w zestawie · ✓ Anuluj w dowolnym momencie · ✓ Wszystkie plany odblokowują pełny produkt