W grudniu 2020 AWS ogłosił ogólna dostępność Amazon SageMaker JumpStart, zdolność Amazon Sage Maker który pomaga szybko i łatwo rozpocząć pracę z uczeniem maszynowym (ML). W marcu 2022 r. również ogłosił wsparcie dla API w JumpStart. JumpStart zapewnia dostrajanie jednym kliknięciem i wdrażanie szerokiej gamy wstępnie przeszkolonych modeli w popularnych zadaniach ML, a także wybór kompleksowych rozwiązań, które rozwiązują typowe problemy biznesowe. Te funkcje eliminują konieczność podnoszenia ciężarów na każdym etapie procesu ML, ułatwiając tworzenie modeli wysokiej jakości i skracając czas wdrażania.
W tym poście pokazujemy, jak uruchomić automatyczne dostrajanie modeli za pomocą JumpStart.
Automatyczne dostrajanie modelu SageMaker
Tradycyjnie inżynierowie ML wdrażają metodę prób i błędów, aby znaleźć odpowiedni zestaw hiperparametrów. Próba i błąd obejmują uruchamianie wielu zadań sekwencyjnie lub równolegle podczas udostępniania zasobów potrzebnych do uruchomienia eksperymentu.
Z Automatyczne dostrajanie modelu SageMaker, inżynierowie ML i analitycy danych mogą odciążyć czasochłonne zadanie optymalizacji swojego modelu i pozwolić SageMakerowi na przeprowadzenie eksperymentów. SageMaker wykorzystuje elastyczność platformy AWS do wydajnego i jednoczesnego uruchamiania wielu symulacji treningowych na zbiorze danych i znajdowania najlepszych hiperparametrów dla modelu.
Automatyczne dostrajanie modelu SageMaker znajduje najlepszą wersję modelu, uruchamiając wiele zadań szkoleniowych na zestawie danych przy użyciu algorytmu i zakresy hiperparametrów, które określisz. Następnie wybiera wartości hiperparametrów, które skutkują modelem, który działa najlepiej, mierzonym przez a metryczny że wybierasz.
Automatyczne strojenie modeli wykorzystuje albo Bayesian (domyślnie) lub przypadkowy strategia wyszukiwania, aby znaleźć najlepsze wartości dla hiperparametrów. Wyszukiwanie bayesowskie traktuje dostrajanie hiperparametrów jak a regresja problem. Wybierając najlepsze hiperparametry do następnej pracy szkoleniowej, bierze pod uwagę wszystko, co do tej pory wie o problemie i pozwala algorytmowi wykorzystać najbardziej znane wyniki.
W tym poście używamy domyślnej strategii wyszukiwania Bayesa, aby zademonstrować kroki związane z uruchomieniem automatycznego dostrajania modelu za pomocą JumpStart przy użyciu LekkiGBM model.
JumpStart obsługuje obecnie 10 przykładowych notebooków z automatycznym dostrajaniem modeli. Obsługuje również cztery popularne algorytmy do modelowania danych tabelarycznych. Zadania i łącza do ich przykładowych notesów podsumowano w poniższej tabeli.
Omówienie rozwiązania
Ten techniczny przepływ pracy zawiera przegląd różnych funkcji Amazon Sagemaker i kroków potrzebnych do automatycznego dostrojenia modelu JumpStart.
W kolejnych sekcjach przedstawiamy krok po kroku, jak uruchomić automatyczne dostrajanie modelu za pomocą JumpStart przy użyciu algorytmu LightGBM. Zapewniamy akompaniament notatnik dla tego przewodnika.
Przechodzimy przez następujące etapy wysokiego poziomu:
- Pobierz wstępnie przeszkolony model JumpStart i kontener obrazów.
- Ustaw hiperparametry statyczne.
- Zdefiniuj przestrajalne zakresy hiperparametrów.
- Zainicjuj automatyczne strojenie modelu.
- Uruchom zadanie strojenia.
- Wdróż najlepszy model w punkcie końcowym.
Pobierz wstępnie wytrenowany model JumpStart i kontener obrazów
W tej sekcji wybieramy model klasyfikacji LightGBM do dostrojenia. Używamy typu instancji ml.m5.xlarge, na którym uruchamiany jest model. Następnie pobieramy trenujący kontener platformy Docker, źródło algorytmu szkoleniowego i wstępnie wytrenowany model. Zobacz następujący kod:
training_instance_type = "ml.m5.xlarge" # Retrieve the docker image
train_image_uri = image_uris.retrieve(
region=None,
framework=None,
model_id=train_model_id,
model_version=train_model_version,
image_scope=train_scope,
instance_type=training_instance_type,
)
# Retrieve the training script
train_source_uri = script_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, script_scope=train_scope
)
# Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope
)
Ustaw hiperparametry statyczne
Teraz pobieramy domyślne hiperparametry dla tego modelu LightGBM, wstępnie skonfigurowane przez JumpStart. Zastępujemy również num_boost_round
hiperparametr z wartością niestandardową.
# Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(
model_id=train_model_id, model_version=train_model_version
)
# [Optional] Override default hyperparameters with custom values
Zdefiniuj przestrajalne zakresy hiperparametrów
Następnie definiujemy zakresy hiperparametrów jako zoptymalizowany przez automatyczne strojenie modelu. Definiujemy nazwę hiperparametru zgodnie z oczekiwaniami modelu, a następnie zakresy wartości do wypróbowania dla tego hiperparametru. Automatyczne strojenie modelu losuje próbki (równe max_jobs
parametru) z przestrzeni hiperparametrów, przy użyciu techniki zwanej przeszukiwaniem bayesowskim. Dla każdej narysowanej próbki hiperparametru tuner tworzy zadanie szkoleniowe w celu oceny modelu z tą konfiguracją. Zobacz następujący kod:
hyperparameter_ranges = {
"learning_rate": ContinuousParameter(1e-4, 1, scaling_type="Logarithmic"),
"num_boost_round": IntegerParameter(2, 30),
"early_stopping_rounds": IntegerParameter(2, 30),
"num_leaves": IntegerParameter(10, 50),
"feature_fraction": ContinuousParameter(0, 1),
"bagging_fraction": ContinuousParameter(0, 1),
"bagging_freq": IntegerParameter(1, 10),
"max_depth": IntegerParameter(5, 30),
"min_data_in_leaf": IntegerParameter(5, 50),
}
Zainicjuj automatyczne strojenie modelu
Zaczynamy od stworzenia Taksator obiekt ze wszystkimi wymaganymi zasobami, które definiują zadanie szkoleniowe, takimi jak wstępnie wytrenowany model, obraz szkoleniowy i skrypt szkoleniowy. Następnie definiujemy a HyperparametrTuner obiekt do interakcji z interfejsami API dostrajania hiperparametrów SageMaker.
Połączenia HyperparameterTuner
przyjmuje jako parametry obiekt Estimator, metrykę docelową, na podstawie której ustalany jest najlepszy zestaw hiperparametrów, całkowitą liczbę zadań szkoleniowych (max_jobs
), aby rozpocząć zadanie dostrajania hiperparametrów, i maksymalną liczbę równoległych zadań uczenia do uruchomienia (max_parallel_jobs
). Zadania szkoleniowe są uruchamiane z algorytmem LightGBM i wartościami hiperparametrów, które mają minimum mlogloss
wybrano metrykę. Aby uzyskać więcej informacji na temat konfigurowania automatycznego dostrajania modelu, zobacz Najlepsze praktyki dotyczące dostrajania hiperparametrów.
# Create SageMaker Estimator instance
tabular_estimator = Estimator(
role=aws_role,
image_uri=train_image_uri,
source_dir=train_source_uri,
model_uri=train_model_uri,
entry_point="transfer_learning.py",
instance_count=1,
instance_type=training_instance_type,
max_run=360000,
hyperparameters=hyperparameters,
output_path=s3_output_location,
) tuner = HyperparameterTuner(
estimator=tabular_estimator,
objective_metric_name="multi_logloss",
hyperparameter_ranges=hyperparameter_ranges,
metric_definitions=[{"Name": "multi_logloss", "Regex": "multi_logloss: ([0-9\.]+)"}],
strategy="Bayesian",
max_jobs=10,
max_parallel_jobs=2,
objective_type="Minimize",
base_tuning_job_name=training_job_name,
)
W poprzednim kodzie mówimy tunerowi, aby przeprowadził co najwyżej 10 eksperymentów (max_jobs
) i tylko dwa równoczesne eksperymenty na raz (max_parallel_jobs
). Oba te parametry pozwalają kontrolować koszty i czas szkolenia.
Uruchom zadanie strojenia
Aby uruchomić zadanie strojenia SageMaker, wywołujemy metodę dopasowania obiektu dostrajania hiperparametrów i przekazujemy Usługa Amazon Simple Storage (Amazon S3) ścieżka danych treningowych:
tuner.fit({"training": training_dataset_s3_path}, logs=True)
Podczas gdy automatyczne dostrajanie modeli wyszukuje najlepsze hiperparametry, możesz monitorować ich postęp w konsoli SageMaker lub w Amazon Cloud Watch. Po zakończeniu szkolenia dostrojone artefakty najlepszego modelu są przesyłane do lokalizacji wyjściowej Amazon S3 określonej w konfiguracji szkolenia.
Wdróż najlepszy model w punkcie końcowym
Po zakończeniu strojenia najlepszy model został wybrany i zapisany w Amazon S3. Teraz możemy wdrożyć ten model, wywołując metodę wdrażania HyperparameterTuner
obiekt i przekazanie wymaganych parametrów, takich jak liczba instancji, które mają być użyte dla utworzonego punktu końcowego, ich typ, obraz do wdrożenia i skrypt do uruchomienia:
tuner.deploy(
initial_instance_count=1,
instance_type=inference_instance_type,
entry_point="inference.py",
image_uri=deploy_image_uri,
source_dir=deploy_source_uri,
endpoint_name=endpoint_name,
enable_network_isolation=True
)
Możemy teraz przetestować utworzony punkt końcowy, wykonując żądania wnioskowania. Możesz śledzić resztę procesu w załączonym notatnik.
Wnioski
Dzięki automatycznemu dostrajaniu modelu w programie SageMaker możesz znaleźć najlepszą wersję swojego modelu, uruchamiając zadania szkoleniowe na dostarczonym zestawie danych za pomocą jednego z obsługiwanych algorytmów. Automatyczne dostrajanie modelu umożliwia skrócenie czasu dostrajania modelu poprzez automatyczne wyszukiwanie najlepszej konfiguracji hiperparametrów w określonych zakresach hiperparametrów.
W tym poście pokazaliśmy wartość uruchamiania automatycznego dostrajania modelu na wstępnie wytrenowanym modelu JumpStart przy użyciu interfejsów API SageMaker. Wykorzystaliśmy algorytm LightGBM i zdefiniowaliśmy maksymalnie 10 zadań szkoleniowych. Udostępniliśmy również łącza do przykładowych notatników prezentujących struktury ML, które obsługują optymalizację modelu JumpStart.
Aby uzyskać więcej informacji na temat optymalizacji modelu JumpStart z automatycznym dostrajaniem modelu, zapoznaj się z naszym przykładem notatnik.
O autorze
Douga Mbaya jest architektem Senior Partner Solution specjalizującym się w danych i analityce. Doug ściśle współpracuje z partnerami AWS, pomagając im zintegrować dane i rozwiązania analityczne w chmurze.
Kruthi Dżajasimha Rao jest architektem rozwiązań partnerskich w zespole Scale-PSA. Kruthi przeprowadza walidacje techniczne dla Partnerów, umożliwiając im postęp na ścieżce Partnera.
Giannisa Mitropoulosa jest inżynierem oprogramowania w firmie SageMaker Automatyczne dostrajanie modelu.
Dr Ashish Khetan jest Starszym Naukowcem Stosowanym z Amazon SageMaker JumpStart i Wbudowane algorytmy Amazon SageMaker i pomaga rozwijać algorytmy uczenia maszynowego. Jest aktywnym badaczem uczenia maszynowego i wnioskowania statystycznego oraz opublikował wiele artykułów na konferencjach NeurIPS, ICML, ICLR, JMLR i ACL.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/run-automatic-model-tuning-with-amazon-sagemaker-jumpstart/
- "
- 10
- 100
- 2020
- 2022
- O nas
- w poprzek
- aktywny
- Korzyść
- algorytm
- Algorytmy
- Wszystkie kategorie
- Amazonka
- analityka
- Pszczoła
- Aktywa
- automatycznie
- dostępność
- AWS
- BEST
- wbudowany
- biznes
- wezwanie
- Dodaj
- wybrany
- klasyfikacja
- Chmura
- kod
- wspólny
- konferencje
- systemu
- rozważa
- Konsola
- Pojemnik
- kontrola
- Stwórz
- stworzony
- tworzy
- Tworzenie
- Obecnie
- zwyczaj
- dane
- postanowiła
- wykazać
- rozwijać
- wdrażane
- Wdrożenie
- detale
- rozwijać
- oprogramowania
- różne
- Doker
- z łatwością
- skutecznie
- umożliwiając
- Punkt końcowy
- inżynier
- Inżynierowie
- oceniać
- wszystko
- przykład
- spodziewany
- eksperyment
- Wykorzystać
- Korzyści
- znajduje
- dopasować
- Skupiać
- obserwuj
- następujący
- dalej
- Ogólne
- wysokość
- pomoc
- pomaga
- wysokiej jakości
- W jaki sposób
- How To
- HTTPS
- obraz
- wdrożenia
- Informacja
- integrować
- zaangażowany
- IT
- Praca
- Oferty pracy
- uruchomić
- nauka
- Modernizacja
- linki
- lokalizacja
- maszyna
- uczenie maszynowe
- Dokonywanie
- March
- ML
- model
- modele
- monitor
- jeszcze
- większość
- wielokrotność
- numer
- optymalizacja
- Optymalizacja
- optymalizacji
- partnerem
- wzmacniacz
- Przechodzący
- Platforma
- Popularny
- Problem
- problemy
- wygląda tak
- zapewniać
- zapewnia
- pytanie
- szybko
- zmniejszyć
- redukcja
- wywołań
- wymagany
- Zasoby
- REST
- Efekt
- run
- bieganie
- Naukowiec
- Naukowcy
- Szukaj
- wybrany
- zestaw
- ściąganie
- Prosty
- So
- Tworzenie
- rozwoju oprogramowania
- rozwiązanie
- Rozwiązania
- ROZWIĄZANIA
- Typ przestrzeni
- początek
- rozpoczęty
- statystyczny
- przechowywanie
- Strategia
- wsparcie
- Utrzymany
- podpory
- cel
- zadania
- zespół
- Techniczny
- test
- Przez
- czas
- czasochłonne
- Tytuł
- Trening
- próba
- posługiwać się
- wartość
- różnorodność
- Podczas
- w ciągu
- działa