Co to jest składnik usługi Azure Machine Edukacja?

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

Składnik usługi Azure Machine Edukacja to samodzielny fragment kodu, który wykonuje jeden krok w potoku uczenia maszynowego. Składnik jest analogiczny do funkcji — ma nazwę, dane wejściowe, dane wyjściowe i treść. Składniki to bloki konstrukcyjne potoków usługi Azure Machine Edukacja.

Składnik składa się z trzech części:

  • Metadane: nazwa, display_name, wersja, typ itp.
  • Interfejs: specyfikacje wejściowe/wyjściowe (nazwa, typ, opis, wartość domyślna itp.).
  • Polecenie, kod i środowisko: polecenie, kod i środowisko wymagane do uruchomienia składnika.

Diagram of what a component looks like and how it looks in a pipeline. In addition to screenshots of a component in the CLI, SDK, and portal UI.

Dlaczego należy używać składnika?

Dobrym rozwiązaniem jest utworzenie potoku uczenia maszynowego w celu podzielenia pełnego zadania uczenia maszynowego na wieloetapowy przepływ pracy. Tak, że każdy może niezależnie pracować nad konkretnym krokiem. W usłudze Azure Machine Edukacja składnik reprezentuje jeden krok wielokrotnego użytku w potoku. Składniki są zaprojektowane tak, aby zwiększyć produktywność tworzenia potoków. W szczególności składniki oferują:

  • Dobrze zdefiniowany interfejs: Składniki wymagają dobrze zdefiniowanego interfejsu (danych wejściowych i wyjściowych). Interfejs umożliwia użytkownikowi łatwe tworzenie kroków i łączenie kroków. Interfejs ukrywa również złożoną logikę kroku i eliminuje ciężar zrozumienia sposobu implementacji kroku.

  • Udostępnianie i ponowne używanie: jako bloki konstrukcyjne potoku składniki można łatwo udostępniać i ponownie używać w potokach, obszarach roboczych i subskrypcjach. Składniki utworzone przez jeden zespół mogą być odnajdywane i używane przez inny zespół.

  • Kontrola wersji: składniki są wersjonowane. Producenci składników mogą nadal ulepszać składniki i publikować nowe wersje. Użytkownicy mogą używać określonych wersji składników w swoich potokach. Zapewnia to zgodność i powtarzalność.

Możliwość testowania jednostkowego: składnik jest samodzielnym fragmentem kodu. Łatwo jest napisać test jednostkowy dla składnika.

Składnik i potok

Potok uczenia maszynowego to przepływ pracy pełnego zadania uczenia maszynowego. Składniki to bloki konstrukcyjne potoku uczenia maszynowego. Podczas myślenia o składniku musi on znajdować się w kontekście potoku.

Aby skompilować składniki, najpierw należy zdefiniować potok uczenia maszynowego. Wymaga to podzielenia pełnego zadania uczenia maszynowego na wieloetapowy przepływ pracy. Każdy krok jest składnikiem. Na przykład biorąc pod uwagę proste zadanie uczenia maszynowego przy użyciu danych historycznych w celu wytrenowania modelu prognozowania sprzedaży, możesz utworzyć sekwencyjny przepływ pracy z przetwarzaniem danych, trenowaniem modelu i krokami oceny modelu. W przypadku złożonych zadań warto jeszcze bardziej podzielić. Na przykład podziel jeden pojedynczy krok przetwarzania danych na pozyskiwanie danych, czyszczenie danych, przetwarzanie wstępne danych i kroki inżynierii cech.

Po zdefiniowaniu kroków w przepływie pracy następnym krokiem jest określenie sposobu połączenia każdego kroku w potoku. Na przykład aby połączyć krok przetwarzania danych i krok trenowania modelu, możesz zdefiniować składnik przetwarzania danych w celu wyprowadzenia folderu zawierającego przetworzone dane. Składnik trenowania pobiera folder jako dane wejściowe i generuje folder zawierający wytrenowany model. Te definicje danych wejściowych i wyjściowych staną się częścią definicji interfejsu składnika.

Teraz nadszedł czas, aby opracować kod wykonywania kroku. Możesz użyć preferowanych języków (python, R itp.). Kod musi być w stanie wykonać za pomocą polecenia powłoki. Podczas programowania możesz dodać kilka danych wejściowych, aby kontrolować sposób wykonywania tego kroku. Na przykład w przypadku kroku trenowania możesz dodać szybkość nauki, liczbę epok jako dane wejściowe w celu kontrolowania trenowania. Te dodatkowe dane wejściowe oraz dane wejściowe i wyjściowe wymagane do nawiązania połączenia z innymi krokami są interfejsem składnika. Argument polecenia powłoki służy do przekazywania danych wejściowych i wyjściowych do kodu. Środowisko do wykonania polecenia i należy określić kod. Środowisko może być nadzorowanym środowiskiem usługi Azure Machine Edukacja, obrazem platformy Docker lub środowiskiem conda.

Na koniec możesz spakować wszystkie elementy, w tym kod, cmd, środowisko, dane wejściowe, dane wyjściowe, metadane razem w składnik. Następnie łączy te składniki ze sobą z potokami kompilacji dla przepływu pracy uczenia maszynowego. Jeden składnik może być używany w wielu potokach.

Aby dowiedzieć się więcej na temat tworzenia składnika, zobacz:

Następne kroki