Aktualizace modelů Machine Learning Studia (classic) pomocí aktivity Update Resource

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Důležité

Podpora nástroje Azure Machine Learning Studio (classic) skončí 31. srpna 2024. Doporučujeme, abyste do tohoto data přešli na Azure Machine Learning .

Od 1. prosince 2021 nemůžete vytvářet nové prostředky machine Learning Studia (klasické) (pracovní prostor a plán webových služeb). Až do 31. srpna 2024 můžete dál používat stávající experimenty a webové služby Machine Learning Studio (klasické). Další informace naleznete v tématu:

Dokumentace k nástroji Machine Learning Studio (classic) se vyřadí z provozu a nemusí se v budoucnu aktualizovat.

Poznámka:

Vzhledem k tomu, že se po 1. prosinci 2021 už nedají vytvářet prostředky Machine Learning Studia (klasické), doporučujeme uživatelům používat Azure Machine Learning s aktivitou kanálu spouštění machine learningu místo použití aktivity Update Resource k aktualizaci modelů Machine Learning Studia (classic).

Tento článek doplňuje hlavní článek o integraci nástroje Machine Learning Studio (classic): Vytváření prediktivních kanálů pomocí nástroje Machine Learning Studio (classic) Pokud jste to ještě neudělali, přečtěte si hlavní článek před přečtením tohoto článku.

Přehled

V rámci procesu zprovoznění modelů Machine Learning Studio (classic) se váš model vytrénuje a uloží. Pak ji použijete k vytvoření prediktivní webové služby. Webová služba se pak dá využívat na webech, řídicích panelech a mobilních aplikacích.

Modely, které vytvoříte pomocí nástroje Machine Learning Studio (Classic), obvykle nejsou statické. Jakmile budou k dispozici nová data nebo když uživatel rozhraní API má vlastní data, musí se model znovu natrénovat.

K opětovnému vytrénování může docházet často. Pomocí aktivity dávkového spouštění a aktivity aktualizovat prostředek můžete zprovoznit přetrénování a aktualizaci prediktivní webové služby pomocí modelu Machine Learning Studio (classic).

Následující obrázek znázorňuje vztah mezi trénováním a prediktivními webovými službami.

Webové služby

Aktivita aktualizace prostředků nástroje Machine Learning Studio (Classic)

Následující fragment kódu JSON definuje aktivitu dávkového spouštění nástroje Machine Learning Studio (Classic).

{
    "name": "amlUpdateResource",
    "type": "AzureMLUpdateResource",
    "description": "description",
    "linkedServiceName": {
        "type": "LinkedServiceReference",
        "referenceName": "updatableScoringEndpoint2"
    },
    "typeProperties": {
        "trainedModelName": "ModelName",
        "trainedModelLinkedServiceName": {
                    "type": "LinkedServiceReference",
                    "referenceName": "StorageLinkedService"
                },
        "trainedModelFilePath": "ilearner file path"
    }
}
Vlastnost Popis Povinní účastníci
name Název aktivity v kanálu Ano
description Text popisující, co aktivita dělá. No
type Pro aktivitu prostředku aktualizace Machine Learning Studia (Classic) je typ aktivity AzureMLUpdateResource. Ano
linkedServiceName Propojená služba Machine Learning Studio (classic), která obsahuje vlastnost updateResourceEndpoint. Ano
trainedModelName Název modulu trénovaného modelu v experimentu webové služby, který se má aktualizovat Ano
trainedModelLinkedServiceName Název propojené služby Azure Storage obsahující soubor ilearner, který je nahraný operací aktualizace Ano
trainedModelFilePath Relativní cesta k souboru v trainedModelLinkedService představující soubor ilearner, který je nahraný operací aktualizace. Ano

Ucelený pracovní postup

Celý proces zprovoznění přetrénování modelu a aktualizace prediktivních webových služeb zahrnuje následující kroky:

  • Vyvolání trénovací webové služby pomocí aktivity Dávkové spuštění. Vyvolání trénovací webové služby je stejné jako vyvolání prediktivní webové služby popsané v tématu Vytváření prediktivních kanálů pomocí nástroje Machine Learning Studio (classic) a aktivity dávkového spouštění. Výstupem trénovací webové služby je soubor iLearner, který můžete použít k aktualizaci prediktivní webové služby.
  • Vyvolejte koncový bod prostředku aktualizace prediktivní webové služby pomocí aktivity Aktualizovat prostředek k aktualizaci webové služby pomocí nově natrénovaného modelu.

