Esta postagem foi co-escrita com Santosh Waddi e Nanda Kishore Thatikonda do BigBasket.
BigBasket é a maior loja online de alimentos e mercearia da Índia. Eles operam em vários canais de comércio eletrônico, como comércio rápido, entrega dividida e assinaturas diárias. Você também pode comprar em suas lojas físicas e máquinas de venda automática. Eles oferecem uma grande variedade de mais de 50,000 produtos em 1,000 marcas e operam em mais de 500 cidades. BigBasket atende mais de 10 milhões de clientes.
Nesta postagem, discutimos como o BigBasket usou Amazon Sage Maker para treinar seu modelo de visão computacional para identificação de produtos de bens de consumo rápidos (FMCG), o que os ajudou a reduzir o tempo de treinamento em aproximadamente 50% e a economizar custos em 20%.
desafios do cliente
Hoje, a maioria dos supermercados e lojas físicas na Índia oferecem check-out manual no caixa. Isso tem dois problemas:
- Requer mão de obra adicional, adesivos de peso e treinamento repetido para a equipe operacional da loja à medida que ela aumenta.
- Na maioria das lojas, o caixa é diferente dos balcões de pesagem, o que aumenta o atrito na jornada de compra do cliente. Os clientes muitas vezes perdem o adesivo de peso e precisam voltar aos balcões de pesagem para recolhê-lo novamente antes de prosseguir com o processo de finalização da compra.
Processo de auto-checkout
A BigBasket introduziu um sistema de checkout com tecnologia de IA em suas lojas físicas que usa câmeras para distinguir itens de maneira exclusiva. A figura a seguir fornece uma visão geral do processo de checkout.
A equipe do BigBasket estava executando algoritmos internos de ML de código aberto para reconhecimento de objetos de visão computacional para potencializar o checkout habilitado para IA em seus fresco lojas (físicas). Estávamos enfrentando os seguintes desafios para operar a configuração existente:
- Com a introdução contínua de novos produtos, o modelo de visão computacional precisava incorporar continuamente informações de novos produtos. O sistema precisava lidar com um grande catálogo de mais de 12,000 unidades de manutenção de estoque (SKUs), com novos SKUs sendo adicionados continuamente a uma taxa de mais de 600 por mês.
- Para acompanhar os novos produtos, um novo modelo era produzido a cada mês usando os dados de treinamento mais recentes. Era caro e demorado treinar os modelos com frequência para se adaptarem a novos produtos.
- A BigBasket também queria reduzir o tempo do ciclo de treinamento para melhorar o tempo de lançamento no mercado. Devido ao aumento dos SKUs, o tempo gasto pelo modelo foi aumentando linearmente, o que impactou no time to market porque a frequência de treinamento era muito alta e demorava muito.
- O aumento de dados para treinamento de modelo e gerenciamento manual de todo o ciclo de treinamento de ponta a ponta estava adicionando uma sobrecarga significativa. O BigBasket estava executando isso em uma plataforma de terceiros, o que incorreu em custos significativos.
Visão geral da solução
Recomendamos que a BigBasket reestruturasse sua solução existente de detecção e classificação de produtos FMCG usando o SageMaker para enfrentar esses desafios. Antes de passar para a produção em grande escala, a BigBasket testou um piloto no SageMaker para avaliar métricas de desempenho, custo e conveniência.
Seu objetivo era ajustar um modelo existente de aprendizado de máquina (ML) de visão computacional para detecção de SKU. Usamos uma arquitetura de rede neural convolucional (CNN) com ResNet152 para classificação de imagens. Um conjunto de dados considerável de cerca de 300 imagens por SKU foi estimado para treinamento de modelo, resultando em mais de 4 milhões de imagens de treinamento no total. Para determinados SKUs, aumentamos os dados para abranger uma gama mais ampla de condições ambientais.
O diagrama a seguir ilustra a arquitetura da solução.
O processo completo pode ser resumido nas seguintes etapas de alto nível:
- Execute limpeza, anotação e aumento de dados.
- Armazene dados em um Serviço de armazenamento simples da Amazon (Amazon S3).
- Use o SageMaker e Amazon FSx para Lustre para aumento eficiente de dados.
- Divida os dados em conjuntos de treinamento, validação e teste. Usamos FSx para Lustre e Serviço de banco de dados relacional da Amazon (Amazon RDS) para acesso rápido a dados paralelos.
- Use um costume PyTorch Contêiner Docker incluindo outras bibliotecas de código aberto.
- Use Paralelismo de dados distribuídos SageMaker (SMDDP) para treinamento distribuído acelerado.
- Métricas de treinamento do modelo de log.
- Copie o modelo final para um bucket S3.
BigBasket usado Cadernos SageMaker para treinar seus modelos de ML e foram capazes de portar facilmente seu PyTorch de código aberto existente e outras dependências de código aberto para um contêiner SageMaker PyTorch e executar o pipeline perfeitamente. Este foi o primeiro benefício percebido pela equipe do BigBasket, pois quase não foram necessárias alterações no código para torná-lo compatível para execução em um ambiente SageMaker.
A rede modelo consiste em uma arquitetura ResNet 152 seguida por camadas totalmente conectadas. Congelamos as camadas de recursos de baixo nível e retemos os pesos adquiridos por meio do aprendizado de transferência do modelo ImageNet. Os parâmetros totais do modelo foram 66 milhões, consistindo em 23 milhões de parâmetros treináveis. Essa abordagem baseada na transferência de aprendizagem ajudou-os a usar menos imagens no momento do treinamento e também permitiu uma convergência mais rápida e reduziu o tempo total de treinamento.
Construindo e treinando o modelo dentro Estúdio Amazon SageMaker forneceu um ambiente de desenvolvimento integrado (IDE) com tudo o que é necessário para preparar, construir, treinar e ajustar modelos. Aumentar os dados de treinamento usando técnicas como cortar, girar e inverter imagens ajudou a melhorar os dados de treinamento do modelo e a precisão do modelo.
O treinamento do modelo foi acelerado em 50% por meio do uso da biblioteca SMDDP, que inclui algoritmos de comunicação otimizados projetados especificamente para a infraestrutura da AWS. Para melhorar o desempenho de leitura/gravação de dados durante o treinamento do modelo e aumento de dados, usamos o FSx for Lustre para obter rendimento de alto desempenho.
O tamanho inicial dos dados de treinamento era superior a 1.5 TB. Usamos dois Amazon Elastic Compute Nuvem (Amazon EC2) p4d.24 instâncias grandes com 8 GPU e 40 GB de memória GPU. Para treinamento distribuído do SageMaker, as instâncias precisam estar na mesma região da AWS e zona de disponibilidade. Além disso, os dados de treinamento armazenados em um bucket S3 precisam estar na mesma zona de disponibilidade. Essa arquitetura também permite que o BigBasket mude para outros tipos de instância ou adicione mais instâncias à arquitetura atual para atender a qualquer crescimento significativo de dados ou obter redução adicional no tempo de treinamento.
Como a biblioteca SMDDP ajudou a reduzir o tempo, o custo e a complexidade do treinamento
No treinamento tradicional de dados distribuídos, a estrutura de treinamento atribui classificações às GPUs (trabalhadores) e cria uma réplica do seu modelo em cada GPU. Durante cada iteração de treinamento, o lote de dados global é dividido em partes (fragmentos de lote) e uma parte é distribuída para cada trabalhador. Cada trabalhador prossegue com a passagem para frente e para trás definida em seu script de treinamento em cada GPU. Finalmente, os pesos e gradientes do modelo das diferentes réplicas do modelo são sincronizados no final da iteração por meio de uma operação de comunicação coletiva chamada AllReduce. Depois que cada trabalhador e GPU tiver uma réplica sincronizada do modelo, a próxima iteração começará.
A biblioteca SMDDP é uma biblioteca de comunicação coletiva que melhora o desempenho desse processo de treinamento paralelo de dados distribuídos. A biblioteca SMDDP reduz a sobrecarga de comunicação das principais operações de comunicação coletiva, como AllReduce. Sua implementação do AllReduce foi projetada para infraestrutura AWS e pode acelerar o treinamento ao sobrepor a operação AllReduce com o retrocesso. Essa abordagem alcança eficiência de escalonamento quase linear e velocidade de treinamento mais rápida, otimizando as operações do kernel entre CPUs e GPUs.
Observe os seguintes cálculos:
- O tamanho do lote global é (número de nós em um cluster) * (número de GPUs por nó) * (por fragmento de lote)
- Um fragmento de lote (lote pequeno) é um subconjunto do conjunto de dados atribuído a cada GPU (trabalhador) por iteração
BigBasket usou a biblioteca SMDDP para reduzir o tempo geral de treinamento. Com o FSx for Lustre, reduzimos a taxa de transferência de leitura/gravação de dados durante o treinamento do modelo e o aumento de dados. Com o paralelismo de dados, o BigBasket conseguiu um treinamento quase 50% mais rápido e 20% mais barato em comparação com outras alternativas, entregando o melhor desempenho na AWS. O SageMaker desliga automaticamente o pipeline de treinamento após a conclusão. O projeto foi concluído com sucesso com um tempo de treinamento 50% mais rápido na AWS (4.5 dias na AWS versus 9 dias na plataforma legada).
No momento em que escrevo este post, a BigBasket está executando a solução completa em produção há mais de 6 meses e dimensionando o sistema atendendo a novas cidades, e estamos adicionando novas lojas todos os meses.
“Nossa parceria com a AWS na migração para treinamento distribuído usando sua oferta SMDDP foi uma grande vitória. Não só reduziu o nosso tempo de formação em 50%, como também ficou 20% mais barato. Em toda a nossa parceria, a AWS estabeleceu o padrão na obsessão do cliente e na entrega de resultados, trabalhando conosco durante todo o processo para obter os benefícios prometidos.”
– Keshav Kumar, Chefe de Engenharia da BigBasket.
Conclusão
Nesta postagem, discutimos como BigBasket usou o SageMaker para treinar seu modelo de visão computacional para identificação de produtos FMCG. A implementação de um sistema de auto-checkout automatizado alimentado por IA proporciona uma melhor experiência ao cliente de varejo por meio da inovação, ao mesmo tempo que elimina erros humanos no processo de checkout. Acelerar a integração de novos produtos usando o treinamento distribuído do SageMaker reduz o tempo e o custo de integração de SKU. A integração do FSx for Lustre permite acesso rápido e paralelo aos dados para um novo treinamento eficiente do modelo com centenas de novos SKUs mensalmente. No geral, esta solução de auto-checkout baseada em IA oferece uma experiência de compra aprimorada, sem erros de check-out no front-end. A automação e a inovação transformaram suas operações de checkout e integração no varejo.
O SageMaker fornece recursos completos de desenvolvimento, implantação e monitoramento de ML, como um ambiente de notebook SageMaker Studio para escrever código, aquisição de dados, marcação de dados, treinamento de modelo, ajuste de modelo, implantação, monitoramento e muito mais. Se sua empresa estiver enfrentando algum dos desafios descritos nesta postagem e quiser economizar tempo de lançamento no mercado e melhorar custos, entre em contato com a equipe de contas da AWS em sua região e comece a usar o SageMaker.
Sobre os autores
Santosh Waddi é engenheiro principal da BigBasket e traz mais de uma década de experiência na solução de desafios de IA. Com uma sólida experiência em visão computacional, ciência de dados e aprendizagem profunda, ele possui pós-graduação pelo IIT Bombay. Santosh é autor de publicações notáveis do IEEE e, como autor experiente de blogs de tecnologia, também fez contribuições significativas para o desenvolvimento de soluções de visão computacional durante sua gestão na Samsung.
Nanda Kishore Thatikonda é Gerente de Engenharia liderando Engenharia e Análise de Dados na BigBasket. Nanda desenvolveu vários aplicativos para detecção de anomalias e possui uma patente registrada em um espaço semelhante. Ele trabalhou na construção de aplicativos de nível empresarial, na construção de plataformas de dados em diversas organizações e plataformas de relatórios para agilizar decisões baseadas em dados. Nanda tem mais de 18 anos de experiência trabalhando em Java/J2EE, tecnologias Spring e estruturas de big data usando Hadoop e Apache Spark.
Ódio de Sudhanshu é especialista principal em IA e ML da AWS e trabalha com clientes para aconselhá-los em suas jornadas de MLOps e IA generativa. Em sua função anterior, ele conceituou, criou e liderou equipes para construir uma plataforma de gamificação e IA baseada em código aberto, e comercializou-a com sucesso com mais de 100 clientes. Sudhanshu tem a seu crédito algumas patentes; escreveu 2 livros, vários artigos e blogs; e apresentou seu ponto de vista em diversos fóruns. Ele é um líder inovador e palestrante e está no setor há quase 25 anos. Ele trabalhou com clientes da Fortune 1000 em todo o mundo e, mais recentemente, está trabalhando com clientes nativos digitais na Índia.
Ayush Kumar é arquiteto de soluções na AWS. Ele está trabalhando com uma ampla variedade de clientes da AWS, ajudando-os a adotar os aplicativos modernos mais recentes e a inovar mais rapidamente com tecnologias nativas da nuvem. Você o encontrará fazendo experiências na cozinha nas horas vagas.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/how-bigbasket-improved-ai-enabled-checkout-at-their-physical-stores-using-amazon-sagemaker/
- :tem
- :é
- :não
- $ 10 milhões
- $UP
- 000
- 1
- 10
- 100
- 12
- 120
- 13
- 152
- 23
- 24
- 25
- 300
- 40
- 50
- 500
- 600
- 66
- 7
- 8
- 80
- 9
- 98
- a
- Capaz
- acelerado
- acelerando
- Acesso
- Conta
- precisão
- Alcançar
- Alcança
- adquirido
- aquisição
- em
- adaptar
- adicionar
- adicionado
- acrescentando
- Adicional
- endereço
- Adiciona
- adotar
- aconselhar
- Depois de
- novamente
- AI
- Alimentado por AI
- algoritmos
- permite
- quase
- tb
- alternativas
- Amazon
- Amazon EC2
- Amazon RDS
- Amazon Sage Maker
- Amazon Web Services
- an
- analítica
- e
- detecção de anomalia
- qualquer
- apache
- aplicações
- abordagem
- aproximadamente
- arquitetura
- SOMOS
- por aí
- AS
- atribuído
- sortimento
- At
- aumentado
- autor
- Autoria
- Automatizado
- automaticamente
- Automação
- disponibilidade
- AWS
- em caminho duplo
- Apoiado
- fundo
- Barra
- BE
- Porque
- sido
- antes
- começa
- ser
- beneficiar
- Benefícios
- MELHOR
- entre
- Grande
- Big Data
- Blog
- Blogs
- Livros
- marcas
- Traz
- mais amplo
- construir
- Prédio
- construído
- negócio
- comprar
- by
- cálculos
- chamado
- câmeras
- CAN
- capacidades
- catálogo
- fornecer
- restauração
- certo
- desafios
- alterar
- Alterações
- canais
- mais barato
- Finalizar compra
- Cidades
- classificação
- clientes
- Agrupar
- CNN
- código
- coletar
- Collective
- Commerce
- Comunicação
- comparado
- compatível
- completar
- Efetuado
- Computar
- computador
- Visão de Computador
- condições
- conectado
- Consistindo
- consiste
- consumidor
- consumindo
- Recipiente
- continuamente
- contínuo
- continuamente
- contribuições
- facilidade
- Convergência
- Custo
- dispendioso
- custos
- Contador
- contadores
- Casal
- criado
- cria
- crédito
- Atual
- personalizadas
- cliente
- experiência do cliente
- Clientes
- Cortar
- ciclo
- diariamente
- dados,
- acesso a dados
- ciência de dados
- banco de dados
- dias
- década
- decisões
- profundo
- deep learning
- definido
- Grau
- entregando
- entrega
- Entrega
- dependências
- desenvolvimento
- descrito
- projetado
- Detecção
- Desenvolvimento
- diagrama
- DID
- diferente
- digital
- discutir
- discutido
- distinguir
- distribuído
- treinamento distribuído
- dividido
- Estivador
- down
- dois
- durante
- cada
- facilmente
- Loja virtual
- eficiência
- eficiente
- eliminando
- habilitado
- permite
- abranger
- final
- end-to-end
- engenheiro
- Engenharia
- aprimorada
- de nível empresarial
- Todo
- Meio Ambiente
- ambiental
- erros
- estimado
- avaliar
- Cada
- tudo
- existente
- vasta experiência
- experimentando
- experiência
- enfrentando
- RÁPIDO
- movendo rápido
- mais rápido
- Característica
- menos
- Figura
- arquivada
- final
- Finalmente
- Encontre
- Primeiro nome
- fmcg
- seguido
- seguinte
- comida
- Escolha
- Fortune
- fóruns
- para a frente
- Quadro
- enquadramentos
- Frequência
- freqüentemente
- atrito
- da
- Frontend
- em grande escala
- totalmente
- mais distante
- gamification
- generativo
- IA generativa
- ter
- Global
- globo
- Go
- bens
- GPU
- GPUs
- gradientes
- ótimo
- Growth
- manipular
- Ter
- he
- cabeça
- ajudou
- ajuda
- Alta
- de alto nível
- alta performance
- ele
- sua
- detém
- Como funciona o dobrador de carta de canal
- HTML
- http
- HTTPS
- humano
- Centenas
- identificação
- IEEE
- if
- ilustra
- imagem
- Classificação de imagem
- imagens
- impactada
- implementação
- melhorar
- melhorado
- melhora
- in
- na loja
- inclui
- Incluindo
- incorporar
- Aumenta
- aumentando
- incorridos
- Índia
- indústria
- INFORMAÇÕES
- Infraestrutura
- inovar
- Inovação
- instância
- integrado
- Integração
- para dentro
- introduzido
- Introdução
- questões
- IT
- Unid
- iteração
- ESTÁ
- viagem
- jpg
- Guarda
- manutenção
- Chave
- Kumar
- grande
- maior
- mais recente
- camadas
- líder
- principal
- aprendizagem
- levou
- Legado
- bibliotecas
- Biblioteca
- como
- longo
- muito tempo
- perder
- máquina
- aprendizado de máquina
- máquinas
- moldadas
- fazer
- Gerente
- gestão
- manual
- manualmente
- mercado
- Memória
- Métrica
- migração
- milhão
- ML
- MLOps
- modelo
- modelos
- EQUIPAMENTOS
- monitoração
- Mês
- mensal
- mês
- mais
- a maioria
- em movimento
- muito
- múltiplo
- nativo
- quase
- você merece...
- necessário
- Cria
- rede
- neural
- rede neural
- Novo
- produto novo
- novos produtos
- Próximo
- nó
- nós
- notável
- caderno
- número
- objeto
- objetivo
- of
- oferecer
- oferecendo treinamento para distância
- frequentemente
- on
- Onboarding
- ONE
- online
- só
- aberto
- open source
- operar
- operando
- operação
- operacional
- Operações
- otimizado
- otimizando
- or
- organizações
- Outros
- A Nossa
- Fora
- Acima de
- global
- em cima
- Visão geral
- Paz
- papéis
- Paralelo
- parâmetros
- Google Cloud
- passar
- patente
- Patentes
- para
- atuação
- físico
- peça
- peças
- piloto
- oleoduto
- plataforma
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- ponto
- Ponto de vista
- Publique
- pós-graduado
- poder
- Preparar
- apresentado
- anterior
- Diretor
- prossegue
- processo
- Produzido
- Produto
- informações do produto
- Produção
- Produtos
- projeto
- prometido
- fornecer
- fornecido
- fornece
- publicações
- compra
- pytorch
- Links
- alcance
- fileiras
- Taxa
- alcançar
- perceber
- recentemente
- reconhecimento
- Recomenda
- reduzir
- Reduzido
- reduz
- redução
- região
- repetido
- responder
- Relatórios
- exige
- resultando
- varejo
- Tipo
- Execute
- corrida
- sábio
- mesmo
- Samsung
- Salvar
- Escala
- dimensionamento
- Ciência
- escrita
- sem problemas
- temperado
- visto
- serve
- Serviços
- conjunto
- Conjuntos
- instalação
- vários
- minha
- Shuts
- periodo
- semelhante
- simples
- considerável
- Tamanho
- pequeno
- solução
- Soluções
- Resolvendo
- fonte
- Espaço
- Faísca
- Palestrantes
- especialista
- especificamente
- velocidade
- primavera
- começado
- Comece
- Passos
- adesivos
- estoque
- armazenamento
- loja
- armazenadas
- lojas
- simplificar
- mais forte,
- estudo
- assinaturas
- entraram com sucesso
- tal
- .
- tomado
- Profissionais
- equipes
- tecnologia
- técnicas
- Tecnologias
- teste
- do que
- que
- A
- deles
- Eles
- então
- Lá.
- Este
- deles
- De terceiros
- isto
- pensamento
- Através da
- Taxa de transferência
- tempo
- vezes
- para
- levou
- Total
- cidades
- tradicional
- Trem
- Training
- transferência
- transformado
- experimentado
- afinação
- sintonização
- dois
- tipos
- unicamente
- unidades
- us
- usar
- usava
- usos
- utilização
- validação
- variedade
- vário
- muito
- Ver
- visão
- vs
- querido
- quer
- foi
- Caminho..
- we
- web
- serviços web
- pesagem
- peso
- foram
- qual
- enquanto
- inteiro
- Largo
- ganhar
- de
- dentro
- trabalhou
- trabalhador
- trabalhadores
- trabalhar
- trabalho
- escrita
- escrito
- anos
- Vocês
- investimentos
- zefirnet
- zona