Trenowanie modeli za pomocą usługi Azure Machine Learning
DOTYCZY: Zestaw PYTHON SDK azure-ai-ml w wersji 2 (bieżąca)
Usługa Azure Machine Learning oferuje kilka sposobów trenowania modeli— od rozwiązań opartych na kodzie przy użyciu zestawu SDK po rozwiązania o niskim kodzie, takie jak zautomatyzowane uczenie maszynowe i projektant wizualizacji. Użyj poniższej listy, aby określić, która metoda trenowania jest odpowiednia dla Ciebie:
Zestaw SDK usługi Azure Machine Learning dla języka Python: zestaw SDK języka Python udostępnia kilka sposobów trenowania modeli, z których każdy ma różne możliwości.
Metoda trenowania opis command() Typowym sposobem trenowania modeli jest przesłanie polecenia (), które zawiera skrypt trenowania, środowisko i informacje o obliczeniach. Zautomatyzowane uczenie maszynowe Zautomatyzowane uczenie maszynowe umożliwia trenowanie modeli bez obszernej wiedzy na temat nauki o danych lub programowania. W przypadku osób, które mają doświadczenie w nauce o danych i programowaniu, pozwala zaoszczędzić czas i zasoby dzięki automatyzacji wyboru algorytmów i dostrajania hiperparametrów. Nie musisz martwić się o definiowanie konfiguracji zadania podczas korzystania z zautomatyzowanego uczenia maszynowego. Potok uczenia maszynowego Potoki nie są inną metodą trenowania, ale sposobem definiowania przepływu pracy przy użyciu modułowych, wielokrotnego użytku kroków , które mogą obejmować trenowanie w ramach przepływu pracy. Potoki uczenia maszynowego obsługują używanie zautomatyzowanego uczenia maszynowego i uruchamianie konfiguracji do trenowania modeli. Ponieważ potoki nie koncentrują się specjalnie na trenowaniu, przyczyny korzystania z potoku są bardziej zróżnicowane niż inne metody trenowania. Ogólnie rzecz biorąc, potok może być używany w przypadku:
* Chcesz zaplanować nienadzorowane procesy , takie jak długotrwałe zadania szkoleniowe lub przygotowanie danych.
* Wykonaj wiele kroków , które są koordynowane w heterogenicznych zasobach obliczeniowych i lokalizacjach przechowywania.
* Użyj potoku jako szablonu wielokrotnego użytku dla określonych scenariuszy, takich jak ponowne trenowanie lub ocenianie wsadowe.
* Śledzenie i przechowywanie wersji źródeł danych, danych wejściowych i wyjściowych dla przepływu pracy.
* Przepływ pracy jest implementowany przez różne zespoły, które niezależnie pracują nad określonymi krokami. Następnie kroki można połączyć w potoku w celu zaimplementowania przepływu pracy.Projektant: Projektant usługi Azure Machine Learning zapewnia łatwy punkt wejścia do uczenia maszynowego na potrzeby tworzenia weryfikacji koncepcji lub dla użytkowników z niewielkim doświadczeniem w kodowaniu. Umożliwia trenowanie modeli przy użyciu interfejsu użytkownika internetowego opartego na przeciąganiu i upuszczaniu. Możesz użyć kodu w języku Python w ramach projektu lub wytrenować modele bez konieczności pisania kodu.
Interfejs wiersza polecenia platformy Azure: interfejs wiersza polecenia uczenia maszynowego udostępnia polecenia dla typowych zadań za pomocą usługi Azure Machine Learning i jest często używany do wykonywania skryptów i automatyzowania zadań. Na przykład po utworzeniu skryptu trenowania lub potoku możesz użyć interfejsu wiersza polecenia platformy Azure do rozpoczęcia zadania szkoleniowego zgodnie z harmonogramem lub zaktualizowania plików danych używanych do trenowania. W przypadku modeli szkoleniowych udostępnia polecenia, które przesyłają zadania szkoleniowe. Może ona przesyłać zadania przy użyciu konfiguracji uruchamiania lub potoków.
Każda z tych metod szkoleniowych może używać różnych typów zasobów obliczeniowych do trenowania. Zbiorczo te zasoby są określane jako cele obliczeniowe. Obiektem docelowym obliczeń może być maszyna lokalna lub zasób w chmurze, taki jak obliczenia usługi Azure Machine Learning, usługa Azure HDInsight lub zdalna maszyna wirtualna.
Zestaw SDK dla języka Python
Zestaw SDK usługi Azure Machine Learning dla języka Python umożliwia tworzenie i uruchamianie przepływów pracy uczenia maszynowego za pomocą usługi Azure Machine Learning. Możesz wchodzić w interakcje z usługą z interakcyjnej sesji języka Python, notesów Jupyter Notebook, programu Visual Studio Code lub innego środowiska IDE.
- Instalowanie/aktualizowanie zestawu SDK
- Konfigurowanie środowiska projektowego dla usługi Azure Machine Learning
Przesyłanie polecenia
Ogólne zadanie szkoleniowe w usłudze Azure Machine Learning można zdefiniować przy użyciu polecenia (). Następnie jest używane polecenie wraz ze skryptami treningowymi w celu wytrenowania modelu na określonym obiekcie docelowym obliczeniowym.
Możesz rozpocząć od polecenia dla komputera lokalnego, a następnie przełączyć się do jednego dla docelowego obliczeniowego opartego na chmurze zgodnie z potrzebami. Zmiana docelowego obiektu obliczeniowego powoduje zmianę parametru obliczeniowego tylko w używanym poleceniu. Przebieg rejestruje również informacje o zadaniu trenowania, takie jak dane wejściowe, dane wyjściowe i dzienniki.
- Samouczek: trenowanie pierwszego modelu uczenia maszynowego
- Przykłady: notes Jupyter Notebook i przykłady modeli szkoleniowych w języku Python
Zautomatyzowane uczenie maszynowe
Zdefiniuj iteracji, ustawienia hiperparametrów, cechowanie i inne ustawienia. Podczas trenowania usługa Azure Machine Learning próbuje równolegle różnić algorytmy i parametry. Trenowanie zatrzymuje się po osiągnięciu zdefiniowanych kryteriów zakończenia.
Napiwek
Oprócz zestawu SDK języka Python można również używać zautomatyzowanego uczenia maszynowego za pośrednictwem usługi Azure Machine Learning Studio.
- Co to jest zautomatyzowane uczenie maszynowe?
- Samouczek: tworzenie pierwszego modelu klasyfikacji za pomocą zautomatyzowanego uczenia maszynowego
- Instrukcje: konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego w języku Python
- Instrukcje: tworzenie, eksplorowanie i wdrażanie eksperymentów zautomatyzowanego uczenia maszynowego za pomocą usługi Azure Machine Learning Studio
Potok uczenia maszynowego
Potoki uczenia maszynowego mogą używać wcześniej wymienionych metod trenowania. Potoki są bardziej o tworzeniu przepływu pracy, więc obejmują one więcej niż tylko trenowanie modeli.
- Co to są potoki uczenia maszynowego w usłudze Azure Machine Learning?
- Samouczek: tworzenie potoków uczenia maszynowego w środowisku produkcyjnym przy użyciu zestawu Python SDK w wersji 2 w notesie Jupyter
Informacje o tym, co się stanie po przesłaniu zadania szkoleniowego
Cykl życia trenowania platformy Azure składa się z następujących elementów:
Spakuj pliki w folderze projektu i przekaż je do chmury.
Napiwek
Aby zapobiec dołączaniu niepotrzebnych plików do migawki, utwórz plik ignoruj (
.gitignore
lub.amlignore
) w katalogu. Dodaj do tego pliku katalogi i pliki do wykluczenia. Aby uzyskać więcej informacji na temat składni używanej w tym pliku, zobacz składnię i wzorce dla programu.gitignore
. Plik.amlignore
używa tej samej składni. Jeśli oba pliki istnieją,.amlignore
zostanie użyty plik, a.gitignore
plik jest nieużywany.Skalowanie klastra obliczeniowego w górę (lub przetwarzanie bezserwerowe)
Kompilowanie lub pobieranie pliku dockerfile do węzła obliczeniowego
- System oblicza skrót:
- Obraz podstawowy
- Niestandardowe kroki platformy Docker (zobacz Wdrażanie modelu przy użyciu niestandardowego obrazu podstawowego platformy Docker)
- Definicja conda YAML (zobacz Zarządzanie środowiskami usługi Azure Machine Learning przy użyciu interfejsu wiersza polecenia (wersja 2))
- System używa tego skrótu jako klucza w wyszukiwaniu obszaru roboczego usługi Azure Container Registry (ACR)
- Jeśli nie zostanie znaleziony, szuka dopasowania w globalnej usłudze ACR
- Jeśli nie zostanie znaleziony, system skompiluje nowy obraz (który zostanie zapisany w pamięci podręcznej i zarejestrowany w usłudze ACR obszaru roboczego)
- System oblicza skrót:
Pobieranie spakowanego pliku projektu do magazynu tymczasowego w węźle obliczeniowym
Rozpakowanie pliku projektu
Wykonywanie węzła obliczeniowego
python <entry script> <arguments>
Zapisywanie dzienników, plików modelu i innych plików zapisanych na
./outputs
koncie magazynu skojarzonym z obszarem roboczymSkalowanie w dół zasobów obliczeniowych, w tym usuwanie magazynu tymczasowego
Projektant usługi Azure Machine Learning
Projektant umożliwia trenowanie modeli przy użyciu interfejsu przeciągania i upuszczania w przeglądarce internetowej.
Interfejs wiersza polecenia platformy Azure
Interfejs wiersza polecenia uczenia maszynowego jest rozszerzeniem interfejsu wiersza polecenia platformy Azure. Udostępnia on międzyplatformowe polecenia interfejsu wiersza polecenia do pracy z usługą Azure Machine Learning. Zazwyczaj interfejs wiersza polecenia służy do automatyzowania zadań, takich jak trenowanie modelu uczenia maszynowego.
- Korzystanie z rozszerzenia interfejsu wiersza polecenia dla usługi Azure Machine Learning
- Metodyka MLOps na platformie Azure
- Trenowanie modeli
VS Code
Rozszerzenie programu VS Code umożliwia uruchamianie zadań szkoleniowych i zarządzanie nimi. Zobacz przewodnik z instrukcjami dotyczącymi zarządzania zasobami programu VS Code, aby dowiedzieć się więcej.
Następne kroki
Dowiedz się, jak tworzyć potoki uczenia maszynowego w środowisku produkcyjnym przy użyciu zestawu PYTHON SDK w wersji 2 w notesie Jupyter.