Udostępnij za pośrednictwem


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.

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.

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.

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.

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 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.

  2. Skalowanie klastra obliczeniowego w górę (lub przetwarzanie bezserwerowe)

  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

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.

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.