O conteúdo e as opiniões desta postagem são de responsabilidade do autor terceirizado e a AWS não é responsável pelo conteúdo ou precisão desta postagem.
À medida que mais organizações usam técnicas de aprendizado profundo, como visão computacional e processamento de linguagem natural, a persona do desenvolvedor de aprendizado de máquina (ML) precisa de ferramentas escaláveis para rastreamento de experimentos, linhagem e colaboração. O rastreamento de experimentos inclui metadados como sistema operacional, infraestrutura usada, biblioteca e conjuntos de dados de entrada e saída, geralmente rastreados em uma planilha manualmente. A linhagem envolve o rastreamento dos conjuntos de dados, transformações e algoritmos usados para criar um modelo de ML. A colaboração inclui desenvolvedores de ML trabalhando em um único projeto e também desenvolvedores de ML compartilhando seus resultados entre equipes e partes interessadas nos negócios – um processo geralmente feito por e-mail, capturas de tela e apresentações em PowerPoint.
Neste post, treinamos um modelo para identificar objetos para um caso de uso de veículo autônomo usando Weights & Biases (W&B) e Amazon Sage Maker. Mostramos como a solução conjunta reduz o trabalho manual do desenvolvedor de ML, cria mais transparência no processo de desenvolvimento do modelo e permite que as equipes colaborem em projetos.
Executamos este exemplo em Estúdio Amazon SageMaker para você experimentar por si mesmo.
Visão geral de pesos e tendências
Weights & Biases ajuda as equipes de ML a criar modelos melhores com mais rapidez. Com apenas algumas linhas de código em seu notebook SageMaker, você pode depurar, comparar e reproduzir instantaneamente seus modelos – arquitetura, hiperparâmetros, git commits, pesos de modelo, uso de GPU, conjuntos de dados e previsões – tudo enquanto colabora com seus colegas de equipe.
A W&B tem a confiança de mais de 200,000 profissionais de ML de algumas das empresas e organizações de pesquisa mais inovadoras do mundo. Para experimentar gratuitamente, inscreva-se em Pesos e preconceitosOu visite o Listagem do W&B AWS Marketplace.
Introdução ao SageMaker Studio
O SageMaker Studio é o primeiro ambiente de desenvolvimento totalmente integrado (IDE) para ML. O Studio fornece uma única interface baseada na Web onde os profissionais de ML e cientistas de dados podem criar, treinar e implantar modelos com apenas alguns cliques, tudo em um só lugar.
Para começar a usar o Studio, você precisa de uma conta da AWS e um Gerenciamento de acesso e identidade da AWS (IAM) usuário ou função com permissões para criar um domínio do Studio. Referir-se Integrado ao domínio do Amazon SageMaker para criar um domínio, e o Documentação do Studio para obter uma visão geral sobre como usar a interface visual e os notebooks do Studio.
Configure o ambiente
Para este post, estamos interessados em executar nosso próprio código, então vamos importar alguns notebooks do GitHub. Usamos o seguinte GitHub repo como exemplo, então vamos carregar este caderno.
Você pode clonar um repositório por meio do terminal ou da interface do Studio. Para clonar um repositório através do terminal, abra um terminal do sistema (no Envie o menu, escolha Novo e terminal) e digite o seguinte comando:
Para clonar um repositório da IU do Studio, consulte Clonar um repositório Git no SageMaker Studio.
Para começar, escolha o 01_data_processing.ipynb caderno. Você é solicitado com um prompt de alternador de kernel. Este exemplo usa PyTorch, para que possamos escolher o pré-construído GPU PyTorch 1.10 Python 3.8 otimizada imagem para iniciar nosso notebook. Você pode ver o aplicativo sendo iniciado e, quando o kernel estiver pronto, ele mostrará o tipo de instância e o kernel no canto superior direito do seu notebook.
Nosso notebook precisa de algumas dependências adicionais. Este repositório fornece um requirements.txt com as dependências adicionais. Execute a primeira célula para instalar as dependências necessárias:
Você também pode criar uma configuração de ciclo de vida para instalar automaticamente os pacotes sempre que iniciar o aplicativo PyTorch. Ver Personalize o Amazon SageMaker Studio usando configurações de ciclo de vida para obter instruções e uma implementação de exemplo.
Use pesos e tendências no SageMaker Studio
Pesos e Preconceitos (wandb
) é uma biblioteca padrão do Python. Uma vez instalado, basta adicionar algumas linhas de código ao seu script de treinamento e você estará pronto para registrar os experimentos. Já o instalamos através do nosso arquivo requirements.txt. Você também pode instalá-lo manualmente com o seguinte código:
Estudo de caso: segmentação semântica de veículos autônomos
Conjunto de dados
Usamos o Banco de dados de vídeo rotulado para condução de Cambridge (CamVid) para este exemplo. Ele contém uma coleção de vídeos com rótulos semânticos de classe de objeto, completos com metadados. O banco de dados fornece rótulos de verdade que associam cada pixel a uma das 32 classes semânticas. Podemos versionar nosso conjunto de dados como um varinha. Artefato, dessa forma podemos referenciá-lo mais tarde. Veja o seguinte código:
Você pode acompanhar no 01_data_processing.ipynb notebook.
Também registramos um mesa do conjunto de dados. As tabelas são entidades semelhantes a DataFrame ricas e poderosas que permitem consultar e analisar dados tabulares. Você pode entender seus conjuntos de dados, visualizar previsões de modelos e compartilhar insights em um painel central.
As tabelas de pesos e desvios são compatíveis com muitos formatos de mídia avançada, como imagem, áudio e formas de onda. Para obter uma lista completa de formatos de mídia, consulte Tipos de dados.
A captura de tela a seguir mostra uma tabela com imagens brutas com as segmentações de verdade. Você também pode visualizar um versão interativa desta tabela.
Treine uma modelo
Agora podemos criar um modelo e treiná-lo em nosso conjunto de dados. Nós usamos PyTorch e Fastai para prototipar rapidamente uma linha de base e, em seguida, usar wandb.Sweeps
para otimizar nossos hiperparâmetros. Acompanhe no 02_semantic_segmentation.ipynb caderno. Quando solicitado por um kernel ao abrir o notebook, escolha o mesmo kernel do nosso primeiro notebook, GPU PyTorch 1.10 Python 3.8 otimizada. Seus pacotes já estão instalados porque você está usando o mesmo aplicativo.
O modelo deve aprender uma anotação por pixel de uma cena capturada do ponto de vista do agente autônomo. O modelo precisa categorizar ou segmentar cada pixel de uma determinada cena em 32 categorias relevantes, como estrada, pedestre, calçada ou carros. Você pode escolher qualquer uma das imagens segmentadas na tabela e acessar esta interface interativa para acessar os resultados e categorias da segmentação.
Porque o Fastai biblioteca tem integração com wandb
, você pode simplesmente passar o WandbCallback
para o Aluno:
Para os experimentos de linha de base, decidimos usar uma arquitetura simples inspirada no UNet papel com backbones diferentes de tempo. Treinamos nossos modelos com Perda Focal como critério. Com Weights & Biases, você pode criar facilmente painéis com resumos de seus experimentos para analisar rapidamente os resultados do treinamento, conforme mostrado na captura de tela a seguir. Você também pode veja este painel interativamente.
Pesquisa de hiperparâmetros com varreduras
Para melhorar o desempenho do modelo de linha de base, precisamos selecionar o melhor modelo e o melhor conjunto de hiperparâmetros para treinar. W&B torna isso fácil para nós usando varreduras.
Realizamos um Pesquisa de hiperparâmetros bayesianos com o objetivo de maximizar a precisão de primeiro plano do modelo no conjunto de dados de validação. Para realizar a varredura, definimos o arquivo de configuração sweep.yaml. Dentro deste arquivo, passamos o método desejado a ser utilizado: bayes e os parâmetros e seus valores correspondentes para pesquisar. No nosso caso, tentamos diferentes backbones, tamanhos de lote e funções de perda. Também exploramos diferentes parâmetros de otimização, como taxa de aprendizado e queda de peso. Como esses são valores contínuos, amostramos a partir de uma distribuição. Existem vários opções de configuração disponíveis para varreduras.
Depois, em um terminal, você inicia a varredura usando o linha de comando wandb:
E, em seguida, inicie um agente de varredura nesta máquina com o seguinte código:
Quando a varredura terminar, podemos usar um gráfico de coordenadas paralelas para explorar o desempenho dos modelos com vários backbones e diferentes conjuntos de hiperparâmetros. Com base nisso, podemos ver qual modelo tem o melhor desempenho.
A captura de tela a seguir mostra os resultados das varreduras, incluindo um gráfico de coordenadas paralelas e gráficos de correlação de parâmetros. Você também pode veja este painel de varreduras interativamente.
Podemos derivar os seguintes insights principais da varredura:
- Menor taxa de aprendizado e menor decaimento de peso resultam em melhor precisão de primeiro plano e pontuações de dados.
- O tamanho do lote tem fortes correlações positivas com as métricas.
- A Backbones baseados em VGG pode não ser uma boa opção para treinar nosso modelo final porque eles tendem a resultar em um gradiente de desaparecimento. (Eles são filtrados à medida que a perda divergiu.)
- A ResNet backbones resultam no melhor desempenho geral em relação às métricas.
- O backbone ResNet34 ou ResNet50 deve ser escolhido para o modelo final devido ao seu forte desempenho em termos de métricas.
Linhagem de dados e modelos
Os artefatos W&B foram projetados para facilitar a versão de seus conjuntos de dados e modelos, independentemente de você querer armazenar seus arquivos com W&B ou se você já tem um bucket que deseja que W&B rastreie. Depois de rastrear seus conjuntos de dados ou arquivos de modelo, a W&B registra automaticamente cada modificação, fornecendo um histórico completo e auditável de alterações em seus arquivos.
No nosso caso, o conjunto de dados, modelos e diferentes tabelas geradas durante o treinamento são registrados no espaço de trabalho. Você pode visualizar e visualizar rapidamente esta linhagem indo para o Artefatos Disputas de Comerciais.
Interpretar previsões do modelo
Weight & Biases é especialmente útil ao avaliar o desempenho do modelo usando o poder de wandb.Tabelas para visualizar onde nosso modelo está indo mal. Nesse caso, estamos particularmente interessados em detectar corretamente usuários vulneráveis, como bicicletas e pedestres.
Registramos as máscaras previstas junto com o coeficiente de pontuação de dados por classe em uma tabela. Em seguida, filtramos por linhas contendo as classes desejadas e classificamos por ordem crescente na pontuação dos dados.
Na tabela a seguir, primeiro filtramos escolhendo onde a pontuação dos dados é positiva (os pedestres estão presentes na imagem). Em seguida, classificamos em ordem crescente para identificar nossos pedestres mais detectados. Tenha em mente que uma pontuação de dados igual a 1 significa segmentar corretamente a classe de pedestres. Você também pode veja esta tabela interativamente.
Podemos repetir essa análise com outras classes vulneráveis, como bicicletas ou semáforos.
Esse recurso é uma maneira muito boa de identificar imagens que não estão rotuladas corretamente e marcá-las para anotar novamente.
Conclusão
Este post apresentou a plataforma MLOps Weights & Biases, como configurar W&B no SageMaker Studio e como executar um notebook introdutório na solução conjunta. Em seguida, percorremos um caso de uso de segmentação semântica de veículo autônomo e demonstramos execuções de treinamento de rastreamento com experimentos W&B, otimização de hiperparâmetros usando varreduras W&B e interpretação de resultados com tabelas W&B.
Se você estiver interessado em saber mais, você pode acessar a live Relatório W&B. Para experimentar o Weights & Biases gratuitamente, inscreva-se em Pesos e preconceitosOu visite o Listagem do W&B AWS Marketplace.
Sobre os autores
Thomas Capelle é engenheiro de aprendizado de máquina na Weights and Biases. Ele é responsável por manter o repositório www.github.com/wandb/examples ativo e atualizado. Ele também cria conteúdo em MLOPS, aplicações de W&B para indústrias e aprendizado profundo divertido em geral. Anteriormente, ele estava usando deep learning para resolver previsões de curto prazo para energia solar. Ele tem formação em Planejamento Urbano, Otimização Combinatória, Economia de Transportes e Matemática Aplicada.
Durga Sury é arquiteto de soluções de ML na equipe do Amazon SageMaker Service SA. Ela é apaixonada por tornar o aprendizado de máquina acessível a todos. Em seus 3 anos na AWS, ela ajudou a configurar plataformas de IA/ML para clientes corporativos. Quando não está trabalhando, adora passeios de moto, romances de mistério e caminhadas com seu husky de quatro anos.
Karthik Bharathy é líder de produtos do Amazon SageMaker com mais de uma década de experiência em gerenciamento de produtos, estratégia de produtos, execução e lançamento.
- 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/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Sobre
- Acesso
- acessível
- acessando
- Conta
- em
- Adicional
- AI
- algoritmos
- Todos os Produtos
- já
- Amazon
- análise
- analisar
- app
- aplicações
- aplicado
- arquitetura
- por aí
- Jurídico
- auditivo
- automaticamente
- Autônomo
- disponível
- AWS
- fundo
- Linha de Base
- Porque
- MELHOR
- construir
- Constrói
- negócio
- carros
- casas
- central
- charts
- Escolha
- escolhido
- classe
- aulas
- código
- colaborar
- colaborando
- colaboração
- coleção
- Empresas
- completar
- computador
- Configuração
- contém
- conteúdo
- Correspondente
- crio
- cria
- Clientes
- painel de instrumentos
- dados,
- banco de dados
- década
- decidido
- profundo
- demonstraram
- implantar
- projetado
- Developer
- desenvolvedores
- Desenvolvimento
- diferente
- distribuição
- domínio
- durante
- cada
- facilmente
- Economia
- permitir
- permite
- energia
- engenheiro
- Entrar
- Empreendimento
- entidades
- Meio Ambiente
- especialmente
- todos
- exemplo
- execução
- vasta experiência
- experimentar
- explorar
- RÁPIDO
- mais rápido
- Característica
- Primeiro nome
- seguir
- seguinte
- Gratuito
- da
- cheio
- Diversão
- funções
- Geral
- gerado
- Git
- GitHub
- Dando
- meta
- vai
- Bom estado, com sinais de uso
- GPU
- ajudou
- ajuda
- história
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- identificar
- identificar
- Dados de identificação:
- imagem
- imagens
- implementação
- melhorar
- inclui
- Incluindo
- indústrias
- Infraestrutura
- inovadores
- entrada
- insights
- inspirado
- instalar
- instância
- integrado
- integração
- interativo
- interessado
- Interface
- introdutório
- IT
- Guarda
- manutenção
- Chave
- Rótulos
- língua
- lançamento
- líder
- APRENDER
- aprendizagem
- Biblioteca
- linhas
- Lista
- viver
- carregar
- máquina
- aprendizado de máquina
- fazer
- FAZ
- Fazendo
- de grupos
- manual
- trabalho manual
- manualmente
- marketplace
- Máscaras
- matemática
- significa
- Mídia
- Métrica
- poder
- mente
- ML
- modelo
- modelos
- mais
- a maioria
- motocicleta
- múltiplo
- Mistério
- natural
- Cria
- caderno
- aberto
- abertura
- operando
- sistema operativo
- Opiniões
- otimização
- Otimize
- Opção
- Opções
- ordem
- organizações
- Outros
- global
- próprio
- Papel
- particularmente
- apaixonado
- atuação
- performances
- planejamento
- plataforma
- Plataformas
- ponto
- Ponto de vista
- positivo
- poder
- poderoso
- Previsões
- presente
- Apresentações
- processo
- em processamento
- Produto
- gestão de produtos
- produtividade
- projeto
- projetos
- fornece
- rapidamente
- Cru
- relevante
- repetir
- repositório
- requeridos
- Requisitos
- pesquisa
- responsável
- resultando
- Resultados
- estrada
- Tipo
- Execute
- corrida
- mesmo
- escalável
- cena
- cientistas
- Pesquisar
- segmento
- segmentação
- serviço
- conjunto
- Partilhar
- compartilhando
- assistência técnica de curto e longo prazo
- mostrar
- mostrando
- assinar
- simples
- solteiro
- Tamanho
- So
- solar
- energia solar
- solução
- Soluções
- RESOLVER
- alguns
- padrão
- começo
- começado
- loja
- Estratégia
- mais forte,
- estudo
- Estudo
- ajuda
- Varrer
- .
- Profissionais
- equipes
- técnicas
- terminal
- condições
- A
- a articulação
- o mundo
- De terceiros
- Através da
- tempo
- topo
- pista
- Rastreamento
- tráfego
- Training
- transformações
- Transparência
- confiável
- ui
- compreender
- urbano
- us
- usar
- usuários
- validação
- valor
- vário
- veículo
- versão
- Vídeo
- VÍDEOS
- Ver
- visão
- Vulnerável
- Web-Based
- se
- enquanto
- Wikipedia
- Atividades:
- trabalhar
- mundo
- anos
- investimentos