A execução de experimentos de aprendizado de máquina (ML) na nuvem pode abranger muitos serviços e componentes. A capacidade de estruturar, automatizar e rastrear experimentos de ML é essencial para permitir o desenvolvimento rápido de modelos de ML. Com os mais recentes avanços no campo do aprendizado de máquina automatizado (AutoML), ou seja, a área de ML dedicada à automação de processos de ML, você pode construir modelos de tomada de decisão precisos sem precisar de profundo conhecimento de ML. Neste post, veremos o AutoGluon, uma estrutura de AutoML de código aberto que permite criar modelos de ML precisos com apenas algumas linhas de Python.
A AWS oferece uma ampla variedade de serviços para gerenciar e executar fluxos de trabalho de ML, permitindo que você selecione uma solução com base em suas habilidades e aplicativos. Por exemplo, se você já usa Funções de etapa da AWS para orquestrar os componentes de aplicativos distribuídos, você pode usar o mesmo serviço para criar e automatizar seus fluxos de trabalho de ML. Outras ferramentas MLOps oferecidas pela AWS incluem Pipelines Amazon SageMaker, que permite criar modelos de ML em Estúdio Amazon SageMaker com recursos de MLOps (como compatibilidade de CI/CD, monitoramento de modelo e aprovações de modelo). Ferramentas de código aberto, como Fluxo de ar Apache—disponível na AWS por meio de Fluxos de trabalho gerenciados da Amazon para Apache Airflow-e KubeFlowName, bem como soluções híbridas, também são suportadas. Por exemplo, você pode gerenciar a ingestão e o processamento de dados com o Step Functions enquanto treina e implanta seus modelos de ML com o SageMaker Pipelines.
Neste post, mostramos como mesmo desenvolvedores sem experiência em ML podem criar e manter facilmente modelos de ML de última geração usando o AutoGluon em Amazon Sage Maker e Step Functions para orquestrar componentes de fluxo de trabalho.
Após uma visão geral do algoritmo AutoGluon, apresentamos as definições de fluxo de trabalho juntamente com exemplos e um tutorial de código que você pode aplicar aos seus próprios dados.
AutoGlúon
AutoGluon é uma estrutura de AutoML de código aberto que acelera a adoção de ML treinando modelos de ML precisos com apenas algumas linhas de código Python. Embora este post se concentre em dados tabulares, o AutoGluon também permite treinar modelos de última geração para classificação de imagens, detecção de objetos e classificação de texto. O AutoGluon tabular cria e combina diferentes modelos para encontrar a solução ideal.
A equipe AutoGluon da AWS lançou um papel que apresenta os princípios que estruturam a biblioteca:
- Simplicidade – Você pode criar modelos de classificação e regressão diretamente de dados brutos sem precisar analisar os dados ou realizar engenharia de recursos
- Robustez – O processo geral de treinamento deve ser bem-sucedido, mesmo que alguns dos modelos individuais falhem
- Tempo previsível – Você pode obter ótimos resultados dentro do tempo que deseja investir em treinamento
- Tolerância ao erro – Você pode interromper o treinamento e retomá-lo a qualquer momento, o que otimiza os custos se o processo for executado em imagens pontuais na nuvem
Para mais detalhes sobre o algoritmo, consulte o papel lançado pela equipe AutoGluon na AWS.
Depois de instalar o Pacote AutoGluon e suas dependências, treinar um modelo é tão fácil quanto escrever três linhas de código:
A equipe AutoGluon provou a força da estrutura ao alcançar o top 10 da tabela de classificação em várias competições Kaggle.
Visão geral da solução
Usamos o Step Functions para implementar um fluxo de trabalho de ML que abrange treinamento, avaliação e implantação. O design do pipeline permite experimentos rápidos e configuráveis, modificando os parâmetros de entrada que você alimenta no pipeline em tempo de execução.
Você pode configurar o pipeline para implementar diferentes fluxos de trabalho, como o seguinte:
- Treine um novo modelo de ML e armazene-o no registro de modelos do SageMaker, se nenhuma implantação for necessária neste momento
- Implante um modelo de ML pré-treinado, seja para online (Endpoint SageMaker) ou off-line (Transformação em lote SageMaker) inferência
- Execute um pipeline completo para treinar, avaliar e implantar um modelo de ML do zero
As soluções consistem em uma máquina de estado (consulte o diagrama a seguir) que orquestra o conjunto de ações a serem executadas com base em um conjunto de parâmetros de entrada.
As etapas da máquina de estado são as seguintes:
- O primeiro passo
IsTraining
decide se estamos usando um modelo pré-treinado ou treinando um modelo do zero. Se estiver usando um modelo pré-treinado, a máquina de estado pulará para a Etapa 7. - Quando um novo modelo de ML é necessário,
TrainSteps
aciona uma segunda máquina de estado que executa todas as ações necessárias e retorna o resultado para a máquina de estado atual. Entraremos em mais detalhes sobre a máquina de estado de treinamento na próxima seção. - Quando o treinamento terminar,
PassModelName
armazena o nome do trabalho de treinamento em um local especificado do contexto da máquina de estado para ser reutilizado nos estados a seguir. - Se uma fase de avaliação for selecionada,
IsEvaluation
redireciona a máquina de estado para o branch de avaliação. Caso contrário, ele pula para a Etapa 7. - A fase de avaliação é então implementada usando um AWS Lambda função invocada pelo
ModelValidation
degrau. A função do Lambda recupera o desempenho do modelo em um conjunto de teste e o compara com um limite configurável pelo usuário especificado nos parâmetros de entrada. O código a seguir é um exemplo de resultados de avaliação: - Se a avaliação do modelo em
EvaluationResults
for bem-sucedida, a máquina de estado continua com as etapas de implantação eventuais. Se o modelo estiver funcionando abaixo de um critério definido pelo usuário, a máquina de estado será interrompida e a implantação será ignorada. - Se a implantação for selecionada,
IsDeploy
inicia uma máquina de terceiro estado atravésDeploySteps
, que descreveremos mais adiante neste post. Se a implantação não for necessária, a máquina de estado parará aqui.
Um conjunto de amostras de parâmetros de entrada está disponível no GitHub repo.
Máquina de estado de treinamento
A máquina de estado para treinar um novo modelo de ML usando AutoGluon é composta de duas etapas, conforme ilustrado no diagrama a seguir. A primeira etapa é um trabalho de treinamento do SageMaker que cria o modelo. O segundo salva as entradas no registro do modelo do SageMaker.
Você pode executar essas etapas automaticamente como parte da máquina de estado principal ou como um processo autônomo.
Máquina de estado de implantação
Vejamos agora a máquina de estado dedicada à fase de implantação (consulte o diagrama a seguir). Conforme mencionado anteriormente, a arquitetura oferece suporte à implantação online e offline. O primeiro consiste em implantar um endpoint do SageMaker, enquanto o último executa um trabalho de transformação em lote do SageMaker.
As etapas de implementação são as seguintes:
ChoiceDeploymentMode
examina os parâmetros de entrada para definir qual modo de implantação é necessário e direciona a máquina de estado para a ramificação correspondente.- Se um ponto final for escolhido, o
EndpointConfig
step define sua configuração, enquantoCreateEndpoint
inicia o processo de alocação dos recursos de computação necessários. Essa alocação pode levar vários minutos, então a máquina de estado pausa emWaitForEndpoint
e usa uma função do Lambda para pesquisar o status do endpoint. - Enquanto o endpoint está sendo configurado,
ChoiceEndpointStatus
retorna aoWaitForEndpoint
estado, caso contrário, continua aDeploymentFailed
orDeploymentSucceeded
. - Se a implantação offline for selecionada, a máquina de estado executa um trabalho de transformação em lote do SageMaker, após o qual a máquina de estado é interrompida.
Conclusão
Esta postagem apresenta um pipeline fácil de usar para orquestrar fluxos de trabalho do AutoML e permitir experimentos rápidos na nuvem, permitindo soluções de ML precisas sem exigir conhecimento avançado de ML.
Fornecemos um pipeline geral e dois modulares que permitem realizar treinamento e implantação separadamente, se necessário. Além disso, a solução é totalmente integrada ao SageMaker, beneficiando-se de suas funcionalidades e recursos computacionais.
Comece agora com isso tutorial de código para implantar os recursos apresentados nesta postagem em sua conta da AWS e executar seus primeiros experimentos de AutoML.
Sobre os autores
Frederico Piccinini é um Deep Learning Architect do Amazon Machine Learning Solutions Lab. Ele é apaixonado por aprendizado de máquina, IA explicável e MLOps. Ele se concentra em projetar pipelines de ML para clientes da AWS. Fora do trabalho, ele gosta de esportes e pizza.
Paulo Irrera é cientista de dados no Amazon Machine Learning Solutions Lab, onde ajuda os clientes a resolver problemas de negócios com recursos de ML e nuvem. Ele é PhD em Visão Computacional pela Telecom ParisTech, Paris.
- Coinsmart. A melhor troca de Bitcoin e criptografia da Europa.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. ACESSO LIVRE.
- CryptoHawk. Radar Altcoin. Teste grátis.
- Fonte: https://aws.amazon.com/blogs/machine-learning/manage-automl-workflows-with-aws-step-functions-and-autogluon-on-amazon-sagemaker/
- "
- 10
- 100
- 7
- a
- habilidade
- Sobre
- Conta
- preciso
- em
- ações
- endereço
- Adoção
- avançado
- avanços
- AI
- algoritmo
- Todos os Produtos
- alocação
- Permitindo
- permite
- já
- Apesar
- Amazon
- analisar
- Aplicação
- aplicações
- Aplicar
- arquitetura
- ÁREA
- automatizar
- Automatizado
- automaticamente
- Automação
- disponível
- AWS
- ser
- abaixo
- construir
- negócio
- Pode obter
- capacidades
- escolhido
- classificação
- Na nuvem
- código
- compatibilidade
- Competições
- completar
- componentes
- computador
- computação
- Configuração
- continua
- Correspondente
- custos
- crio
- cria
- critérios
- Atual
- Estado atual
- Clientes
- dados,
- cientista de dados
- dedicado
- profundo
- implantar
- Implantação
- desenvolvimento
- descreve
- Design
- concepção
- detalhe
- detalhes
- Detecção
- desenvolvedores
- Desenvolvimento
- diferente
- diretamente
- distribuído
- facilmente
- fácil de usar
- permitir
- permite
- Ponto final
- essencial
- avaliar
- avaliação
- exemplo
- exemplos
- experiência
- RÁPIDO
- Característica
- Funcionalidades
- Primeiro nome
- concentra-se
- seguinte
- segue
- Quadro
- da
- função
- funções
- Geral
- ter
- ajuda
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- detém
- Como funciona o dobrador de carta de canal
- HTTPS
- HÍBRIDO
- imagem
- imagens
- executar
- implementação
- implementado
- incluir
- Individual
- entrada
- instalar
- integrado
- IT
- Trabalho
- Conhecimento
- laboratório
- mais recente
- aprendizagem
- Biblioteca
- linhas
- localização
- olhar
- máquina
- aprendizado de máquina
- a manter
- gerencia
- gerenciados
- mencionado
- ML
- modelo
- modelos
- modulares
- monitoração
- mais
- múltiplo
- nomeadamente
- necessário
- necessitando
- Próximo
- oferecido
- Oferece
- modo offline
- online
- Outros
- de outra forma
- global
- próprio
- Paris
- parte
- apaixonado
- performances
- realização
- fase
- Pizza
- pol
- presente
- presentes
- problemas
- processo
- processos
- em processamento
- fornecer
- alcance
- Cru
- liberado
- requeridos
- Recursos
- Resultados
- currículo
- Retorna
- Execute
- mesmo
- Cientista
- selecionado
- serviço
- Serviços
- conjunto
- vários
- mostrar
- Habilidades
- So
- solução
- Soluções
- alguns
- Esportes
- Spot
- autônoma
- começado
- começa
- Estado
- estado-da-arte
- Unidos
- Status
- loja
- lojas
- força
- bem sucedido
- Suportado
- suportes
- Profissionais
- telecom
- teste
- A
- três
- limiar
- Através da
- tempo
- ferramentas
- topo
- para
- pista
- Trem
- Training
- Transformar
- usar
- visão
- se
- enquanto
- dentro
- sem
- Atividades:
- fluxos de trabalho
- escrita
- investimentos