Samouczek: Wdrażanie modelu uczenia maszynowego za pomocą narzędzia ProjektantTutorial: Deploy a machine learning model with the designer

Można wdrożyć model predykcyjny opracowany w pierwszej części samouczka , aby dać innym osobom szansę korzystania z niego.You can deploy the predictive model developed in part one of the tutorial to give others a chance to use it. W części pierwszej został przeszkolony model.In part one, you trained your model. Teraz czas na generowanie prognoz na podstawie danych wejściowych użytkownika.Now, it's time to generate predictions based on user input. W tej części samouczka zostaną wykonane następujące czynności:In this part of the tutorial, you will:

  • Utwórz potok wnioskowania w czasie rzeczywistym.Create a real-time inference pipeline.
  • Utwórz klaster inferencing.Create an inferencing cluster.
  • Wdróż punkt końcowy w czasie rzeczywistym.Deploy the real-time endpoint.
  • Przetestuj punkt końcowy w czasie rzeczywistym.Test the real-time endpoint.

Wymagania wstępnePrerequisites

Wykonaj jedną z części samouczka , aby dowiedzieć się, jak szkolić i oceny model uczenia maszynowego w projektancie.Complete part one of the tutorial to learn how to train and score a machine learning model in the designer.

Ważne

Jeśli nie widzisz elementów graficznych wymienionych w tym dokumencie, takich jak przyciski w Studio lub Projektant, możesz nie mieć odpowiedniego poziomu uprawnień do obszaru roboczego.If you do not see graphical elements mentioned in this document, such as buttons in studio or designer, you may not have the right level of permissions to the workspace. Skontaktuj się z administratorem subskrypcji platformy Azure, aby upewnić się, że udzielono odpowiedniego poziomu dostępu.Please contact your Azure subscription administrator to verify that you have been granted the correct level of access. Aby uzyskać więcej informacji, zobacz Zarządzanie użytkownikami i rolami.For more information, see Manage users and roles.

Tworzenie potoku w czasie rzeczywistymCreate a real-time inference pipeline

Aby wdrożyć potok, należy najpierw skonwertować potok szkoleniowy do potoku w czasie rzeczywistym.To deploy your pipeline, you must first convert the training pipeline into a real-time inference pipeline. Ten proces powoduje usunięcie modułów szkoleniowych i dodanie danych wejściowych i wyjściowych usługi sieci Web do obsługi żądań.This process removes training modules and adds web service inputs and outputs to handle requests.

Tworzenie potoku w czasie rzeczywistymCreate a real-time inference pipeline

  1. Nad kanwą potoku wybierz pozycję Utwórz > potok wnioskowania w czasie rzeczywistym.Above the pipeline canvas, select Create inference pipeline > Real-time inference pipeline.

    Zrzut ekranu przedstawiający miejsce znalezienia przycisku Utwórz potok

    Potok powinien teraz wyglądać następująco:Your pipeline should now look like this:

    Zrzut ekranu przedstawiający oczekiwaną konfigurację potoku po przygotowaniu go do wdrożenia

    Po wybraniu opcji Utwórz potok wnioskowania kilka rzeczy zostanie wykonanych:When you select Create inference pipeline, several things happen:

    • Szkolony model jest przechowywany jako moduł DataSet w palecie modułów.The trained model is stored as a Dataset module in the module palette. Można go znaleźć w obszarze Moje zestawy danych.You can find it under My Datasets.
    • Moduły szkoleniowe, takie jak model uczenia i dane podzielone , są usuwane.Training modules like Train Model and Split Data are removed.
    • Zapisany model przeszkolony zostanie dodany z powrotem do potoku.The saved trained model is added back into the pipeline.
    • Dodawane są moduły danych wejściowych i usług sieci Web.Web Service Input and Web Service Output modules are added. Te moduły pokazują, gdzie dane użytkownika są wprowadzane do potoku i gdzie są zwracane dane.These modules show where user data enters the pipeline and where data is returned.

    Uwaga

    Domyślnie dane wejściowe usługi sieci Web będą oczekiwać tego samego schematu danych co dane szkoleniowe, które są używane do tworzenia potoku predykcyjnego.By default, the Web Service Input will expect the same data schema as the training data used to create the predictive pipeline. W tym scenariuszu cena jest uwzględniona w schemacie.In this scenario, price is included in the schema. Cena nie jest jednak używana jako współczynnik podczas przewidywania.However, price isn't used as a factor during prediction.

  2. Wybierz pozycję Prześlij, a następnie użyj tego samego elementu docelowego obliczeń i eksperymentu, który został użyty w części pierwszej.Select Submit, and use the same compute target and experiment that you used in part one.

    Jeśli jest to pierwsze uruchomienie, ukończenie działania potoku może potrwać do 20 minut.If this is the first run, it may take up to 20 minutes for your pipeline to finish running. Domyślne ustawienia obliczeń mają minimalny rozmiar węzła równy 0, co oznacza, że projektant musi przydzielić zasoby po stanie bezczynności.The default compute settings have a minimum node size of 0, which means that the designer must allocate resources after being idle. Powtarzające się uruchomienia potoku będą trwać krócej od czasu przydziału zasobów obliczeniowych.Repeated pipeline runs will take less time since the compute resources are already allocated. Ponadto projektant używa buforowanych wyników dla każdego modułu, aby zwiększyć wydajność.Additionally, the designer uses cached results for each module to further improve efficiency.

  3. Wybierz pozycję Wdróż.Select Deploy.

