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 Learning?
Eksperyment usługi Azure Machine Learning 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 Learning, który zapewnia centralne miejsce dla wszystkich zasobów i artefaktów usługi Azure Machine Learning utworzonych w ramach przebiegu trenowania.
Aby utworzyć obszar roboczy usługi Azure Machine Learning, 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 Learning?
Środowisko obliczeniowe usługi Azure Machine Learning to oparta na chmurze maszyna wirtualna z systemem Linux używana do trenowania.
Aby utworzyć środowisko obliczeniowe usługi Azure Machine Learning, wymagane są następujące wartości:
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 GiB magazynu tymczasowego (SSD) GPU Pamięć procesora GPU: GiB Maksymalna liczba dysków danych Maksymalna liczba kart sieciowych Standard_NC12 12 112 680 2 24 48 2 Standard_NC24 24 224 1440 4 48 64 4 Aby uzyskać więcej informacji na temat zoptymalizowanych typów obliczeniowych procesora GPU, odwiedź dokumentację maszyny wirtualnej z serii NC z systemem Linux.
Priorytet obliczeniowy.
- Niski priorytet: nadaje się do wykonywania zadań z krótszymi czasami wykonywania. Na zadania mogą mieć wpływ przerwy i brak dostępności. Ta opcja 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ń. Zadania nie mają wpływu na przerwy ani brak dostępności. Ta opcja zwykle kosztuje więcej, ponieważ rezerwuje dedykowany zestaw zasobów obliczeniowych na platformie Azure na potrzeby zadań.
Szkolenie
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 języka 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, a także 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 używająca serializowanej wersji modelu bestModel.onnx do przewidywania i mapowania danych wyjściowych przy użyciu pliku
bestModelMap.json
.
Korzystanie z modelu uczenia maszynowego
Klasy ModelInput
i ModelOutput
w projekcie Model definiują schemat oczekiwanych danych wejściowych i wyjściowych modelu.
W scenariuszu klasyfikacji obrazów ModelInput
zawiera dwie kolumny:
-
ImageSource
: ścieżka ciągu lokalizacji obrazu. -
Label
: rzeczywista kategoria, do którego należy obraz.Label
jest używana tylko jako dane wejściowe podczas trenowania i nie musi być dostarczana podczas prognozowania.
ModelOutput
zawiera dwie kolumny:
-
Prediction
: przewidywana kategoria obrazu. -
Score
: lista prawdopodobieństwa dla wszystkich kategorii (najwyższa należy doPrediction
).
Rozwiązywanie problemów
Nie można utworzyć obliczeń
Jeśli podczas tworzenia zasobów obliczeniowych usługi Azure Machine Learning 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