Zasoby szkoleniowe platformy Azure w programie Model Builder

Poniżej przedstawiono przewodnik, który pomoże Ci dowiedzieć się więcej o zasobach używanych do trenowania modeli na platformie Azure za pomocą narzędzia Model Builder.

Co to jest eksperyment usługi Azure Machine Edukacja?

Eksperyment usługi Azure Machine Edukacja to zasób, który należy utworzyć przed uruchomieniem szkolenia narzędzia Model Builder na platformie Azure.

Eksperyment hermetyzuje konfigurację i wyniki dla co najmniej jednego przebiegu trenowania uczenia maszynowego. Eksperymenty należą do określonego obszaru roboczego. Po pierwszym utworzeniu eksperymentu jego nazwa jest zarejestrowana w obszarze roboczym. Wszystkie kolejne przebiegi — jeśli jest używana ta sama nazwa eksperymentu — są rejestrowane w ramach tego samego eksperymentu. W przeciwnym razie zostanie utworzony nowy eksperyment.

Co to jest obszar roboczy usługi Azure Machine Learning?

Obszar roboczy to zasób usługi Azure Machine Edukacja, który zapewnia centralne miejsce dla wszystkich zasobów i artefaktów usługi Azure Machine Edukacja utworzonych w ramach przebiegu trenowania.

Aby utworzyć obszar roboczy usługi Azure Machine Edukacja, wymagane są następujące elementy:

  • Nazwa: nazwa obszaru roboczego z zakresu od 3 do 33 znaków. Nazwy mogą zawierać tylko znaki alfanumeryczne i łączniki.
  • Region: lokalizacja geograficzna centrum danych, w którym wdrożono obszar roboczy i zasoby. Zaleca się wybranie lokalizacji w pobliżu miejsca, w którym znajdują się Twoi klienci.
  • Grupa zasobów: kontener zawierający wszystkie powiązane zasoby dla rozwiązania platformy Azure.

Co to jest środowisko obliczeniowe usługi Azure Machine Edukacja?

Środowisko obliczeniowe usługi Azure Machine Edukacja to oparta na chmurze maszyna wirtualna z systemem Linux używana do trenowania.

Aby utworzyć środowisko obliczeniowe usługi Azure Machine Edukacja, wymagane są następujące elementy:

  • Nazwa: nazwa obliczeń z zakresu od 2 do 16 znaków. Nazwy mogą zawierać tylko znaki alfanumeryczne i łączniki.

  • Rozmiar obliczeniowy

    Narzędzie Model Builder może używać jednego z następujących typów obliczeniowych zoptymalizowanych pod kątem procesora GPU:

    Rozmiar Procesor wirtualny Pamięć: GiB Magazyn tymczasowy (SSD): GiB Procesor GPU Pamięć procesora GPU: GiB Maks. liczba dysków danych Maksymalna liczba kart sieciowych
    Standardowa_NC12 12 112 680 2 24 48 2
    Standardowa_NC24 24 224 1440 100 48 64 100

    Zapoznaj się z dokumentacją maszyny wirtualnej z serii NC dla systemu Linux, aby uzyskać więcej informacji na temat zoptymalizowanych typów obliczeniowych procesora GPU.

  • Priorytet obliczeniowy

    • Niski priorytet: nadaje się do wykonywania zadań z krótszymi czasami wykonywania. Może to mieć wpływ na przerwy i brak dostępności. Zwykle kosztuje mniej, ponieważ korzysta z nadwyżkowej pojemności na platformie Azure.
    • Dedykowane: nadaje się do zadań dowolnego czasu trwania, ale szczególnie długotrwałych zadań. Nie ma to wpływu na przerwy lub brak dostępności. Zwykle kosztuje więcej, ponieważ rezerwuje dedykowany zestaw zasobów obliczeniowych na platformie Azure na potrzeby zadań.

Szkolenia

Trenowanie na platformie Azure jest dostępne tylko dla scenariusza klasyfikacji obrazów w programie Model Builder. Algorytm używany do trenowania tych modeli to głęboka sieć neuronowa oparta na architekturze ResNet50. Proces trenowania zajmuje trochę czasu, a ilość czasu może się różnić w zależności od rozmiaru wybranego środowiska obliczeniowego, a także ilości danych. Postęp przebiegów można śledzić, wybierając link "Monitoruj bieżące uruchomienie w witrynie Azure Portal" w programie Visual Studio.

Wyniki

Po zakończeniu trenowania dwa projekty są dodawane do rozwiązania z następującymi sufiksami:

  • ConsoleApp: aplikacja konsolowa w języku C#, która udostępnia kod początkowy do tworzenia potoku przewidywania i przewidywania.

  • Model: aplikacja .NET Standard w języku C# zawierająca modele danych definiujące schemat danych wejściowych i wyjściowych oraz następujące zasoby:

    • bestModel.onnx: serializowana wersja modelu w formacie Open Neural Network Exchange (ONNX). ONNX to format typu open source dla modeli sztucznej inteligencji, który obsługuje współdziałanie między strukturami, takimi jak ML.NET, PyTorch i TensorFlow.
    • bestModelMap.json: lista kategorii używanych podczas tworzenia przewidywań w celu mapowania danych wyjściowych modelu na kategorię tekstową.
    • MLModel.zip: serializowana wersja potoku przewidywania ML.NET, który używa serializowanej wersji modelu bestModel.onnx do przewidywania i mapowania danych wyjściowych przy użyciu bestModelMap.json pliku.

Korzystanie z modelu uczenia maszynowego

Klasy ModelInput i ModelOutput w projekcie Model definiują odpowiednio schemat oczekiwanych danych wejściowych i wyjściowych modelu.

W scenariuszu klasyfikacji obrazów zawiera ModelInput dwie kolumny:

  • ImageSource: ścieżka ciągu lokalizacji obrazu.
  • Label: rzeczywista kategoria, do którego należy obraz. Label parametr jest używany tylko jako dane wejściowe podczas trenowania i nie musi być dostarczany podczas tworzenia przewidywań.

Zawiera ModelOutput dwie kolumny:

  • Prediction: przewidywana kategoria obrazu.
  • Score: lista prawdopodobieństwa dla wszystkich kategorii (najwyższa należy do klasy Prediction).

Rozwiązywanie problemów

Nie można utworzyć obliczeń

Jeśli podczas tworzenia zasobów obliczeniowych w usłudze Azure Machine Edukacja wystąpi błąd, zasób obliczeniowy może nadal istnieć w stanie błędu. Jeśli spróbujesz ponownie utworzyć zasób obliczeniowy o tej samej nazwie, operacja zakończy się niepowodzeniem. Aby naprawić ten błąd, wykonaj następujące czynności:

  • Tworzenie nowego środowiska obliczeniowego o innej nazwie
  • Przejdź do witryny Azure Portal i usuń oryginalny zasób obliczeniowy