Tworzenie klastra inferencingCreate an inferencing cluster

W wyświetlonym oknie dialogowym możesz wybrać dowolny z istniejących klastrów usługi Azure Kubernetes Service (AKS), aby wdrożyć model.In the dialog box that appears, you can select from any existing Azure Kubernetes Service (AKS) clusters to deploy your model to. Jeśli nie masz klastra AKS, wykonaj następujące kroki, aby go utworzyć.If you don't have an AKS cluster, use the following steps to create one.

  1. Wybierz pozycję obliczenia w wyświetlonym oknie dialogowym, aby przejść do strony obliczenia .Select Compute in the dialog box that appears to go to the Compute page.

  2. Na Wstążce Nawigacja wybierz pozycję klastry wnioskowania > + Nowy.On the navigation ribbon, select Inference Clusters > + New.

    Zrzut ekranu przedstawiający sposób uzyskiwania do okienka nowy klaster wnioskowania

  3. W okienku klaster wnioskowania Skonfiguruj nową usługę Kubernetes.In the inference cluster pane, configure a new Kubernetes Service.

  4. Wprowadź AKS-COMPUTE dla nazwy obliczeniowej.Enter aks-compute for the Compute name.

  5. Wybierz region znajdujący się w pobliżu, który jest dostępny dla regionu.Select a nearby region that's available for the Region.

  6. Wybierz przycisk Utwórz.Select Create.

    Uwaga

    Utworzenie nowej usługi AKS trwa około 15 minut.It takes approximately 15 minutes to create a new AKS service. Stan aprowizacji można sprawdzić na stronie klastry wnioskowania .You can check the provisioning state on the Inference Clusters page.

Wdrażanie punktu końcowego w czasie rzeczywistymDeploy the real-time endpoint

