Atualizar modelos do Machine Learning Studio (clássico) usando a atividade Atualizar recurso
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Importante
O suporte para o Azure Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. Recomendamos que faça a transição para o Azure Machine Learning até essa data.
A partir de 1º de dezembro de 2021, não é possível criar novos recursos (clássicos) do Machine Learning Studio (espaço de trabalho e plano de serviço Web). Até 31 de agosto de 2024, você pode continuar a usar os experimentos e serviços Web existentes do Machine Learning Studio (clássicos). Para obter mais informações, consulte:
- Migrar para o Azure Machine Learning a partir do Machine Learning Studio (clássico)
- O que é o Azure Machine Learning?
A documentação do Machine Learning Studio (clássica) está sendo desativada e pode não ser atualizada no futuro.
Nota
Como os recursos do Machine Learning Studio (clássico) não podem mais ser criados após 1º de dezembro de 2021, os usuários são incentivados a usar o Azure Machine Learning com a atividade Machine Learning Execute Pipeline em vez de usar a atividade Update Resource para atualizar modelos do Machine Learning Studio (clássico).
Este artigo complementa o artigo principal de integração do Machine Learning Studio (clássico): Criar pipelines preditivos usando o Machine Learning Studio (clássico). Se ainda não o fez, reveja o artigo principal antes de ler este artigo.
Descrição geral
Como parte do processo de operacionalização de modelos (clássicos) do Machine Learning Studio, seu modelo é treinado e salvo. Em seguida, use-o para criar um serviço Web preditivo. O serviço Web pode ser consumido em sites, painéis e aplicativos móveis.
Os modelos criados usando o Machine Learning Studio (clássico) normalmente não são estáticos. À medida que novos dados ficam disponíveis ou quando o consumidor da API tem seus próprios dados, o modelo precisa ser retreinado.
A reciclagem pode ocorrer com frequência. Com a atividade de Execução em Lote e a atividade de Atualização de Recursos, você pode operacionalizar o retreinamento do modelo do Estúdio de Aprendizado de Máquina (clássico) e atualizar o Serviço Web preditivo.
A imagem a seguir mostra a relação entre treinamento e serviços Web preditivos.
Atividade de atualização de recursos do Machine Learning Studio (clássico)
O trecho JSON a seguir define uma atividade de Execução em Lote (clássica) do Machine Learning Studio.
{
"name": "amlUpdateResource",
"type": "AzureMLUpdateResource",
"description": "description",
"linkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "updatableScoringEndpoint2"
},
"typeProperties": {
"trainedModelName": "ModelName",
"trainedModelLinkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "StorageLinkedService"
},
"trainedModelFilePath": "ilearner file path"
}
}
Property | Descrição | Obrigatório |
---|---|---|
nome | Nome da atividade no pipeline | Sim |
descrição | Texto descrevendo o que a atividade faz. | Não |
tipo | Para a atividade de Atualização de Recursos do Machine Learning Studio (clássica), o tipo de atividade é AzureMLUpdateResource. | Sim |
linkedServiceName | Serviço vinculado do Machine Learning Studio (clássico) que contém a propriedade updateResourceEndpoint. | Sim |
trainedModelName | Nome do módulo Modelo Treinado no experimento de Serviço Web a ser atualizado | Sim |
trainedModelLinkedServiceName | Nome do serviço vinculado do Armazenamento do Azure que contém o arquivo ilearner carregado pela operação de atualização | Sim |
trainedModelFilePath | O caminho do arquivo relativo em trainedModelLinkedService para representar o arquivo ilearner que é carregado pela operação de atualização | Sim |
Fluxo de trabalho ponto a ponto
Todo o processo de operacionalização do retreinamento de um modelo e atualização dos Web Services preditivos envolve as seguintes etapas:
- Invoque o serviço Web de treinamento usando a atividade Execução em lote. Invocar um Serviço Web de treinamento é o mesmo que invocar um Serviço Web preditivo descrito em Criar pipelines preditivos usando o Machine Learning Studio (clássico) e a atividade Execução em lote. A saída do Serviço Web de treinamento é um arquivo iLearner que você pode usar para atualizar o Serviço Web preditivo.
- Invoque o ponto de extremidade do recurso de atualização do Serviço Web preditivo usando a atividade Atualizar Recurso para atualizar o Serviço Web com o modelo recém-treinado.
Serviço vinculado do Machine Learning Studio (clássico)
Para que o fluxo de trabalho de ponta a ponta mencionado acima funcione, você precisa criar dois serviços vinculados do Machine Learning Studio (clássico):
- Um serviço vinculado do Estúdio de Aprendizado de Máquina (clássico) ao serviço Web de treinamento, esse serviço vinculado é usado pela atividade de Execução em Lote da mesma forma que o mencionado em Criar pipelines preditivos usando o Estúdio de Aprendizado de Máquina (clássico) e a atividade de Execução em Lote. A diferença é que a saída do serviço Web de treinamento é um arquivo iLearner, que é usado pela atividade Update Resource para atualizar o serviço Web preditivo.
- Um serviço vinculado do Estúdio de Aprendizado de Máquina (clássico) ao ponto de extremidade do recurso de atualização do serviço Web preditivo. Este serviço vinculado é usado pela atividade Update Resource para atualizar o serviço Web preditivo usando o arquivo iLearner retornado da etapa acima.
Para o segundo serviço vinculado do Estúdio de Aprendizado de Máquina (clássico), a configuração é diferente quando o Serviço Web do Estúdio de Aprendizado de Máquina (clássico) é um Serviço Web clássico ou um novo Serviço Web. As diferenças são discutidas separadamente nas seções a seguir.
O serviço Web é o novo serviço Web do Azure Resource Manager
Se o serviço Web for o novo tipo de serviço Web que expõe um ponto de extremidade do Azure Resource Manager, não será necessário adicionar o segundo ponto de extremidade não padrão . O updateResourceEndpoint no serviço vinculado é do formato:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview
Você pode obter valores para espaços reservados na URL ao consultar o serviço Web no Estúdio de Aprendizado de Máquina do Azure.
O novo tipo de ponto de extremidade de recurso de atualização requer autenticação da entidade de serviço. Para usar a autenticação da entidade de serviço, registre uma entidade de aplicativo na ID do Microsoft Entra e conceda-lhe a função de Colaborador ou Proprietário da assinatura ou do grupo de recursos ao qual o serviço Web pertence. Veja como criar a entidade de serviço e atribuir permissões para gerenciar o recurso do Azure. Anote os seguintes valores, que você usa para definir o serviço vinculado:
- ID da aplicação
- Chave de aplicação
- ID de Inquilino do
Aqui está um exemplo de definição de serviço vinculado:
{
"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"
}
}
}
O cenário a seguir fornece mais detalhes. Ele tem um exemplo para retreinar e atualizar modelos do Machine Learning Studio (clássicos) a partir de um pipeline.
Exemplo: Retreinamento e atualização de um modelo de Estúdio de Aprendizado de Máquina (clássico)
Esta seção fornece um pipeline de exemplo que usa a atividade de Execução em Lote do Azure Machine Learning Studio (clássica) para treinar novamente um modelo. O pipeline também usa a atividade de recurso de atualização do Azure Machine Learning Studio (clássico) para atualizar o modelo no serviço Web de pontuação. A seção também fornece trechos JSON para todos os serviços vinculados, conjuntos de dados e pipeline no exemplo.
Serviço vinculado de armazenamento de Blob do Azure:
O Armazenamento do Azure contém os seguintes dados:
- dados de formação. Os dados de entrada para o serviço Web de treinamento do Machine Learning Studio (clássico).
- Arquivo iLearner. A saída do serviço Web de treinamento do Machine Learning Studio (clássico). Esse arquivo também é a entrada para a atividade Update Resource.
Aqui está o exemplo de definição JSON do serviço vinculado:
{
"name": "StorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
}
}
}
Serviço vinculado para o ponto de extremidade de treinamento do Machine Learning Studio (clássico)
O trecho JSON a seguir define um serviço vinculado do Machine Learning Studio (clássico) que aponta para o ponto de extremidade padrão do serviço Web de treinamento.
{
"name": "trainingEndpoint",
"properties": {
"type": "AzureML",
"typeProperties": {
"mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
"apiKey": "myKey"
}
}
}
No Azure Machine Learning Studio (clássico), faça o seguinte para obter valores para mlEndpoint e apiKey:
- Clique em WEB SERVICES no menu à esquerda.
- Clique no serviço Web de treinamento na lista de serviços Web.
- Clique em copiar ao lado da caixa de texto Chave da API. Cole a chave na área de transferência no editor JSON do Data Factory.
- No Estúdio de Aprendizado de Máquina do Azure (clássico), clique no link EXECUÇÃO EM LOTE.
- Copie o URI de solicitação da seção Solicitação e cole-o no editor JSON.
Serviço vinculado para o ponto de extremidade de pontuação atualizável do Azure Machine Learning Studio (clássico):
O trecho JSON a seguir define um serviço vinculado do Azure Machine Learning Studio (clássico) que aponta para o ponto de extremidade atualizável do serviço Web de pontuação.
{
"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
O pipeline tem duas atividades: AzureMLBatchExecution e AzureMLUpdateResource. A atividade Execução em lote usa os dados de treinamento como entrada e produz um arquivo iLearner como saída. Em seguida, a atividade Atualizar Recurso utiliza este ficheiro iLearner e utiliza-o para atualizar o serviço Web preditivo.
{
"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" ]
}
]
}
]
}
}
Conteúdos relacionados
Consulte os seguintes artigos que explicam como transformar dados de outras maneiras: