Treinar o modelo
Há muitos serviços disponíveis para treinar modelos de machine learning. Qual serviço você usa que depende de fatores como:
- Qual tipo de modelo você precisa treinar,
- Se você precisa de controle total sobre o treinamento do modelo,
- Quanto tempo você deseja investir no treinamento do modelo,
- Quais serviços já estão na sua organização,
- Com qual linguagem de programação você está familiarizado.
No Azure, há vários serviços disponíveis para treinar modelos de machine learning. Alguns serviços comumente usados são:
Ícone | Descrição |
---|---|
O Azure Machine Learning proporciona várias opções diferentes para treinar e gerenciar seus modelos de machine learning. Você pode optar por trabalhar com o Studio para ter uma experiência baseada em interface do usuário ou gerenciar suas cargas de trabalho de aprendizado de máquina com o SDK do Python ou com a CLI para ter uma primeira experiência de código. Saiba mais sobre o Azure Machine Learning. | |
O Azure Databricks é uma plataforma de análise de dados que você pode usar em engenharia de dados e ciência de dados. O Azure Databricks usa a computação distribuída do Spark para processar seus dados com eficiência. Você pode optar por treinar e gerenciar modelos com o Azure Databricks ou por integrar o Azure Databricks a outros serviços, como o Azure Machine Learning. Saiba mais sobre o Azure Databricks. | |
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 do Microsoft Fabric. | |
Os Serviços de IA Azure são uma coleção de modelos de machine learning predefinidos que você pode usar em tarefas comuns de aprendizado de máquina, como na detecção de objetos em imagens. Os modelos são oferecidos como uma API (interface de programação de aplicativo), para que você possa facilmente integrar um modelo ao seu aplicativo. Alguns modelos podem ser personalizados com seus dados de treinamento, economizando tempo e recursos para treinar um novo modelo do zero. Saiba mais sobre os Serviços de IA do Azure. |
Entender a diferença entre serviços
Escolher um serviço para usar no treinamento de seus modelos de aprendizado de máquina pode ser um desafio. Muitas vezes, vários serviços se ajustariam ao seu cenário. Aqui estão algumas diretrizes gerais para ajudar na escolha:
- Use os Serviços de IA do Azure sempre que um dos modelos predefinidos personalizáveis atender às suas necessidades a fim de 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 maiores conjuntos de dados (os conjuntos de dados são maiores quando você enfrenta restrições de capacidade com a 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 de modelos.
- Use o Azure Machine Learning quando o Python for sua linguagem de programação preferida.
- Use o Azure Machine Learning quando quiser uma interface do usuário intuitiva para gerenciar o ciclo de vida de aprendizado de máquina.
Importante
Há muitos fatores que podem influenciar sua escolha de serviço. Por fim, cabe a você e à sua organização decidir qual é a melhor opção. Essas são simplesmente diretrizes para ajudar a entender como diferenciar entre serviços.
Decidir entre opções de computação
Sempre que treinar um modelo, você deve monitorar quanto tempo leva para treinar o modelo e a quantidade de computação usada para executar o código. Ao monitorar o uso da computação, você saberá se deve aumentar ou diminuir a escala da computação.
Quando você escolhe trabalhar com o Azure em vez de treinar um modelo em um dispositivo local, você tem acesso a uma computação escalonável e econômica.
Opções de computação | Considerações |
---|---|
Unidade de Processamento Central (CPU) ou 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 potentes 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 otimizado para memória | Use o uso geral para ter uma proporção equilibrada de CPU e memória, ideal para teste e desenvolvimento com conjuntos de dados menores. Use otimizado para memória para ter uma alta proporção de memória para CPU. Ótimo para análise in-memory, que é ideal para quando você tem conjuntos de dados maiores ou está trabalhando em notebooks. |
Spark | Um cluster do Spark consiste em um nó de driver e nós de trabalho. Seu código se comunica inicialmente com o nó de driver. Em seguida, o trabalho será distribuído entre os 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 obter o uso ideal de um cluster do Spark, seu código precisa ser escrito em uma linguagem amigável para o Spark, como Scala, SQL, RSpark ou PySpark, a fim de distribuir a carga de trabalho. Se você escrever em Python, usará apenas o nó de driver e deixará os nós de trabalho não utilizados.
Quais opções de computação atendem melhor às suas necessidades geralmente é uma questão de tentativa e erro. Ao executar o código, monitore as utilização da computação para entender quantos recursos de computação você está usando. Se o treinamento do 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 computação Spark, o que exige reescrever seus scripts de treinamento.