Po zakończeniu aprowizacji usługi AKS Wróć do potoku inferencing w czasie rzeczywistym, aby zakończyć wdrażanie.After your AKS service has finished provisioning, return to the real-time inferencing pipeline to complete deployment.

  1. Wybierz pozycję Wdróż powyżej kanwy.Select Deploy above the canvas.

  2. Wybierz pozycję wdróż nowy punkt końcowy w czasie rzeczywistym.Select Deploy new real-time endpoint.

  3. Wybierz utworzony klaster AKS.Select the AKS cluster you created.

    Zrzut ekranu przedstawiający sposób konfigurowania nowego punktu końcowego w czasie rzeczywistym

    Możesz również zmienić ustawienia Zaawansowane dla punktu końcowego w czasie rzeczywistym.You can also change Advanced setting for your real-time endpoint.

    Ustawienie zaawansowaneAdvanced setting OpisDescription
    Włącz diagnostykę Application Insights i zbieranie danychEnable Application Insights diagnostics and data collection Czy włączyć usługę Azure Application Insights, aby zbierać dane ze wdrożonych punktów końcowych.Whether to enable Azure Application Insights to collect data from the deployed endpoints.
    Domyślnie: FAŁSZBy default: false
    Limit czasu ocenianiaScoring timeout Limit czasu (w milisekundach) wymuszania dla wywołań oceniania do usługi sieci Web.A timeout in milliseconds to enforce for scoring calls to the web service.
    Domyślnie: 60000By default: 60000
    Skalowanie automatyczne włączoneAuto scale enabled Określa, czy włączyć skalowanie automatyczne dla usługi sieci Web.Whether to enable autoscaling for the web service.
    Domyślnie: prawdaBy default: true
    Minimalna liczba replikMin replicas Minimalna liczba kontenerów, które mają być używane podczas automatycznego skalowania tej usługi sieci Web.The minimum number of containers to use when autoscaling this web service.
    Domyślnie: 1By default: 1
    Maksymalna liczba replikMax replicas Maksymalna liczba kontenerów, które mają być używane podczas automatycznego skalowania tej usługi sieci Web.The maximum number of containers to use when autoscaling this web service.
    Domyślnie: 10By default: 10
    Wykorzystanie doceloweTarget utilization Użycie docelowe (w procentach z 100), które ma być podejmowane przez Autoskalowanie dla tej usługi sieci Web.The target utilization (in percent out of 100) that the autoscaler should attempt to maintain for this web service.
    Domyślnie: 70By default: 70
    Okres odświeżaniaRefresh period Jak często (w sekundach) funkcja automatycznego skalowania próbuje skalować tę usługę sieci Web.How often (in seconds) the autoscaler attempts to scale this web service.
    Domyślnie: 1By default: 1
    Pojemność rezerwowa procesora CPUCPU reserve capacity Liczba rdzeni procesora CPU do przydzielenia dla tej usługi sieci Web.The number of CPU cores to allocate for this web service.
    Domyślnie: 0,1By default: 0.1
    Pojemność rezerwowa pamięciMemory reserve capacity Ilość pamięci (w GB) do przydzielenia dla tej usługi sieci Web.The amount of memory (in GB) to allocate for this web service.
    Domyślnie: 0,5By default: 0.5
  4. Wybierz pozycję Wdróż.Select Deploy.

    Powiadomienie o powodzeniu powyżej kanwy pojawia się po zakończeniu wdrażania.A success notification above the canvas appears after deployment finishes. Może to potrwać kilka minut.It might take a few minutes.

Porada

Możesz również wdrożyć w usłudze Azure Container instance (ACI), jeśli wybierzesz pozycję Azure Container instance dla typu obliczenia w polu ustawienie punktu końcowego w czasie rzeczywistym.You can also deploy to Azure Container Instance (ACI) if you select Azure Container Instance for Compute type in the real-time endpoint setting box. Usługa Azure Container instance służy do testowania i programowania.Azure Container Instance is used for testing or development. Użyj ACI dla obciążeń opartych na PROCESORAch o niskiej skali, które wymagają mniej niż 48 GB pamięci RAM.Use ACI for low-scale CPU-based workloads that require less than 48 GB of RAM.

Testowanie punktu końcowego w czasie rzeczywistymTest the real-time endpoint

Po zakończeniu wdrażania można wyświetlić punkt końcowy w czasie rzeczywistym, przechodząc do strony punkty końcowe .After deployment finishes, you can view your real-time endpoint by going to the Endpoints page.

  1. Na stronie punkty końcowe Wybierz wdrożony punkt końcowy.On the Endpoints page, select the endpoint you deployed.

    Na karcie szczegóły można zobaczyć więcej informacji, takich jak identyfikator URI REST, Definicja struktury Swagger, stan i Tagi.In the Details tab, you can see more information such as the REST URI, Swagger definition, status, and tags.

    Na karcie Korzystanie można znaleźć przykładowy kod zużycia, klucze zabezpieczeń i ustawić metody uwierzytelniania.In the Consume tab, you can find sample consumption code, security keys, and set authentication methods.

    Na karcie dzienniki wdrażania można znaleźć szczegółowe dzienniki wdrożenia w punkcie końcowym w czasie rzeczywistym.In the Deployment logs tab, you can find the detailed deployment logs of your real-time endpoint.

  2. Aby przetestować punkt końcowy, przejdź do karty test . W tym miejscu możesz wprowadzić dane testowe i wybrać pozycję Testuj Sprawdź dane wyjściowe punktu końcowego.To test your endpoint, go to the Test tab. From here, you can enter test data and select Test verify the output of your endpoint.

Aby uzyskać więcej informacji na temat konsumowania usługi sieci Web, zobacz Korzystanie z modelu wdrożonego jako usługa WebServiceFor more information on consuming your web service, see Consume a model deployed as a webservice

