À medida que mais organizações migram para o aprendizado de máquina (ML) para gerar insights mais profundos, dois principais obstáculos que enfrentam são a rotulagem e o gerenciamento do ciclo de vida. Rotulagem é a identificação de dados e a adição de rótulos para fornecer contexto para que um modelo de ML possa aprender com eles. Os rótulos podem indicar uma frase num arquivo de áudio, um carro numa fotografia ou um órgão numa ressonância magnética. A rotulagem de dados é necessária para permitir que os modelos de ML funcionem com os dados. O gerenciamento do ciclo de vida tem a ver com o processo de configuração de um experimento de ML e documentação do conjunto de dados, biblioteca, versão e modelo usado para obter resultados. Uma equipe pode realizar centenas de experimentos antes de decidir por uma abordagem. Voltar e recriar essa abordagem pode ser difícil sem registros dos elementos desse experimento.
Muitos exemplos e tutoriais de ML começam com um conjunto de dados que inclui um valor alvo. No entanto, os dados do mundo real nem sempre têm esse valor alvo. Por exemplo, na análise de sentimento, uma pessoa geralmente pode julgar se uma avaliação é positiva, negativa ou mista. Mas as resenhas são compostas por uma coleção de textos sem nenhum valor de julgamento associado a eles. Para criar um aprendizagem supervisionada modelo para resolver este problema, um conjunto de dados rotulado de alta qualidade é essencial. Verdade no solo do Amazon SageMaker é um serviço de rotulagem de dados totalmente gerenciado que facilita a criação de conjuntos de dados de treinamento altamente precisos para ML.
Para organizações que usam Databricks como plataforma de dados e análise na AWS para executar tarefas de extração, transformação e carregamento (ETL), o objetivo final geralmente é treinar um modelo de aprendizagem supervisionado. Nesta postagem, mostramos como o Databricks se integra ao Ground Truth e Amazon Sage Maker para rotulagem de dados e distribuição de modelos.
Visão geral da solução
Ground Truth é um serviço de rotulagem de dados totalmente gerenciado que facilita a construção de conjuntos de dados de treinamento altamente precisos para ML. Por meio do console Ground Truth, podemos criar fluxos de trabalho de rotulagem de dados personalizados ou integrados em minutos. Esses fluxos de trabalho oferecem suporte a diversos casos de uso, incluindo nuvens de pontos 3D, vídeo, imagens e texto. Além disso, o Ground Truth oferece rotulagem automática de dados, que usa um modelo de ML para rotular nossos dados.
Treinamos nosso modelo no conjunto de dados Amazon Customer Reviews disponível publicamente. Em um nível superior, as etapas são as seguintes:
- Extraia um conjunto de dados brutos a ser rotulado e mova-o para Serviço de armazenamento simples da Amazon (Amazônia S3).
- Execute a rotulagem criando um trabalho de rotulagem no SageMaker.
- Crie e treine um modelo linear simples de aluno Scikit-learn para classificar o sentimento do texto de revisão na plataforma Databricks usando uma amostra caderno.
- Use Fluxo de ML componentes para criar e executar MLOps e salvar os artefatos do modelo.
- Implante o modelo como um endpoint do SageMaker usando o Biblioteca MLflow SageMaker para inferência em tempo real.
O diagrama a seguir ilustra a rotulagem e a jornada de ML usando Ground Truth e MLflow.
Crie um trabalho de etiquetagem no SageMaker
Do conjunto de dados Amazon Customer Reviews, extraímos apenas as partes do texto, porque estamos construindo um modelo de análise de sentimento. Depois de extraído, colocamos o texto em um bucket S3 e, em seguida, criamos um trabalho de rotulagem Ground Truth por meio do console SageMaker.
No Criar trabalho de rotulagem página, preencha todos os campos obrigatórios. Como parte da etapa desta página, o Ground Truth permite gerar o arquivo de manifesto do trabalho. Ground Truth usa o arquivo de manifesto de entrada para identificar o número de arquivos ou objetos no trabalho de rotulagem para que o número certo de tarefas seja criado e enviado para rotuladores humanos (ou máquinas). O arquivo é salvo automaticamente no bucket S3. A próxima etapa é especificar a categoria da tarefa e a seleção da tarefa. Neste caso de uso, escolhemos Texto como a categoria de tarefa, e Classificação de Texto com um único rótulo para seleção de tarefas, o que significa que um texto de revisão terá um único sentimento: positivo, negativo ou neutro.
Por fim, escrevemos instruções simples, mas concisas, para rotuladores sobre como rotular os dados do texto. As instruções são exibidas na ferramenta de rotulagem e você pode, opcionalmente, revisar a visualização do anotador neste momento. Por fim, enviamos o trabalho e monitoramos o progresso no console.
Enquanto o trabalho de rotulagem está em andamento, também podemos observar os dados rotulados no saída aba. Podemos monitorar cada texto e rótulo de revisão e se o trabalho foi realizado por um ser humano ou por uma máquina. Podemos selecionar 100% dos trabalhos de etiquetagem para serem realizados por humanos ou optar pela anotação mecânica, o que agiliza o trabalho e reduz os custos de mão de obra.
Quando o trabalho for concluído, o resumo do trabalho de rotulagem conterá links para o manifesto de saída e o conjunto de dados rotulado. Também podemos ir para o Amazon S3 e baixar ambos da nossa pasta de bucket do S3.
Nas próximas etapas, usamos um notebook Databricks, Fluxo de MLe conjuntos de dados rotulados pela Ground Truth para construir um Scikit-learn modelo.
Baixe um conjunto de dados rotulado do Amazon S3
Começamos baixando o conjunto de dados rotulado do Amazon S3. O manifesto é salvo no formato JSON e o carregamos em um Spark DataFrame no Databricks. Para treinar o modelo de análise de sentimento, precisamos apenas do texto de revisão e do sentimento que foi anotado pelo trabalho de rotulagem Ground Truth. Usamos select() para extrair esses dois recursos. Em seguida, convertemos o conjunto de dados de um PySpark DataFrame em um Pandas DataFrame, porque o algoritmo Scikit-learn requer o formato Pandas DataFrame.
Em seguida, usamos o Scikit-learn CountVectorizer
para transformar o texto da revisão em um vetor bigrama, definindo o ngram_range
valor máximo para 2. CountVectorizer
converte texto em uma matriz de contagens de tokens. Então usamos TfidfTransformer
para transformar o vetor bigrama em um formato de frequência de documento inversa de frequência (TF-IDF).
Comparamos as pontuações de precisão do treinamento feito com um vetor bigrama versus o bigrama com TF-IDF. TF-IDF é uma medida estatística que avalia a relevância de uma palavra para um documento em uma coleção de documentos. Como o texto de revisão tende a ser relativamente curto, podemos observar como o TF-IDF afeta o desempenho do modelo preditivo.
Configurar um experimento MLflow
MLflow foi desenvolvido pela Databricks e agora é um projeto de código aberto. O MLflow gerencia o ciclo de vida do ML, para que você possa rastrear, recriar e publicar experimentos facilmente.
Para configurar experimentos MLflow, usamos mlflow.sklearn.autolog()
para ativar o registro automático de hiperparâmetros, métricas e artefatos de modelo sempre que estimator.fit()
, estimator.fit_predict()
, e estimator.fit_transform()
são chamados. Alternativamente, você pode fazer isso manualmente chamando mlflow.log_param()
e mlflow.log_metric()
.
Ajustamos o conjunto de dados transformado a um classificador linear com aprendizado Stochastic Gradient Descent (SGD). Com o SGD, o gradiente de perda é estimado uma amostra por vez e o modelo é atualizado ao longo do caminho com um cronograma de resistência decrescente.
Esses dois conjuntos de dados que preparamos anteriormente são passados para o train_and_show_scores()
função para treinamento. Após o treinamento, precisamos cadastrar um modelo e salvar seus artefatos. Nós usamos mlflow.sklearn.log_model()
ao fazê-lo.
Antes da implantação, analisamos os resultados do experimento e escolhemos dois experimentos (um para bigrama e outro para bigrama com TF-IDF) para comparar. Em nosso caso de uso, o segundo modelo treinado com bigram TF-IDF teve um desempenho um pouco melhor, então escolhemos esse modelo para implantar. Após o registro do modelo, implantamos o modelo, mudando o estágio do modelo para produção. Podemos fazer isso na UI do MLflow ou no código usando transition_model_version_stage()
.
Implante e teste o modelo como um endpoint do SageMaker
Antes de implantarmos o modelo treinado, precisamos construir um contêiner Docker para hospedar o modelo no SageMaker. Fazemos isso executando um comando MLflow simples que cria e envia o contêiner para Registro do Amazon Elastic Container (Amazon ECR) em nossa conta AWS.
Agora podemos encontrar o URI da imagem no console do Amazon ECR. Passamos o URI da imagem como um image_url
parâmetro e use DEPLOYMENT_MODE_CREATE
para o parâmetro mode se esta for uma nova implantação. Se estiver atualizando um endpoint existente com uma nova versão, use DEPLOYMENT_MODE_REPLACE
.
Para testar o endpoint SageMaker, criamos uma função que usa o nome do endpoint e os dados de entrada como parâmetros.
Conclusão
Nesta postagem, mostramos como usar o Ground Truth para rotular um conjunto de dados brutos e como usar os dados rotulados para treinar um classificador linear simples usando o Scikit-learn. Neste exemplo, usamos o MLflow para rastrear hiperparâmetros e métricas, registrar um modelo de nível de produção e implantar o modelo treinado no SageMaker como um endpoint. Juntamente com o Databricks para processar os dados, você pode automatizar todo esse caso de uso, de modo que, à medida que novos dados são introduzidos, eles possam ser rotulados e processados no modelo. Ao automatizar esses pipelines e modelos, as equipes de ciência de dados podem se concentrar em novos casos de uso e descobrir mais insights, em vez de perder tempo gerenciando atualizações de dados diariamente.
Para começar, verifique Use o Amazon SageMaker Ground Truth para rotular dados e inscreva-se para um Avaliação gratuita de 14 dias do Databricks na AWS. Para saber mais sobre como o Databricks se integra ao SageMaker, bem como a outros serviços da AWS, como Cola AWS e Amazon RedShift, Visite Blocos de dados na AWS.
Além disso, verifique os seguintes recursos usados nesta postagem:
Use o seguinte caderno para começar.
Sobre os autores
Rumi Olsen é arquiteto de soluções no programa de parceiros da AWS. Ela é especializada em soluções sem servidor e de aprendizado de máquina em sua função atual e tem experiência em tecnologias de processamento de linguagem natural. Ela passa a maior parte do tempo livre com a filha explorando a natureza do Noroeste do Pacífico.
Igor Alekseev é arquiteto de soluções de parceiro da AWS em dados e análises. Igor trabalha com parceiros estratégicos ajudando-os a criar arquiteturas complexas e otimizadas para AWS. Antes de ingressar na AWS, como arquiteto de dados/soluções, ele implementou muitos projetos em Big Data, incluindo vários data lakes no ecossistema Hadoop. Como engenheiro de dados, ele esteve envolvido na aplicação de IA/ML para detecção de fraudes e automação de escritório. Os projetos de Igor estavam em uma variedade de setores, incluindo comunicações, finanças, segurança pública, manufatura e saúde. Anteriormente, Igor trabalhou como engenheiro/líder de tecnologia de pilha completa.
Nasir Ahmed é arquiteto de soluções parceiro sênior da Databricks, apoiando seus negócios AWS. Naseer é especialista em armazenamento de dados, business intelligence, desenvolvimento de aplicativos, contêineres, sem servidor e arquiteturas de aprendizado de máquina na AWS. Ele foi eleito a PME do ano de 2021 pela Databricks e é um ávido entusiasta da criptografia.
- 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/build-an-mlops-sentiment-análise-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Sobre
- Conta
- preciso
- Adição
- algoritmo
- Todos os Produtos
- Amazon
- análise
- analítica
- app
- Desenvolvimento de aplicativos
- Aplicando
- abordagem
- auditivo
- auto
- Automação
- disponível
- AWS
- fundo
- base
- Big Data
- construir
- Prédio
- Constrói
- construídas em
- negócio
- inteligência de negócios
- carro
- casos
- Categoria
- Escolha
- classificação
- código
- coleção
- Comunicações
- integrações
- cônsul
- Recipiente
- contém
- custos
- criado
- Criar
- cripto
- Atual
- personalizadas
- dados,
- ciência de dados
- mais profunda
- implantar
- Implantação
- desenvolvimento
- Detecção
- desenvolvido
- Desenvolvimento
- difícil
- distribuição
- Estivador
- INSTITUCIONAIS
- Não faz
- distância
- facilmente
- ecossistema
- permitir
- Ponto final
- engenheiro
- essencial
- estimado
- exemplo
- experimentar
- Funcionalidades
- Campos
- Finalmente
- financiar
- caber
- Foco
- seguinte
- formato
- fraude
- Gratuito
- cheio
- função
- gerar
- meta
- vai
- saúde
- Alta
- altamente
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- humano
- Humanos
- Centenas
- identificação
- identificar
- imagem
- implementado
- Incluindo
- indústrias
- entrada
- insights
- Inteligência
- envolvido
- IT
- Trabalho
- Empregos
- Chave
- marcação
- Rótulos
- trabalho
- língua
- conduzir
- APRENDER
- aprendizagem
- Nível
- Biblioteca
- Links
- carregar
- máquina
- aprendizado de máquina
- moldadas
- FAZ
- gerenciados
- de grupos
- gestão
- manualmente
- fabrica
- Matriz
- a medida
- Métrica
- misto
- ML
- modelo
- modelos
- Monitore
- mais
- a maioria
- mover
- natural
- Natureza
- caderno
- número
- Oferece
- ordem
- organizações
- Outros
- Pacífico
- parceiro
- Parceiros
- atuação
- pessoa
- plataforma
- ponto
- positivo
- Problema
- processo
- Produção
- Agenda
- projetos
- fornecer
- público
- publicar
- Cru
- em tempo real
- registros
- cadastre-se
- registrado
- relevante
- requeridos
- Recursos
- Resultados
- rever
- Opinões
- Execute
- corrida
- Segurança
- Ciência
- sentimento
- Serverless
- serviço
- Serviços
- conjunto
- contexto
- Baixo
- simples
- So
- solução
- Soluções
- RESOLVER
- especializada
- Passar
- pilha
- Etapa
- começo
- começado
- estatístico
- armazenamento
- Estratégico
- ajuda
- Apoiar
- Target
- tarefas
- Profissionais
- Tecnologias
- teste
- Através da
- tempo
- token
- ferramenta
- pista
- Training
- Transformar
- julgamento
- tutoriais
- ui
- final
- descobrir
- Atualizações
- usar
- geralmente
- valor
- variedade
- Vídeo
- Ver
- se
- sem
- Atividades:
- trabalhou
- trabalho
- ano