Propojená služba Machine Learning Studio (Classic)

Aby výše uvedený kompletní pracovní postup fungoval, musíte vytvořit dvě propojené služby Machine Learning Studio (klasické):

  1. Propojená služba Machine Learning Studio (classic) s trénovací webovou službou tuto propojenou službu používá aktivita dávkového spouštění stejným způsobem jako to, co je uvedeno v tématu Vytváření prediktivních kanálů pomocí nástroje Machine Learning Studio (classic) a aktivity dávkového spouštění. Rozdíl je výstupem trénovací webové služby soubor iLearner, který se pak používá aktivitou Update Resource k aktualizaci prediktivní webové služby.
  2. Propojená služba Machine Learning Studio (Classic) s koncovým bodem prostředku aktualizace prediktivní webové služby. Tuto propojenou službu používá aktivita Aktualizovat prostředek k aktualizaci prediktivní webové služby pomocí souboru iLearner vráceného z výše uvedeného kroku.

Pro druhou propojenou službu Machine Learning Studio (classic) se konfigurace liší, pokud je webová služba Machine Learning Studio (classic) klasickou webovou službou nebo novou webovou službou. Rozdíly jsou popsány samostatně v následujících částech.

Webová služba je nová webová služba Azure Resource Manageru.

Pokud je webová služba novým typem webové služby, která zveřejňuje koncový bod Azure Resource Manageru, nemusíte přidávat druhý jiný než výchozí koncový bod. UpdateResourceEndpoint v propojené službě je ve formátu:

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview

Při dotazování webové služby v nástroji Azure Machine Learning Studio můžete získat hodnoty pro držitele míst v adrese URL.

Nový typ koncového bodu prostředku aktualizace vyžaduje ověřování instančního objektu. Pokud chcete použít ověřování instančního objektu, zaregistrujte entitu aplikace v Microsoft Entra ID a udělte jí roli Přispěvatel nebo Vlastník předplatného nebo skupiny prostředků, do které webová služba patří. Přečtěte si , jak vytvořit instanční objekt a přiřadit oprávnění ke správě prostředků Azure. Poznamenejte si následující hodnoty, které slouží k definování propojené služby:

  • ID aplikace
  • Klíč aplikace
  • ID tenanta

Tady je ukázka definice propojené služby:

{
    "name": "AzureMLLinkedService",
    "properties": {
        "type": "AzureML",
        "description": "The linked service for AML web service.",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/0000000000000000	000000000000000000000/services/0000000000000000000000000000000000000/jobs?api-version=2.0",
            "apiKey": {
                "type": "SecureString",
                "value": "APIKeyOfEndpoint1"
            },
            "updateResourceEndpoint": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview",
            "servicePrincipalId": "000000000-0000-0000-0000-0000000000000",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "servicePrincipalKey"
            },
            "tenant": "mycompany.com"
        }
    }
}

Další podrobnosti najdete v následujícím scénáři. Obsahuje příklad pro opětovné natrénování a aktualizaci modelů Machine Learning Studio (classic) z kanálu.

Ukázka: Opětovné trénování a aktualizace modelu Machine Learning Studio (classic)

Tato část obsahuje ukázkový kanál, který k opětovnému trénování modelu používá aktivitu dávkového spouštění nástroje Azure Machine Learning Studio (Classic). Kanál také používá aktivitu prostředku aktualizace nástroje Azure Machine Learning Studio (Classic) k aktualizaci modelu ve webové službě bodování. Tato část také obsahuje fragmenty kódu JSON pro všechny propojené služby, datové sady a kanál v příkladu.

Propojená služba Azure Blob Storage:

Azure Storage obsahuje následující data:

  • trénovací data. Vstupní data pro webovou službu Machine Learning Studio (classic).
  • soubor iLearner. Výstup webové služby Machine Learning Studio (classic) pro trénování Tento soubor je také vstupem do aktivity Aktualizovat prostředek.

Tady je ukázková definice JSON propojené služby:

{
    "name": "StorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
        }
    }
}

Propojená služba pro koncový bod trénování nástroje Machine Learning Studio (Classic)

Následující fragment kódu JSON definuje propojenou službu Machine Learning Studio (Classic), která odkazuje na výchozí koncový bod trénovací webové služby.

{
    "name": "trainingEndpoint",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
            "apiKey": "myKey"
        }
    }
}

V nástroji Azure Machine Learning Studio (Classic) získejte hodnoty pro mlEndpoint a apiKey následujícím postupem:

  1. V nabídce vlevo klikněte na WEB SERVICES .
  2. V seznamu webových služeb klikněte na trénovací webovou službu.
  3. Klikněte na kopírovat vedle textového pole klíče rozhraní API. Vložte klíč do schránky do editoru JSON služby Data Factory.
  4. V nástroji Azure Machine Learning Studio (classic) klikněte na odkaz BATCH EXECUTION (BATCH EXECUTION ).
  5. Zkopírujte identifikátor URI požadavku z oddílu Požadavek a vložte ho do editoru JSON.

Propojená služba pro aktualizovatelný koncový bod nástroje Azure Machine Learning Studio (Classic):

Následující fragment kódu JSON definuje propojenou službu Azure Machine Learning Studio (Classic), která odkazuje na aktualizovatelný koncový bod webové služby bodování.

{
    "name": "updatableScoringEndpoint2",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/00000000eb0abe4d6bbb1d7886062747d7/services/00000000026734a5889e02fbb1f65cefd/jobs?api-version=2.0",
            "apiKey": "sooooooooooh3WvG1hBfKS2BNNcfwSO7hhY6dY98noLfOdqQydYDIXyf2KoIaN3JpALu/AKtflHWMOCuicm/Q==",
            "updateResourceEndpoint": "https://management.azure.com/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/Default-MachineLearning-SouthCentralUS/providers/Microsoft.MachineLearning/webServices/myWebService?api-version=2016-05-01-preview",
            "servicePrincipalId": "fe200044-c008-4008-a005-94000000731",
            "servicePrincipalKey": "zWa0000000000Tp6FjtZOspK/WMA2tQ08c8U+gZRBlw=",
            "tenant": "mycompany.com"
        }
    }
}

Kanál

Kanál má dvě aktivity: AzureMLBatchExecution a AzureMLUpdateResource. Aktivita Dávkové spouštění přijímá trénovací data jako vstup a vytváří soubor iLearner jako výstup. Aktivita Aktualizovat prostředek pak vezme tento soubor iLearner a použije ho k aktualizaci prediktivní webové služby.

{
    "name": "LookupPipelineDemo",
    "properties": {
        "activities": [
            {
                "name": "amlBEGetilearner",
                "description": "Use AML BES to get the ileaner file from training web service",
                "type": "AzureMLBatchExecution",
                "linkedServiceName": {
                    "referenceName": "trainingEndpoint",
                    "type": "LinkedServiceReference"
                },
                "typeProperties": {
                    "webServiceInputs": {
                        "input1": {
                            "LinkedServiceName":{
                                "referenceName": "StorageLinkedService",
                                "type": "LinkedServiceReference"
                            },
                            "FilePath":"azuremltesting/input"
                        },
                        "input2": {
                            "LinkedServiceName":{
                                "referenceName": "StorageLinkedService",
                                "type": "LinkedServiceReference"
                            },
                            "FilePath":"azuremltesting/input"
                        }
                    },
                    "webServiceOutputs": {
                        "output1": {
                            "LinkedServiceName":{
                                "referenceName": "StorageLinkedService",
                                "type": "LinkedServiceReference"
                            },
                            "FilePath":"azuremltesting/output"
                        }
                    }
                }
            },
            {
                "name": "amlUpdateResource",
                "type": "AzureMLUpdateResource",
                "description": "Use AML Update Resource to update the predict web service",
                "linkedServiceName": {
                    "type": "LinkedServiceReference",
                    "referenceName": "updatableScoringEndpoint2"
                },
                "typeProperties": {
                    "trainedModelName": "ADFV2Sample Model [trained model]",
                    "trainedModelLinkedServiceName": {
                        "type": "LinkedServiceReference",
                        "referenceName": "StorageLinkedService"
                    },
                    "trainedModelFilePath": "azuremltesting/output/newModelForArm.ilearner"
                },
                "dependsOn": [
                    {
                        "activity": "amlbeGetilearner",
                        "dependencyConditions": [ "Succeeded" ]
                    }
                ]
            }
        ]
    }
}

Podívejte se na následující články, které vysvětlují, jak transformovat data jinými způsoby: