Gerir orçamentos, custos e quotas do Azure Machine Learning à escala organizacional
Quando você gerencia os custos de computação incorridos do Aprendizado de Máquina do Azure, em uma escala organizacional com muitas cargas de trabalho, muitas equipes e usuários, há vários desafios de gerenciamento e otimização para trabalhar.
Neste artigo, apresentamos as práticas recomendadas para otimizar custos, gerenciar orçamentos e compartilhar cotas com o Azure Machine Learning. Reflete a experiência e as lições aprendidas ao gerir equipas de aprendizagem automática internamente na Microsoft e ao estabelecer parcerias com os nossos clientes. Saberá como:
- Otimize os recursos de computação para atender aos requisitos da carga de trabalho.
- Impulsione o melhor uso do orçamento de uma equipe.
- Planeje, gerencie e compartilhe orçamentos, custos e cotas em escala empresarial.
Otimize a computação para atender aos requisitos de carga de trabalho
Quando você inicia um novo projeto de aprendizado de máquina, pode ser necessário um trabalho exploratório para obter uma boa imagem dos requisitos de computação. Esta seção fornece recomendações sobre como você pode determinar a escolha certa de SKU de máquina virtual (VM) para treinamento, inferência ou como uma estação de trabalho para trabalhar.
Determinar o tamanho da computação para treinamento
Os requisitos de hardware para sua carga de trabalho de treinamento podem variar de projeto para projeto. Para atender a esses requisitos, a computação do Azure Machine Learning oferece vários tipos de VMs:
- Objetivo geral: Relação entre CPU e memória balanceada.
- Memória otimizada: Alta relação memória/CPU.
- Computação otimizada: Alta relação CPU/memória.
- Computação de alto desempenho: ofereça desempenho, escalabilidade e eficiência de custos de classe de liderança para várias cargas de trabalho de HPC do mundo real.
- Instâncias com GPUs: máquinas virtuais especializadas direcionadas para renderização gráfica pesada e edição de vídeo, bem como treinamento de modelos e inferência (ND) com aprendizado profundo.
Talvez você ainda não saiba quais são seus requisitos de computação. Nesse cenário, recomendamos começar com uma das seguintes opções padrão econômicas. Essas opções são para testes leves e para cargas de trabalho de treinamento.
Tipo | Tamanho da máquina virtual | Especificações |
---|---|---|
CPU | Standard_DS3_v2 | 4 núcleos, 14 gigabytes (GB) de RAM, 28 GB de armazenamento |
GPU | Standard_NC6 | 6 núcleos, 56 gigabytes (GB) de RAM, 380 GB de armazenamento, GPU NVIDIA Tesla K80 |
Para obter o melhor tamanho de VM para seu cenário, ele pode consistir em tentativa e erro. Aqui estão vários aspetos a considerar.
- Se você precisar de uma CPU:
- Use uma VM otimizada para memória se estiver treinando em grandes conjuntos de dados.
- Use uma VM otimizada para computação se estiver fazendo inferência em tempo real ou outras tarefas sensíveis à latência.
- Use uma VM com mais núcleos e RAM para acelerar os tempos de treinamento.
- Se você precisar de uma GPU, consulte os tamanhos de VM otimizados para GPU para obter informações sobre como selecionar uma VM.
- Se você estiver fazendo treinamento distribuído, use tamanhos de VM que tenham várias GPUs.
- Se você estiver fazendo treinamento distribuído em vários nós, use GPUs que tenham conexões NVLink.
Enquanto você seleciona o tipo de VM e a SKU que melhor se adapta à sua carga de trabalho, avalie SKUs de VM comparáveis como uma compensação entre o desempenho e o preço da CPU e da GPU. Do ponto de vista da gestão de custos, um trabalho pode funcionar razoavelmente bem em várias SKUs.
Certas GPUs, como a família NC, particularmente NC_Promo SKUs, têm habilidades semelhantes a outras GPUs, como baixa latência e capacidade de gerenciar várias cargas de trabalho de computação em paralelo. Eles estão disponíveis a preços com desconto em comparação com algumas das outras GPUs. Selecionar cuidadosamente SKUs de VM para a carga de trabalho pode economizar custos significativamente no final.
Um lembrete sobre a importância para a utilização é se inscrever para um número maior de GPUs não necessariamente executar com resultados mais rápidos. Em vez disso, certifique-se de que as GPUs estão totalmente utilizadas. Por exemplo, verifique a necessidade do NVIDIA CUDA. Embora possa ser necessário para a execução de GPU de alto desempenho, seu trabalho pode não depender dele.
Determinar o tamanho da computação para inferência
Os requisitos de computação para cenários de inferência diferem dos cenários de treinamento. As opções disponíveis diferem consoante o seu cenário exija inferência offline em lote ou exija inferência online em tempo real.
Para cenários de inferência em tempo real, considere as seguintes sugestões:
- Use os recursos de criação de perfil em seu modelo com o Aprendizado de Máquina do Azure para determinar a quantidade de CPU e memória que você precisa alocar para o modelo ao implantá-lo como um serviço Web.
- Se você estiver fazendo inferência em tempo real, mas não precisar de alta disponibilidade, implante em Instâncias de Contêiner do Azure (sem seleção de SKU).
- Se você estiver fazendo inferência em tempo real, mas precisar de alta disponibilidade, implante no Serviço Kubernetes do Azure.
- Se você estiver usando modelos tradicionais de aprendizado de máquina e receber < 10 consultas/segundo, comece com um SKU de CPU. Os SKUs da série F geralmente funcionam bem.
- Se você estiver usando modelos de aprendizado profundo e receber > 10 consultas/segundo, experimente um SKU GPU NVIDIA (NCasT4_v3 geralmente funciona bem) com o Triton.
Para cenários de inferência em lote, considere as seguintes sugestões:
- Ao usar pipelines do Azure Machine Learning para inferência em lote, siga as orientações em Determinar o tamanho de computação para treinamento para escolher o tamanho inicial da VM.
- Otimize o custo e o desempenho dimensionando horizontalmente. Um dos principais métodos de otimização de custo e desempenho é paralelizar a carga de trabalho com a ajuda da etapa de execução paralela no Azure Machine Learning. Esta etapa de pipeline permite que você use muitos nós menores para executar a tarefa em paralelo, o que permite dimensionar horizontalmente. No entanto, há uma sobrecarga para paralelização. Dependendo da carga de trabalho e do grau de paralelismo que pode ser alcançado, uma etapa de execução paralela pode ou não ser uma opção.
Determinar o tamanho da instância de computação
Para desenvolvimento interativo, recomenda-se a instância de computação do Azure Machine Learning. A oferta de instância de computação (CI) traz computação de nó único que está vinculada a um único usuário e pode ser usada como uma estação de trabalho em nuvem.
Algumas organizações não permitem o uso de dados de produção em estações de trabalho locais, impuseram restrições ao ambiente da estação de trabalho ou restringem a instalação de pacotes e dependências no ambiente de TI corporativo. Uma instância de computação pode ser usada como uma estação de trabalho para superar a limitação. Ele oferece um ambiente seguro com acesso a dados de produção e é executado em imagens que vêm com pacotes e ferramentas populares para ciência de dados pré-instalados.
Quando a instância de computação está em execução, o usuário é cobrado pela computação da VM, pelo Balanceador de Carga Padrão (regras lb/saída incluídas e dados processados), pelo disco do SO (disco P10 gerenciado pelo SSD Premium), pelo disco temporário (o tipo de disco temporário depende do tamanho da VM escolhido) e pelo endereço IP público. Para economizar custos, recomendamos que os usuários considerem:
- Inicie e pare a instância de computação quando ela não estiver em uso.
- Trabalhe com uma amostra de seus dados em uma instância de computação e dimensione para clusters de computação para trabalhar com seu conjunto completo de dados
- Envie trabalhos de experimentação no modo de destino de computação local na instância de computação durante o desenvolvimento ou teste, ou quando alternar para a capacidade de computação compartilhada quando enviar trabalhos em escala total. Por exemplo, muitas épocas, conjunto completo de dados e pesquisa de hiperparâmetros.
Se você parar a instância de computação, ela interromperá a cobrança das horas de computação da VM, do disco temporário e dos custos processados dos dados do Balanceador de Carga Padrão. Observação O usuário ainda paga pelo disco do sistema operacional e o Standard Load Balancer incluiu regras lb/outbound, mesmo quando a instância de computação é interrompida. Todos os dados salvos no disco do sistema operacional são mantidos por meio de paradas e reinicializações.
Ajuste o tamanho da VM escolhido monitorando a utilização da computação
Pode ver informações sobre a utilização e utilização da computação do Azure Machine Learning através do Azure Monitor. Você pode exibir detalhes sobre a implantação e o registro do modelo, detalhes da cota, como nós ativos e ociosos, detalhes da execução, como execuções canceladas e concluídas, e a utilização da computação para utilização da GPU e da CPU.
Com base nos insights dos detalhes de monitoramento, você pode planejar ou ajustar melhor o uso de recursos em toda a equipe. Por exemplo, se você notar muitos nós ociosos na semana passada, poderá trabalhar com os proprietários do espaço de trabalho correspondentes para atualizar a configuração do cluster de computação para evitar esse custo extra. Os benefícios da análise dos padrões de utilização podem ajudar na previsão de custos e melhorias no orçamento.
Você pode acessar essas métricas diretamente do portal do Azure. Vá para seu espaço de trabalho do Azure Machine Learning e selecione Métricas na seção de monitoramento no painel esquerdo. Em seguida, você pode selecionar detalhes sobre o que gostaria de visualizar, como métricas, agregação e período de tempo. Para obter mais informações, consulte a página de documentação do Monitorar o Azure Machine Learning .
Alterne entre computação em nuvem local, de nó único e de vários nós enquanto desenvolve
Há requisitos variados de computação e ferramentas ao longo do ciclo de vida do aprendizado de máquina. O Azure Machine Learning pode ser interfaceado por meio de uma interface SDK e CLI de praticamente qualquer configuração de estação de trabalho preferida para atender a esses requisitos.
Para economizar custos e trabalhar de forma produtiva, recomenda-se:
- Clone sua base de código de experimentação localmente usando o Git e envie trabalhos para computação em nuvem usando o SDK ou CLI do Azure Machine Learning.
- Se o conjunto de dados for grande, considere gerenciar uma amostra dos dados na estação de trabalho local, mantendo o conjunto de dados completo no armazenamento em nuvem.
- Parametrize sua base de código de experimentação para que você possa configurar seus trabalhos para serem executados com um número variável de épocas ou em conjuntos de dados de tamanhos diferentes.
- Não codifice o caminho da pasta do seu conjunto de dados. Em seguida, você pode reutilizar facilmente a mesma base de código com conjuntos de dados diferentes e em contexto de execução local e na nuvem.
- Inicialize seus trabalhos de experimentação no modo de destino de computação local enquanto desenvolve ou testa, ou quando alterna para uma capacidade de cluster de computação compartilhada quando envia trabalhos em escala total.
- Se o conjunto de dados for grande, trabalhe com uma amostra de dados em sua estação de trabalho local ou de instância de computação, enquanto dimensiona para computação em nuvem no Aprendizado de Máquina do Azure para trabalhar com seu conjunto completo de dados.
- Quando seus trabalhos levarem muito tempo para serem executados, considere otimizar sua base de código para treinamento distribuído para permitir o dimensionamento horizontal.
- Projete suas cargas de trabalho de treinamento distribuídas para elasticidade de nó, para permitir o uso flexível de computação de nó único e de vários nós e facilitar o uso de computação que pode ser antecipada.
Combinar tipos de computação usando pipelines do Azure Machine Learning
Ao orquestrar seus fluxos de trabalho de aprendizado de máquina, você pode definir um pipeline com várias etapas. Cada etapa no pipeline pode ser executada em seu próprio tipo de computação. Isso permite otimizar o desempenho e o custo para atender a diferentes requisitos de computação em todo o ciclo de vida do aprendizado de máquina.
Direcione o melhor uso do orçamento de uma equipe
Embora as decisões de alocação de orçamento possam estar fora do controle de uma equipe individual, uma equipe normalmente tem o poder de usar seu orçamento alocado para suas melhores necessidades. Ao trocar a prioridade do trabalho pelo desempenho e o custo de forma inteligente, uma equipe pode obter maior utilização do cluster, menor custo geral e usar um número maior de horas de computação do mesmo orçamento. Isso pode resultar em maior produtividade da equipe.
Otimize os custos de recursos de computação compartilhados
A chave para otimizar os custos dos recursos de computação compartilhados é garantir que eles estejam sendo usados em toda a sua capacidade. Aqui estão algumas dicas para otimizar seus custos de recursos compartilhados:
- Quando você usa instâncias de computação, só as ative quando tiver código para executar. Desligue-os quando não estiverem a ser utilizados.
- Ao usar clusters de computação, defina a contagem mínima de nós como 0 e a contagem máxima de nós como um número avaliado com base em suas restrições de orçamento. Use a calculadora de preços do Azure para calcular o custo de utilização total de um nó de VM da sua SKU de VM escolhida. O dimensionamento automático reduzirá todos os nós de computação quando não houver ninguém usando-o. Ele só será dimensionado para o número de nós para os quais você tem orçamento. Você pode configurar o dimensionamento automático para reduzir todos os nós de computação.
- Monitore suas utilizações de recursos, como a utilização da CPU e da GPU ao treinar modelos. Se os recursos não estiverem sendo totalmente usados, modifique seu código para usar melhor os recursos ou reduza para tamanhos de VM menores ou mais baratos.
- Avalie se você pode criar recursos de computação compartilhados para sua equipe para evitar ineficiências de computação causadas por operações de dimensionamento de cluster.
- Otimize as políticas de tempo limite de dimensionamento automático do cluster de computação com base em métricas de uso.
- Use cotas de espaço de trabalho para controlar a quantidade de recursos de computação aos quais espaços de trabalho individuais têm acesso.
Introduza a prioridade de agendamento criando clusters para várias SKUs de VM
Agindo sob restrições de cota e orçamento, uma equipe deve trocar a execução oportuna de trabalhos versus custo, para garantir que trabalhos importantes sejam executados em tempo hábil e um orçamento seja usado da melhor maneira possível.
Para oferecer suporte à melhor utilização de computação, recomenda-se que as equipes criem clusters de vários tamanhos e com prioridades de VM dedicadas e de baixa prioridade. Os cálculos de baixa prioridade usam a capacidade excedente no Azure e, portanto, vêm com taxas de desconto. No lado negativo, essas máquinas podem ser antecipadas sempre que uma solicitação de prioridade mais alta chega.
Usando os clusters de tamanho e prioridade variáveis, uma noção de prioridade de agendamento pode ser introduzida. Por exemplo, quando trabalhos experimentais e de produção competem pela mesma cota de GPU NC , um trabalho de produção pode ter preferência para ser executado em vez do trabalho experimental. Nesse caso, execute o trabalho de produção no cluster de computação dedicado e o trabalho experimental no cluster de computação de baixa prioridade. Quando a cota fica aquém, o trabalho experimental será antecipado em favor do trabalho de produção.
Ao lado de Prioridade de VM, considere executar trabalhos em várias SKUs de VM. Pode ser que um trabalho demore mais para ser executado em uma instância de VM com uma GPU P40 do que em uma GPU V100. No entanto, como as instâncias de VM V100 podem estar ocupadas ou a cota totalmente usada, o tempo até a conclusão no P40 ainda pode ser mais rápido do ponto de vista da taxa de transferência do trabalho. Você também pode considerar a execução de trabalhos com prioridade mais baixa em instâncias de VM com menor desempenho e mais baratas do ponto de vista do gerenciamento de custos.
Encerrar antecipadamente uma corrida quando o treino não convergir
Quando você experimenta continuamente para melhorar um modelo em relação à sua linha de base, você pode estar executando várias execuções de experimento, cada uma com configurações ligeiramente diferentes. Para uma execução, você pode ajustar os conjuntos de dados de entrada. Para outra execução, você pode fazer uma alteração de hiperparâmetro. Nem todas as alterações podem ser tão eficazes como as outras. Você deteta cedo que uma mudança não teve o efeito pretendido na qualidade do seu modelo de treinamento. Para detetar se o treinamento não converge, monitore o progresso do treinamento durante uma corrida. Por exemplo, registrando métricas de desempenho após cada época de treinamento. Considere encerrar antecipadamente o trabalho para liberar recursos e orçamento para outra avaliação.
Planeje, gerencie e compartilhe orçamentos, custos e cotas
À medida que uma organização aumenta seu número de casos de uso e equipes de aprendizado de máquina, isso requer uma maior maturidade operacional de TI e finanças, bem como coordenação entre equipes individuais de aprendizado de máquina para garantir operações eficientes. A capacidade em escala da empresa e o gerenciamento de cotas tornam-se importantes para lidar com a escassez de recursos de computação e superar as despesas gerais de gerenciamento.
Esta seção discute as práticas recomendadas para planejar, gerenciar e compartilhar orçamentos, custos e cotas em escala empresarial. Ele é baseado em aprendizados do gerenciamento de muitos recursos de treinamento de GPU para aprendizado de máquina internamente na Microsoft.
Noções básicas sobre gastos com recursos com o Azure Machine Learning
Um dos maiores desafios como administrador para planejar as necessidades de computação é começar de novo, sem informações históricas como estimativa de linha de base. Em termos práticos, a maioria dos projetos partirá de um orçamento reduzido como primeiro passo.
Para entender para onde o orçamento está indo, é fundamental saber de onde vêm os custos do Azure Machine Learning:
- O Azure Machine Learning cobra apenas pela infraestrutura de computação usada e não adiciona uma sobretaxa sobre os custos de computação.
- Quando um espaço de trabalho do Azure Machine Learning é criado, também há alguns outros recursos criados para habilitar o Azure Machine Learning: Cofre da Chave, Application Insights, Armazenamento do Azure e Registro de Contêiner do Azure. Esses recursos são usados no Aprendizado de Máquina do Azure e você pagará por esses recursos.
- Há custos associados à computação gerenciada, como clusters de treinamento, instâncias de computação e pontos de extremidade de inferência gerenciados. Com esses recursos de computação gerenciados, há os seguintes custos de infraestrutura a serem considerados: máquinas virtuais, rede virtual, balanceador de carga, largura de banda e armazenamento.
Acompanhe os padrões de gastos e obtenha melhores relatórios com a marcação
Os administradores geralmente querem poder controlar os custos em diferentes recursos no Azure Machine Learning. A marcação é uma solução natural para esse problema e está alinhada com a abordagem geral usada pelo Azure e muitos outros provedores de serviços de nuvem. Com o suporte a tags, agora você pode ver a divisão de custos no nível de computação, concedendo, portanto, acesso a uma visão mais granular para ajudar com um melhor monitoramento de custos, relatórios aprimorados e maior transparência.
A marcação permite que você coloque marcas personalizadas em seus espaços de trabalho e cálculos (a partir de modelos do Azure Resource Manager e do estúdio de Aprendizado de Máquina do Azure) para filtrar ainda mais esses recursos no Microsoft Cost Management com base nessas tags para observar padrões de gastos. Essa funcionalidade pode ser melhor utilizada para cenários internos de chargeback. Além disso, as tags podem ser úteis para capturar metadados ou detalhes associados à computação, como um projeto, uma equipe ou um determinado código de cobrança. Isso torna a marcação muito benéfica para medir quanto dinheiro você está gastando em diferentes recursos e, portanto, obter insights mais profundos sobre seus padrões de custo e gastos em equipes ou projetos.
Há também tags injetadas no sistema colocadas em cálculos que permitem filtrar na página Análise de custos pela tag "Tipo de computação" para ver um detalhamento inteligente de computação do seu gasto total e determinar qual categoria de recursos de computação pode estar atribuindo à maioria dos seus custos. Isso é particularmente útil para obter mais visibilidade em seu treinamento versus inferência de padrões de custo.
Governar e restringir o uso de computação por política
Quando você gerencia um ambiente do Azure com muitas cargas de trabalho, pode ser um desafio manter a visão geral sobre os gastos com recursos. A Política do Azure pode ajudar a controlar e controlar os gastos com recursos, restringindo padrões de uso específicos no ambiente do Azure.
Em específico para o Azure Machine Learning, recomendamos configurar políticas para permitir apenas o uso de SKUs de VM específicas. As políticas podem ajudar a prevenir e controlar a seleção de VMs caras. As políticas também podem ser usadas para impor o uso de SKUs de VM de baixa prioridade.
Alocar e gerenciar cotas com base na prioridade do negócio
O Azure permite que você defina limites para alocação de cota em uma assinatura e no nível do espaço de trabalho do Azure Machine Learning. Restringir quem pode gerenciar a cota por meio do RBAC (controle de acesso baseado em função) do Azure pode ajudar a garantir a utilização de recursos e a previsibilidade de custos.
A disponibilidade da quota de GPU pode ser escassa nas suas subscrições. Para garantir uma alta utilização de cotas entre cargas de trabalho, recomendamos monitorar se a cota é melhor usada e atribuída entre cargas de trabalho.
Na Microsoft, é determinado periodicamente se as cotas de GPU são melhor usadas e alocadas entre as equipes de aprendizado de máquina, avaliando as necessidades de capacidade em relação à prioridade de negócios.
Comprometa a capacidade com antecedência
Se você tiver uma boa estimativa de quanta computação será usada no próximo ano ou nos próximos anos, poderá comprar Instâncias de VM Reservadas do Azure a um custo com desconto. Há prazos de compra de um ou três anos. Como as Instâncias de VM Reservadas do Azure são descontadas, pode haver economias de custos significativas em comparação com os preços pré-pagos.
O Azure Machine Learning dá suporte a instâncias de computação reservadas. Os descontos são aplicados automaticamente à computação gerenciada do Azure Machine Learning.
Gerir a retenção de dados
Sempre que um pipeline de aprendizado de máquina é executado, conjuntos de dados intermediários podem ser gerados em cada etapa do pipeline para cache e reutilização de dados. O crescimento dos dados como saída desses pipelines de aprendizado de máquina pode se tornar um ponto problemático para uma organização que está executando muitos experimentos de aprendizado de máquina.
Os cientistas de dados normalmente não gastam seu tempo para limpar os conjuntos de dados intermediários que são gerados. Com o tempo, a quantidade de dados gerados será adicionada. O Armazenamento do Azure vem com um recurso para aprimorar o gerenciamento do ciclo de vida dos dados. Usando o gerenciamento do ciclo de vida do Armazenamento de Blobs do Azure, você pode configurar políticas gerais para mover dados que não são usados para níveis de armazenamento mais frios e economizar custos.
Considerações sobre otimização de custos de infraestrutura
Rede
O custo de rede do Azure é incorrido a partir da largura de banda de saída do datacenter do Azure. Todos os dados de entrada para um datacenter do Azure são gratuitos. A chave para reduzir o custo da rede é implantar todos os seus recursos na mesma região de datacenter sempre que possível. Se você puder implantar o espaço de trabalho do Azure Machine Learning e calcular na mesma região que tem seus dados, poderá desfrutar de um custo mais baixo e de um desempenho mais alto.
Talvez você queira ter uma conexão privada entre sua rede local e sua rede do Azure para ter um ambiente de nuvem híbrida. O ExpressRoute permite que você faça isso, mas considerando o alto custo do ExpressRoute, pode ser mais econômico sair de uma configuração de nuvem híbrida e mover todos os recursos para a nuvem do Azure.
Registo de Contentores do Azure
Para o Registro de Contêiner do Azure, os fatores determinantes para a otimização de custos incluem:
- Taxa de transferência necessária para downloads de imagens do Docker do registro de contêiner para o Azure Machine Learning
- Requisitos para recursos de segurança corporativos, como o Azure Private Link
Para cenários de produção em que é necessária alta taxa de transferência ou segurança empresarial, recomenda-se a SKU Premium do Registro de Contêiner do Azure.
Para cenários de desenvolvimento/teste em que a taxa de transferência e a segurança são menos críticas, recomendamos o SKU Standard ou o Premium SKU.
A SKU Básica do Registro de Contêiner do Azure não é recomendada para o Azure Machine Learning. Não é recomendado devido à sua baixa taxa de transferência e baixo armazenamento incluído, que pode ser rapidamente excedido pelas imagens do Docker de tamanho relativamente grande (1+ GB) do Azure Machine Learning.
Considere a disponibilidade do tipo de computação ao escolher regiões do Azure
Ao escolher uma região para sua computação, lembre-se da disponibilidade da cota de computação. Regiões populares e maiores, como Leste dos EUA, Oeste dos EUA e Europa Ocidental, tendem a ter valores de cota padrão mais altos e maior disponibilidade da maioria das CPUs e GPUs, em comparação com algumas outras regiões com restrições de capacidade mais rígidas em vigor.
Mais informações
Próximos passos
Para saber mais sobre como organizar e configurar ambientes do Azure Machine Learning, consulte Organizar e configurar ambientes do Azure Machine Learning.
Para saber mais sobre as práticas recomendadas em DevOps de Aprendizado de Máquina com o Aprendizado de Máquina do Azure, consulte Guia de DevOps de Aprendizado de Máquina.