Trenowanie modeli przy użyciu usługi Azure Machine Edukacja (wersja 1)

DOTYCZY: Zestaw SDK języka Python azureml w wersji 1

Usługa Azure Machine Edukacja oferuje kilka sposobów trenowania modeli— od rozwiązań opartych na kodzie przy użyciu zestawu SDK po rozwiązania z małą ilością kodu, 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 Edukacja 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
    Uruchamianie konfiguracji Typowym sposobem trenowania modeli jest użycie skryptu szkoleniowego i konfiguracji zadania. Konfiguracja zadania zawiera informacje potrzebne do skonfigurowania środowiska szkoleniowego używanego do trenowania modelu. Możesz określić skrypt trenowania, docelowy obiekt obliczeniowy i środowisko usługi Azure Machine Edukacja w konfiguracji zadania i uruchomić zadanie szkoleniowe.
    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 kroków wielokrotnego użytku, 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 Edukacja 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 Edukacja 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 azure Machine Edukacja Compute, Azure HDInsight lub zdalna maszyna wirtualna.

Zestaw SDK dla języka Python

Zestaw SDK usługi Azure Machine Edukacja dla języka Python umożliwia tworzenie i uruchamianie przepływów pracy uczenia maszynowego przy użyciu usługi Azure Machine Edukacja. 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.

Uruchamianie konfiguracji

Ogólne zadanie szkoleniowe z usługą Azure Machine Edukacja można zdefiniować przy użyciu polecenia ScriptRunConfig. Następnie używana jest konfiguracja uruchamiania skryptu wraz ze skryptami trenowania w celu wytrenowania modelu na docelowym obiekcie obliczeniowym.

Możesz rozpocząć od konfiguracji uruchamiania dla komputera lokalnego, a następnie przełączyć się na jeden dla docelowego obliczeniowego opartego na chmurze zgodnie z potrzebami. Podczas zmieniania docelowego obiektu obliczeniowego zmieniasz tylko używaną konfigurację uruchamiania. Przebieg rejestruje również informacje o zadaniu trenowania, takie jak dane wejściowe, dane wyjściowe i dzienniki.

Zautomatyzowane uczenie maszynowe

Zdefiniuj iteracji, ustawienia hiperparametrów, cechowanie i inne ustawienia. Podczas trenowania usługa Azure Machine Edukacja 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 Edukacja 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. W potoku można wytrenować model przy użyciu zautomatyzowanego uczenia maszynowego lub uruchamiania konfiguracji.

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:

  1. Spakuj pliki w folderze projektu, ignorując te określone w pliku amlignore lub gitignore
  2. Skalowanie klastra obliczeniowego w górę
  3. Kompilowanie lub pobieranie pliku dockerfile do węzła obliczeniowego
    1. System oblicza skrót:
    2. System używa tego skrótu jako klucza w wyszukiwaniu obszaru roboczego usługi Azure Container Registry (ACR)
    3. Jeśli nie zostanie znaleziony, szuka dopasowania w globalnej usłudze ACR
    4. 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)
  4. Pobieranie spakowanego pliku projektu do magazynu tymczasowego w węźle obliczeniowym
  5. Rozpakowanie pliku projektu
  6. Wykonywanie węzła obliczeniowego python <entry script> <arguments>
  7. Zapisywanie dzienników, plików modelu i innych plików zapisanych na ./outputs koncie magazynu skojarzonym z obszarem roboczym
  8. Skalowanie w dół zasobów obliczeniowych, w tym usuwanie magazynu tymczasowego

Jeśli zdecydujesz się trenować na komputerze lokalnym ("skonfiguruj jako uruchamianie lokalne"), nie musisz używać platformy Docker. Możesz użyć platformy Docker lokalnie, jeśli wybierzesz (zobacz sekcję Konfigurowanie potoku uczenia maszynowego na przykład).

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 Edukacja. Zazwyczaj interfejs wiersza polecenia służy do automatyzowania zadań, takich jak trenowanie modelu uczenia maszynowego.

Następne kroki

Dowiedz się, jak skonfigurować przebieg trenowania.