Dimensionamento de aplicativos de aprendizado profundo/IA: 4 práticas recomendadas

Um lamento comum entre os engenheiros de aprendizado de máquina é que produzir aplicativos de aprendizado de máquina (ML), aprendizado profundo (DL) e IA em geral é problemático. Muitos engenheiros atestariam que uma grande porcentagem, estimada em 90%, dos modelos de ML nunca vê a luz do dia na produção.

Vamos examinar quatro práticas recomendadas para evitar esses problemas. Derivadas de tendências do setor, literatura de profissionais e práticas recomendadas de MLOps codificadas, essas quatro práticas recomendadas melhorarão o processo de implantação de modelos para produção.

Veja também: Melhor software de IA

Os dados são complexos e sujos. É complexo porque os dados variam de forma e formato: lote ou transmissão; dados estruturados, não estruturados ou semiestruturados. É sujo porque muitas vezes os dados têm valores errados ou ausentes. Nenhum modelo de aprendizado profundo ou IA é valioso sem dados volumosos, limpos e projetados por recursos.

Você precisa de um data warehouse robusto para processar o big data necessário para criar modelos precisos. Um data lake moderno armazena dados estruturados e não estruturados. Um data lake moderno tem as seguintes propriedades de dados:

  • Forneça transações ACID para que vários leitores e gravadores possam atualizar e ler dados sem contenção ou conflito, permitindo trabalhos ETL (extrair, transformar e carregar) simultâneos e inserções e atualizações constantes.
  • Armazene dados em um formato aberto, como Parquet, JSON ou CSV, permitindo que estruturas populares de aprendizado profundo acessem dados de forma aberta e eficiente.
  • Mantenha os dados estruturados como tabelas que podem ser versionadas e aderidas a um esquema, permitindo a reprodutibilidade e a responsabilidade do modelo.
  • Forneça acesso rápido e pesquisável a vários tipos de dados (marcados, imagens, vídeos, texto etc.), permitindo que os engenheiros de aprendizado de máquina obtenham os conjuntos de dados certos para o problema de negócios certo.

Data lake moderno

Um data lake moderno como um data warehouse.

Sem um armazenamento de dados coeso como a fonte de dados canônica limpa e confiável para todos os seus modelos de ML para treinamento e inferência, você encontrará sua primeira armadilha de “dados”. Isso é verdade, não importa qual estrutura de aprendizado profundo você use, o que nos leva à próxima consideração.

Veja também: DevOps, Low-Code e RPA: prós e contras

Assim como bons dados geram bons modelos, o mesmo acontece com conjuntos de ferramentas e estruturas de aprendizado profundo amplamente adotados. Ninguém argumentaria entre os profissionais de ML/DL que PyTorch, PyTorch Lightning, TensorFlow, HuggingFace, Horovod, XGBoost ou MXNet são estruturas populares para construir modelos de aprendizado profundo escaláveis. Além de serem amplamente utilizados, eles se tornaram a referência para a construção de aplicativos sofisticados de IA e aprendizado profundo.

Adote essas estruturas porque:

  • Eles têm uma ótima comunidade de suporte, muita documentação, tutoriais e exemplos para aprender.
  • Eles suportam treinamento e inferência em hardware acelerado moderno (CPU, GPU, etc.).
  • Eles são testados em produção (usados ​​por empresas notáveis).
  • Eles se integram nativamente ao Ray, uma estrutura emergente de uso geral de código aberto para criar e dimensionar aplicativos de IA distribuídos.
  • Eles têm ligações de API Python, uma linguagem de fato para aprendizado profundo.
  • Eles têm integrações com MLflow, KubeFlow, TFX, SageMaker e Weights & Biases para provisionamento de modelo e implantação e orquestração de pipeline de modelo na produção.

Registros ML-DL

Integrações do ML/DL Framework com Ray e Model Registers.

Não usar frameworks testados em batalha bem integrados com ferramentas populares de código aberto para ciclo de desenvolvimento de modelos e gerenciamento ou treinamento distribuído em escala é uma maneira certa de se deparar com outra armadilha: ferramentas e estruturas erradas. A necessidade de um ciclo de vida de desenvolvimento de modelo nos leva ao motivo pelo qual você deseja acompanhar o treinamento de modelo usando um repositório de modelo.

Veja também: Técnicas de mineração de dados

O paradigma do ciclo de vida de desenvolvimento de modelo é diferente do ciclo de vida geral de desenvolvimento de software. A primeira é iterativa, experimental, baseada em dados e métricas. Vários fatores afetam o sucesso do modelo na produção:

  • As métricas medidas do modelo são precisas? Um registro de modelo rastreará todas as métricas e parâmetros durante o treinamento e teste que você pode examinar para avaliar.
  • Posso usar mais de uma estrutura DL para obter o melhor modelo? Os registros de modelo atuais suportam várias estruturas para registrar modelos como artefatos para implantações.
  • As fontes de dados foram confiáveis ​​e de volume suficiente para representar uma amostra geral? Este é o resultado bem-sucedido de obter o histórico de dados correto.
  • Podemos reproduzir o modelo com os dados usados ​​para treinamento? O registro de modelo pode armazenar metadados, como referências a tabelas de dados no data warehouse. O acesso aos dados e metadados de treinamento originais permite que você reproduza um modelo.
  • Podemos traçar a linhagem evolutiva de um modelo, do desenvolvimento à implantação, para determinar sua proveniência e responsabilidade? Os registros de modelo acompanham as versões de cada experimento executado para que você possa extrair uma versão exata do modelo treinado com todos os parâmetros e métricas de entrada e saída.

O rastreamento de experimentos para modelos e a preservação de todos os aspectos de sua saída – métricas, parâmetros, tabelas de dados e artefatos – lhe dá a confiança necessária para implantar o melhor modelo correto na produção. Não ter um modelo de produção orientado a dados e métricas é outra armadilha a ser evitada. Mas isso não é suficiente; Observar o comportamento e o desempenho dos modelos em produção é tão importante quanto monitorar os experimentos.

Veja também: Técnicas de mineração de dados

A observabilidade do modelo em produção é imperativa. Muitas vezes é uma reflexão tardia, mas isso é por sua conta e risco. Deve ser a coisa mais importante. Os modelos de ML e DL podem se degradar ou flutuar ao longo do tempo por vários motivos:

  • Os dados e o conceito de modelo derivam ao longo do tempo: Os dados são complexos e nunca estáticos. Os dados nos quais o modelo foi treinado podem mudar ao longo do tempo. Por exemplo, uma determinada imagem treinada para classificação ou segmentação pode ter recursos adicionais que não são levados em consideração. Como resultado, o conceito de modelo de inferência pode se desviar, resultando em erros, longe da verdade básica. Essa detecção de desvio requer retreinamento e reimplantação de um modelo.
  • As inferências de modelo falham ao longo do tempo: As previsões do modelo falham ao longo do tempo, dando previsões incorretas, como resultado de desvios de dados anteriores.
  • Os sistemas degradam sob carga pesada: Embora você considere a confiabilidade e a escalabilidade como parte de sua infraestrutura de dados, é vital manter um olhar atento sobre a integridade de sua infraestrutura, especialmente seus servidores dedicados modelo durante picos de tráfego intenso.

Veja também: Previsões de tecnologia para 2022: nuvem, dados, segurança cibernética, inteligência artificial e muito mais

Sobre o autor:

Robert Nishihara é o cofundador e CEO da Anyscale. Ele tem um Ph.D. em aprendizado de máquina e sistemas distribuídos.

Leave a Comment