OgraniczeniaLimitations

Jeśli wprowadzisz modyfikacje potoku szkoleniowego, należy ponownie przesłać potok szkoleniowy, zaktualizować potok wnioskowania i uruchomić potok wnioskowania.If you make some modifications in your training pipeline, you should resubmit the training pipeline, Update the inference pipeline and run the inference pipeline again.

Należy pamiętać, że w potoku wnioskowania zostaną zaktualizowane tylko modele przeszkolone, podczas gdy transformacja danych nie zostanie zaktualizowana.Note that only trained models will be updated in the inference pipeline, while data transformation will not be updated.

Aby użyć zaktualizowanej transformacji w potoku wnioskowania, należy zarejestrować dane wyjściowe transformacji modułu transformacji jako zestaw danych.To use the updated transformation in inference pipeline, you need to register the transformation output of the transformation module as dataset.

Zrzut ekranu przedstawiający sposób rejestrowania zestawu danych transformacji

Następnie ręcznie Zastąp element TD- module w potoku wnioskowania z zarejestrowanym zestawem danych.Then manually replace the TD- module in inference pipeline with the registered dataset.

Zrzut ekranu przedstawiający sposób zastąpienia modułu transformacji

Następnie można przesłać potok wnioskowania ze zaktualizowanym modelem i transformację i wdrożyć.Then you can submit the inference pipeline with the updated model and transformation, and deploy.

Czyszczenie zasobówClean up resources

Ważne

Utworzone zasoby możesz wykorzystać na potrzeby wymagań wstępnych innych samouczków i artykułów dotyczących usługi Azure Machine Learning.You can use the resources that you created as prerequisites for other Azure Machine Learning tutorials and how-to articles.

Usuń wszystkoDelete everything

Jeśli nie planujesz korzystać z utworzonych elementów, Usuń całą grupę zasobów, aby nie naliczać żadnych opłat.If you don't plan to use anything that you created, delete the entire resource group so you don't incur any charges.

  1. W Azure Portal wybierz pozycję grupy zasobów po lewej stronie okna.In the Azure portal, select Resource groups on the left side of the window.

    Usuwanie grupy zasobów w witrynie Azure Portal

  2. Z listy wybierz utworzoną grupę zasobów.In the list, select the resource group that you created.

  3. Wybierz pozycję Usuń grupę zasobów.Select Delete resource group.

Usunięcie grupy zasobów spowoduje również usunięcie wszystkich zasobów utworzonych w projektancie.Deleting the resource group also deletes all resources that you created in the designer.

Usuwanie pojedynczych zasobówDelete individual assets

W projektancie, w którym został utworzony eksperyment, Usuń pojedyncze zasoby, zaznaczając je, a następnie wybierając przycisk Usuń .In the designer where you created your experiment, delete individual assets by selecting them and then selecting the Delete button.

Obiekt docelowy obliczeń, który został utworzony w tym miejscu, automatycznie przeskaluje się do zerowych węzłów, gdy nie jest używany.The compute target that you created here automatically autoscales to zero nodes when it's not being used. To działanie jest podejmowane w celu zminimalizowania opłat.This action is taken to minimize charges. Jeśli chcesz usunąć element docelowy obliczeń, wykonaj następujące czynności:If you want to delete the compute target, take these steps:

Usuń zasoby

Zestawy danych można wyrejestrować z obszaru roboczego, zaznaczając każdy z nich i wybierając pozycję Wyrejestruj.You can unregister datasets from your workspace by selecting each dataset and selecting Unregister.

Wyrejestruj zestaw danych

Aby usunąć zestaw danych, przejdź do konta magazynu przy użyciu Azure Portal lub Eksplorator usługi Azure Storage i ręcznie usuń te zasoby.To delete a dataset, go to the storage account by using the Azure portal or Azure Storage Explorer and manually delete those assets.

Następne krokiNext steps

W tym samouczku przedstawiono najważniejsze kroki w temacie Tworzenie, wdrażanie i Używanie modelu uczenia maszynowego w projektancie.In this tutorial, you learned the key steps in how to create, deploy, and consume a machine learning model in the designer. Aby dowiedzieć się więcej na temat korzystania z projektanta, zobacz następujące linki:To learn more about how you can use the designer see the following links: