Kaynak Güncelleştirme etkinliğini kullanarak Machine Learning Studio (klasik) modellerini güncelleştirme

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Önemli

Azure Machine Learning Studio (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.

1 Aralık 2021 itibarıyla yeni Machine Learning Studio (klasik) kaynakları (çalışma alanı ve web hizmeti planı) oluşturamazsınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Studio (klasik) denemelerini ve web hizmetlerini kullanmaya devam edebilirsiniz. Daha fazla bilgi için bkz.

Machine Learning Studio (klasik) belgeleri kullanımdan kaldırılıyor ve gelecekte güncelleştirilmeyebilir.

Not

Machine Learning Studio (klasik) kaynakları artık 1 Aralık 2021'den sonra oluşturulamadığından, kullanıcıların Machine Learning Studio (klasik) modellerini güncelleştirmek için Kaynağı Güncelleştir etkinliğini kullanmak yerine Azure Machine Learning'i Machine Learning İşlem Hattı Yürütme etkinliğiylekullanmaları önerilir.

Bu makale, ana Machine Learning Studio (klasik) tümleştirme makalesini tamamlar: Machine Learning Studio (klasik) kullanarak tahmine dayalı işlem hatları oluşturma. Henüz yapmadıysanız, bu makaleyi okumadan önce ana makaleyi gözden geçirin.

Genel bakış

Machine Learning Studio (klasik) modellerini kullanıma sunma sürecinin bir parçası olarak modeliniz eğitilir ve kaydedilir. Ardından tahmine dayalı bir Web hizmeti oluşturmak için bunu kullanırsınız. Web hizmeti daha sonra web sitelerinde, panolarda ve mobil uygulamalarda kullanılabilir.

Machine Learning Studio (klasik) kullanarak oluşturduğunuz modeller genellikle statik değildir. Yeni veriler kullanıma sunuldukça veya API tüketicisi kendi verilerine sahip olduğunda modelin yeniden eğitilmesi gerekir.

Yeniden eğitme sık sık gerçekleşebilir. Batch Yürütme etkinliği ve Kaynağı Güncelleştir etkinliği ile Machine Learning Studio (klasik) modelinin tahmine dayalı Web Hizmeti'ni yeniden eğitmesini ve güncelleştirmesini kullanıma hazır hale getirmeniz gerekir.

Aşağıdaki resimde eğitim ve tahmine dayalı Web Hizmetleri arasındaki ilişki gösterilir.

Web services

Machine Learning Studio (klasik) güncelleştirme kaynağı etkinliği

Aşağıdaki JSON parçacığı bir Machine Learning Studio (klasik) Toplu Yürütme etkinliğini tanımlar.

{
    "name": "amlUpdateResource",
    "type": "AzureMLUpdateResource",
    "description": "description",
    "linkedServiceName": {
        "type": "LinkedServiceReference",
        "referenceName": "updatableScoringEndpoint2"
    },
    "typeProperties": {
        "trainedModelName": "ModelName",
        "trainedModelLinkedServiceName": {
                    "type": "LinkedServiceReference",
                    "referenceName": "StorageLinkedService"
                },
        "trainedModelFilePath": "ilearner file path"
    }
}
Özellik Açıklama Gerekli
Adı İşlem hattındaki etkinliğin adı Yes
açıklama Etkinliğin ne yaptığını açıklayan metin. Hayır
Tür Machine Learning Studio (klasik) Kaynak Güncelleştirme etkinliği için etkinlik türü AzureMLUpdateResource'tır. Yes
linkedServiceName updateResourceEndpoint özelliğini içeren Machine Learning Studio (klasik) bağlı hizmeti. Yes
trainedModelName Güncelleştirilecek Web Hizmeti denemesindeki Eğitilmiş Model modülünün adı Yes
trainedModelLinkedServiceName Güncelleştirme işlemi tarafından karşıya yüklenen ilearner dosyasını tutan Azure Depolama bağlı hizmetinin adı Yes
trainedModelFilePath Güncelleştirme işlemi tarafından karşıya yüklenen ilearner dosyasını temsil etmek için trainedModelLinkedService içindeki göreli dosya yolu Yes

Uçtan uca iş akışı

Modeli yeniden eğitme ve tahmine dayalı Web Hizmetlerini güncelleştirme işlemlerinin tamamı aşağıdaki adımları içerir:

  • Toplu Yürütme etkinliğini kullanarak eğitim Web Hizmeti'ni çağırın. Eğitim Web Hizmetini çağırmak, Machine Learning Studio kullanarak tahmine dayalı işlem hatları oluşturma (klasik) ve Batch Yürütme etkinliğinde açıklanan tahmine dayalı bir Web Hizmetini çağırmayla aynıdır. Eğitim Web Hizmeti'nin çıktısı, tahmine dayalı Web Hizmetini güncelleştirmek için kullanabileceğiniz bir iLearner dosyasıdır.
  • Web Hizmetini yeni eğitilen modelle güncelleştirmek için Kaynağı Güncelleştir etkinliğini kullanarak tahmine dayalı Web Hizmetinin güncelleştirme kaynak uç noktasınıçağırın.

Machine Learning Studio (klasik) bağlı hizmeti

Yukarıda bahsedilen uçtan uca iş akışının çalışması için iki Machine Learning Studio (klasik) bağlı hizmet oluşturmanız gerekir:

  1. Eğitim web hizmetine bir Machine Learning Studio (klasik) bağlı hizmeti olan bu bağlı hizmet, Batch Yürütme etkinliği tarafından Machine Learning Studio (klasik) kullanarak tahmine dayalı işlem hatları oluşturma (klasik) ve Batch Execution etkinliği ile aynı şekilde kullanılır. Fark, eğitim web hizmetinin çıktısının bir iLearner dosyası olmasıdır ve daha sonra Kaynağı Güncelleştir etkinliği tarafından tahmine dayalı web hizmetini güncelleştirmek için kullanılır.
  2. Tahmine dayalı web hizmetinin güncelleştirme kaynak uç noktasına bir Machine Learning Studio (klasik) bağlı hizmeti. Bu bağlı hizmet, kaynağı güncelleştir etkinliği tarafından yukarıdaki adımdan döndürülen iLearner dosyasını kullanarak tahmine dayalı web hizmetini güncelleştirmek için kullanılır.

İkinci Machine Learning Studio (klasik) bağlı hizmeti için, Machine Learning Studio (klasik) Web Hizmetiniz klasik bir Web Hizmeti veya yeni bir Web Hizmeti olduğunda yapılandırma farklıdır. Farklılıklar aşağıdaki bölümlerde ayrı ayrı ele alınıyor.

Web hizmeti yeni Azure Resource Manager web hizmetidir

Web hizmeti bir Azure Resource Manager uç noktasını kullanıma sunan yeni web hizmeti türüyse, ikinci varsayılan olmayan uç noktayı eklemeniz gerekmez. Bağlı hizmetteki updateResourceEndpoint şu biçimdedir:

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

Machine Learning Studio (klasik) Web Hizmetleri Portalı'nda web hizmetini sorgularken URL'deki yer tutucuların değerlerini alabilirsiniz.

Yeni güncelleştirme kaynağı uç noktası türü için hizmet sorumlusu kimlik doğrulaması gerekir. Hizmet sorumlusu kimlik doğrulamasını kullanmak için, bir uygulama varlığını Microsoft Entra Id'ye kaydedin ve aboneliğe veya web hizmetinin ait olduğu kaynak grubuna Katkıda Bulunan veya Sahip rolü verin. Bkz. Azure kaynağını yönetmek için hizmet sorumlusu oluşturma ve izin atama. Bağlı hizmeti tanımlamak için kullandığınız aşağıdaki değerleri not edin:

  • Uygulama Kimliği
  • Uygulama anahtarı
  • Kiracı kimliği

Aşağıda örnek bir bağlı hizmet tanımı verilmiştir:

{
    "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"
        }
    }
}

Aşağıdaki senaryo daha fazla ayrıntı sağlar. Machine Learning Studio (klasik) modellerini bir işlem hattından yeniden eğitme ve güncelleştirme örneği vardır.

Örnek: Machine Learning Studio (klasik) modelini yeniden eğitme ve güncelleştirme

Bu bölümde, bir modeli yeniden eğitmek için Azure Machine Learning Studio (klasik) Batch Execution etkinliğini kullanan örnek bir işlem hattı sağlanır. İşlem hattı, puanlama web hizmetindeki modeli güncelleştirmek için Azure Machine Learning Studio (klasik) Kaynak Güncelleştirme etkinliğini de kullanır. Bölümünde ayrıca örnekteki tüm bağlı hizmetler, veri kümeleri ve işlem hattı için JSON kod parçacıkları sağlanır.

Azure Blob depolama bağlı hizmeti:

Azure Depolama aşağıdaki verileri barındırıyor:

  • eğitim verileri. Machine Learning Studio (klasik) eğitim web hizmetinin giriş verileri.
  • iLearner dosyası. Machine Learning Studio (klasik) eğitim web hizmetinin çıktısı. Bu dosya ayrıca Kaynağı Güncelleştir etkinliğinin girişidir.

Bağlı hizmetin örnek JSON tanımı aşağıda verilmiştir:

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

Machine Learning Studio (klasik) eğitim uç noktası için bağlı hizmet

Aşağıdaki JSON kod parçacığı, eğitim web hizmetinin varsayılan uç noktasına işaret eden bir Machine Learning Studio (klasik) bağlı hizmetini tanımlar.

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

Azure Machine Learning Studio'da (klasik)mlEndpoint ve apiKey değerlerini almak için aşağıdakileri yapın:

  1. Soldaki menüde WEB HİzMETLerİ'ne tıklayın.
  2. Web hizmetleri listesinde eğitim web hizmetine tıklayın.
  3. API anahtarı metin kutusunun yanındaki Kopyala'ya tıklayın. Panodaki anahtarı Data Factory JSON düzenleyicisine yapıştırın.
  4. Azure Machine Learning Studio'da (klasik)BATCH YÜRÜTME bağlantısına tıklayın.
  5. İstek bölümünden İstek URI'sini kopyalayın ve JSON düzenleyicisine yapıştırın.

Azure Machine Learning Studio (klasik) güncelleştirilebilir puanlama uç noktası için bağlı hizmet:

Aşağıdaki JSON kod parçacığı, puanlama web hizmetinin güncelleştirilebilir uç noktasına işaret eden bir Azure Machine Learning Studio (klasik) bağlı hizmetini tanımlar.

{
    "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/00000000-0000-0000-0000-000000000000/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"
        }
    }
}

İşlem Hattı

İşlem hattının iki etkinliği vardır: AzureMLBatchExecution ve AzureMLUpdateResource. Batch Execution etkinliği, eğitim verilerini giriş olarak alır ve çıktı olarak bir iLearner dosyası oluşturur. Ardından Kaynağı Güncelleştir etkinliği bu iLearner dosyasını alır ve tahmine dayalı web hizmetini güncelleştirmek için bu dosyayı kullanır.

{
    "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" ]
                    }
                ]
            }
        ]
    }
}

Verileri başka şekillerde dönüştürmeyi açıklayan aşağıdaki makalelere bakın: