Aracılığıyla paylaş


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

GEÇERLİDİR: 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ı 1 Aralık 2021'den sonra artık oluşturulamayacağından, kullanıcıların Azure Machine Learning ile Machine Learning İşlem Hattı Yürütme etkinliğini kullanmaları ve Machine Learning Studio (klasik) modellerini güncellemek için Kaynağı Güncelleştir etkinliğini kullanmamaları ö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) modelinizi yeniden eğitip tahmine dayalı Web Hizmeti'ni güncelleyerek kullanıma hazır hale getirebilirsiniz.

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

Web hizmetleri

Machine Learning Studio (klasik) kaynak güncelleme etkinliği

Aşağıdaki JSON kod 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
BağlıServisAdı updateResourceEndpoint özelliğini içeren Machine Learning Studio (klasik) bağlı hizmeti. Yes
eğitilmişModelAdı Güncelleştirilecek Web Hizmeti denemesindeki Eğitilmiş Model modülünün adı Yes
eğitilmişModelBağlantılıHizmetAdı Güncelleme işlemiyle yüklenen ilearner dosyasını barındıran Azure Depolama bağlantılı hizmetinin adı Yes
trainedModelFilePath Güncelleştirme işlemi tarafından karşıya yüklenen ilearner dosyasını temsil eden 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.
  • Kaynağı Güncelleştir etkinliğini kullanarak tahmine dayalı Web Hizmetiningüncelleme kaynak uç noktasını yeni eğitilmiş model ile Web Hizmetini güncelleştirmek için çağırın.

Machine Learning Studio (klasik) bağlantılı hizmet

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

  1. Eğitim web hizmetine bağlı bir Machine Learning Studio (klasik) 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 ve Batch Yürütme 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. Machine Learning Studio (classic) adlı bağlı hizmet, tahmine dayalı web hizmetinin güncelleştirme kaynak uç noktasına bağlanır. Bu bağlı hizmet, Önceki adımda döndürülen iLearner dosyasını kullanarak tahmine dayalı web hizmetini güncelleştirmek için Kaynağı Güncelleştir etkinliği tarafından 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, 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

Azure Machine Learning stüdyosu 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şti:

{
    "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. Makine Öğrenimi Stüdyosu (klasik) modellerini bir işlem hattı kullanarak yeniden eğitme ve güncelleme için bir örnek 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ğlantılı hizmet

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ı şöyledir:

{
    "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ı hizmeti 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üden WEB HİzMETLerİ'ni seçin.
  2. Web hizmetleri listesinden eğitim web hizmetini seçin.
  3. API anahtarı metin kutusunun yanındaki KOPYALA'yı seçin. 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ı'nı seçin.
  5. İstek bölümünden İstek URI'sini kopyalayın ve JSON düzenleyicisine yapıştırın.

Azure Machine Learning stüdyosu (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 stüdyosu (klasik) bağlı hizmeti 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/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"
        }
    }
}

Pipeline

İş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 ilearner 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: