Preparar o modelo

Concluído

Há muitos serviços disponíveis para treinar modelos de aprendizado de máquina. O serviço que utiliza depende de fatores como:

  • Que tipo de modelo precisa de treinar,
  • Se você precisa de controle total sobre o treinamento do modelo,
  • Quanto tempo você quer investir em treinamento modelo,
  • Quais serviços já estão dentro da sua organização,
  • Com qual linguagem de programação você se sente confortável.

No Azure, há vários serviços disponíveis para treinar modelos de aprendizado de máquina. Alguns serviços comumente usados são:

Ícone Description
Ícone do Azure Machine Learning. O Azure Machine Learning oferece muitas opções diferentes para treinar e gerenciar seus modelos de aprendizado de máquina. Você pode optar por trabalhar com o Studio para uma experiência baseada em interface do usuário ou gerenciar suas cargas de trabalho de aprendizado de máquina com o Python SDK ou CLI para uma experiência code-first. Saiba mais sobre o Azure Machine Learning.
Ícone do Azure Databricks. O Azure Databricks é uma plataforma de análise de dados que pode utilizar para engenharia de dados e ciência de dados. O Azure Databricks usa a computação distribuída do Spark para processar seus dados de forma eficiente. Você pode optar por treinar e gerenciar modelos com o Azure Databricks ou integrando o Azure Databricks com outros serviços, como o Azure Machine Learning. Saiba mais sobre o Azure Databricks.
Ícone do Microsoft Fabric. O Microsoft Fabric é uma plataforma de análise integrada projetada para simplificar fluxos de trabalho de dados entre analistas de dados, engenheiros de dados e cientistas de dados. Com o Microsoft Fabric, você pode preparar dados, treinar um modelo, usar o modelo treinado para gerar previsões e visualizar os dados em relatórios do Power BI. Saiba mais sobre o Microsoft Fabric e, especificamente, sobre os recursos de ciência de dados no Microsoft Fabric.
Ícone dos Serviços de IA do Azure. Os Serviços de IA do Azure são uma coleção de modelos de aprendizado de máquina pré-criados que você pode usar para tarefas comuns de aprendizado de máquina, como deteção de objetos em imagens. Os modelos são oferecidos como uma interface de programação de aplicativos (API), para que você possa integrar facilmente um modelo com seu aplicativo. Alguns modelos podem ser personalizados com seus próprios dados de treinamento, economizando tempo e recursos para treinar um novo modelo do zero. Saiba mais sobre os Serviços de IA do Azure.

Entenda a diferença entre os serviços

Escolher um serviço para usar para treinar seus modelos de aprendizado de máquina pode ser um desafio. Muitas vezes, vários serviços se ajustam ao seu cenário. Existem algumas orientações gerais para o ajudar:

  • Use os Serviços de IA do Azure sempre que um dos modelos pré-criados personalizáveis atender às suas necessidades, para economizar tempo e esforço.
  • Use o Microsoft Fabric ou o Azure Databricks se quiser manter todos os projetos relacionados a dados (análise de dados, engenharia de dados e ciência de dados) no mesmo serviço.
  • Use o Microsoft Fabric ou o Azure Databricks se precisar de computação distribuída para trabalhar com grandes conjuntos de dados (os conjuntos de dados são grandes quando você enfrenta restrições de capacidade com computação padrão). Você precisa trabalhar com o PySpark para usar a computação distribuída.
  • Use o Azure Machine Learning ou o Azure Databricks quando quiser ter controle total sobre o treinamento e o gerenciamento do modelo.
  • Use o Azure Machine Learning quando Python é sua linguagem de programação preferida.
  • Use o Aprendizado de Máquina do Azure quando quiser uma interface de usuário intuitiva para gerenciar seu ciclo de vida de aprendizado de máquina.

Importante

Existem muitos fatores que podem influenciar a sua escolha de serviço. Em última análise, cabe a si e à sua organização decidir qual é o melhor ajuste. Estas são simplesmente diretrizes para ajudá-lo a entender como diferenciar entre serviços.

Decidir entre opções de computação

Toda vez que você treina um modelo, você deve monitorar quanto tempo leva para treinar o modelo e quanto de computação é usado para executar seu código. Ao monitorar a utilização da computação, você sabe se a computação deve ser dimensionada para cima ou para baixo.

Quando você opta por trabalhar com o Azure em vez de treinar um modelo em um dispositivo local, você tem acesso a computação escalável e econômica.

Opções de computação Considerações
Unidade Central de Processamento (CPU) ou uma Unidade de Processamento Gráfico (GPU) Para conjuntos de dados tabulares menores, uma CPU é suficiente e econômica. Para dados não estruturados, como imagens ou texto, as GPUs são mais poderosas e eficientes. As GPUs também podem ser usadas para conjuntos de dados tabulares maiores, se a computação da CPU estiver se mostrando insuficiente.
Uso geral ou memória otimizada Use o propósito geral para ter uma relação CPU/memória equilibrada, o que é ideal para testes e desenvolvimento com conjuntos de dados menores. Use a memória otimizada para ter uma alta relação memória/CPU. Excelente para análise na memória, que é ideal quando tem conjuntos de dados maiores ou quando está a trabalhar em blocos de notas.
Spark Um cluster Spark consiste em um nó de driver e nós de trabalho. Seu código inicialmente se comunica com o nó do driver. O trabalho é então distribuído pelos nós de trabalho. Quando você usa um serviço, como o Azure Databricks, que distribui o trabalho, partes da carga de trabalho podem ser executadas em paralelo, reduzindo o tempo de processamento.

Importante

Para fazer o uso ideal de um cluster do Spark, seu código precisa ser escrito em uma linguagem amigável ao Spark, como Scala, SQL, RSpark ou PySpark, a fim de distribuir a carga de trabalho. Se você escrever em Python, usará apenas o nó do driver e deixará os nós de trabalho sem uso.

As opções de computação que melhor se adaptam às suas necessidades é, muitas vezes, um caso de tentativa e erro. Ao executar o código, você deve monitorar a utilização da computação para entender a quantidade de recursos de computação que está usando. Se o treinamento do seu modelo demorar muito, mesmo com o maior tamanho de computação, você poderá usar GPUs em vez de CPUs. Como alternativa, você pode optar por distribuir o treinamento do modelo usando a computação do Spark, que exige que você reescreva seus scripts de treinamento.