O que é implantação de modelo?

Autores

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

O que é implementação do modelo?

A implementação do modelo envolve a colocação de um modelo de aprendizado de máquina (ML) em um ambiente de produção. Passar um modelo do desenvolvimento para a produção o disponibiliza para usuários finais, desenvolvedores de software e outras aplicações de software e sistemas de inteligência artificial (IA).

Implementar modelos de aprendizado de máquina é uma fase crucial no ciclo de vida da IA. Cientistas de dados, desenvolvedores de IA e pesquisadores de IA normalmente trabalham nos primeiros estágios de projetos de ciência de dados e ML, incluindo coleta e preparação de dados, desenvolvimento de modelo, treinamento de modelo e avaliação de modelo. A implementação do modelo é a próxima etapa que traz a pesquisa para o mundo real. Uma vez implementado, um modelo de IA é verdadeiramente testado, não só em termos de inferência ou desempenho em tempo real com novos dados, mas também no modo de resolver os problemas para os quais foi projetado.

De acordo com uma pesquisa da Gartner, a IA generativa é a solução de IA implementada com mais frequência nas organizações, mas apenas metade (aproximadamente 48%) dos projetos de IA chegam à produção.1 Somente quando um modelo de aprendizado de máquina é implementado seu verdadeiro valor pode surgir. Os usuários podem interagir com um modelo e se beneficiar de seus insights, enquanto as empresas podem empregar a análise e as previsões de um modelo para a tomada de decisão e gerar eficiências por meio da automação.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Métodos de implementação de modelos

As empresas podem escolher entre diferentes abordagens de implementação, dependendo das aplicações e dos casos de uso que pretendem para seus novos modelos. Veja a seguir alguns métodos comuns de implementação de modelos:

  • Tempo real
  • Lote
  • Streaming
  • Edge

Tempo real

A implementação em tempo real envolve a integração de um modelo pré-treinado em um ambiente de produção capaz de tratar imediatamente as entradas e saídas de dados. Esse método permite que os modelos de ML online sejam atualizados continuamente e gerem previsões rapidamente à medida que novos dados chegam.

Previsões instantâneas podem levar a uma melhor experiência do usuário e aumentar o engajamento do usuário. Porém, a implementação em tempo real também exige uma infraestrutura de computação de alto desempenho, com tempos de resposta rápidos e cache para gerenciar solicitações síncronas de baixa latência.

A implementação em tempo real pode ser implementada para aplicações de IA, como mecanismos de recomendação, que atendem rapidamente às sugestões, ou chatbots, que fornecem suporte em tempo real para clientes.

Lote

A implementação em lote envolve o processamento offline de entradas de dados. Os conjuntos de dados são agrupados em lotes e, em seguida, aplicados periodicamente a algoritmos de aprendizado de máquina. Dessa forma, a implementação em lote não precisa de uma infraestrutura tão robusta quanto a implementação em tempo real.

Esse método é adequado para grandes volumes de dados que podem ser processados de forma assíncrona, como transações financeiras, registros de saúde ou documentos legais. Os casos de uso de implementação em lote incluem análise de documentos, forecasting, geração de descrições de produtos, classificação de imagens e análise de sentimento.

Streaming

A implementação de streaming alimenta fluxos regulares de dados para um sistema de aprendizado de máquina para cálculos contínuos e previsões quase em tempo real. Geralmente, exige a mesma infraestrutura da implementação em tempo real.

Esse método pode ser empregado para detecção de fraude e aplicações de Internet das coisas (IoT), como monitoramento de usinas elétricas e gerenciamento de tráfego, que dependem de fluxos de dados de sensores.

Edge

A implementação de edge refere-se à implementação de modelos de IA em dispositivos de edge, como smartphones e vestíveis. Esse método pode ser usado para aplicações de IA de edge, incluindo monitoramento de integridade, experiências móveis personalizadas, manutenção preditiva e roteamento preditivo em veículos autônomos.

AI Academy

Torne-se um especialista em IA

Adquira conhecimento para priorizar os investimentos em IA que estimulam o crescimento dos negócios. Comece a usar hoje mesmo a nossa AI Academy sem custo e lidere o futuro da IA na sua organização.

Implementação de modelos e MLOps

Operações de aprendizado de máquina (MLOps) é um conjunto de práticas projetadas para criar uma linha de montagem para implementar, monitorar, gerenciar e melhorar modelos de aprendizado de máquina em ambientes de produção. O MLOps se baseia nos princípios do DevOps (que se concentra em simplificar o desenvolvimento, o teste e a implementação de aplicações de software tradicionais) e os aplica ao ciclo de vida do aprendizado de máquina.

A implementação do modelo é apenas um componente do pipeline de MLOps. No entanto, algumas etapas do processo de implementação do modelo se sobrepõem às do MLOps.

Como funciona a implementação do modelo

A implementação de modelos pode variar de acordo com os sistemas de TI de uma organização e quaisquer procedimentos de DevOps ou MLOps já em vigor. Mas o processo normalmente engloba estas séries de etapas:

  1. Planejamento
  2. Configuração
  3. Empacotamento e implementação
  4. Teste
  5. Monitoramento
  6. Integração contínua e implementação contínua (CI/CD)

Planejamento

Antes mesmo de começar a implementação, as empresas devem se preparar para o processo. Veja como as empresas podem alcançar a prontidão técnica durante o estágio de planejamento:

  • Certifique-se de que o modelo de ML esteja em um estado pronto para produção.
  • Crie um registro do modelo para armazenar, rastrear e gerenciar versões do modelo.
  • Escolha um método de implementação.
  • Selecione o tipo de ambiente de implementação: no local, por meio de serviços de computação em nuvem ou dispositivos de edge.
  • Avalie a disponibilidade e suficiência de recursos computacionais, como CPUsGPUs, memória e armazenamento.

Este é também o momento de desenvolver um cronograma para implementação, definir as funções e responsabilidades dos envolvidos e criar diretrizes claras e fluxos de trabalho padronizados para o processo de implementação do modelo.

Configuração

Assim como o planejamento, a configuração é uma fase de várias etapas. Veja o que geralmente acontece durante esse estágio:

  • Todas as dependências necessárias, como frameworks e bibliotecas, estão instaladas.
  • As configurações do ambiente de produção são definidas para otimizar o desempenho do modelo.
  • Medidas de segurança, como controle de acesso, autenticação e criptografia, são estabelecidas para proteger dados e modelos.
  • As estratégias atuais de backup e recuperação de desastres são modificadas para incorporar modelos de ML e os dados e infraestrutura que os acompanham.

Documentar todos os procedimentos de configuração e definições de configuração é essencial para solucionar problemas e resolver problemas no futuro.

Empacotamento e implementação

O modelo e suas dependências são empacotados em um contêiner (uma técnica chamada conteinerização) para manter a consistência, independentemente do método e do ambiente de implementação escolhidos. O modelo empacotado é, então, carregado no ambiente de produção.

Teste

Testes completos são cruciais para validar se o modelo implementado funciona conforme o pretendido e é capaz de lidar com casos extremos e instâncias errôneas. Os testes incluem a verificação das previsões do modelo em relação às saídas esperadas, usando um conjunto de dados de amostra, e garantindo que o desempenho do modelo esteja alinhado com as principais métricas de avaliação e benchmarks.

Os testes de integração são outro componente necessário do pacote de testes. Esses testes verificam se o modelo se integra perfeitamente ao ambiente de produção e interage de forma harmoniosa com outros sistemas. Além disso, testes de estresse são realizados para observar como o modelo lida com altas cargas de trabalho.

Assim como na fase de configuração, é importante documentar quais testes foram realizados e seus resultados. Isso ajuda a identificar quaisquer melhorias que possam ser feitas antes de entregar ou liberar o modelo para os usuários.

Monitoramento

Manter o controle do desempenho do modelo, especialmente o desvio do modelo, é a tarefa crítica do monitoramento do modelo. Os insights obtidos com o monitoramento contínuo alimentam o retreinamento iterativo do modelo, em que os modelos são atualizados com algoritmos aprimorados ou novos dados de treinamento contendo amostras mais recentes e relevantes para refinar seu desempenho.

Métricas vitais, como taxas de erro, latência, utilização de recursos e rendimento, também devem ser registradas usando ferramentas de monitoramento. O monitoramento do modelo ocorre imediatamente após a implementação, mas geralmente cai no escopo do MLOps a longo prazo.

Integração contínua e implementação contínua (CI/CD)

As práticas combinadas de integração contínua e implementação contínua (conhecidas como CI/CD) podem automatizar e simplificar a implementação e o teste de modelos de ML. A implementação de pipelines de CI/CD ajuda a garantir que as atualizações e aprimoramentos do modelo possam ser aplicados de forma fácil e rápida, resultando em uma implementação mais eficiente e ciclos de entrega acelerados.

Plataformas e ferramentas de implementação de modelos

Uma variedade de plataformas e ferramentas está disponível para ajudar as empresas a acelerar os fluxos de trabalho de implementação de modelos. Antes de adotar essas tecnologias, as organizações devem avaliar a compatibilidade com sua stack de tecnologia existente e com o ecossistema de TI.

Controle de versão

Os sistemas de controle de versão e registros de modelo registram as versões do modelo e suas fontes de dados e metadados relacionados. As opções incluem Data Version Control (DVC), Git, GitLab e Weights & Biases.

Empacotamento

Docker é uma plataforma de código aberto amplamente utilizada para conteinerização. É compatível com provedores de serviços de nuvem como Amazon Web Services (AWS), Google Cloud, IBM® Cloud e Microsoft Azure. As alternativas incluem a interface de linha de comando (CLI) Buildah, Podman e Rancher Desktop.

Orquestração

Kubernetes é uma plataforma de orquestração de contêineres de código aberto bem-conhecida para agendar e automatizar a implementação de aplicação conteinerizadas. Kubernetes e Docker são normalmente usados em conjunto. Ferramentas de orquestração semelhantes incluem Red Hat OpenShift, Amazon Elastic Container Service (ECS) e soluções Kubernetes gerenciadas, como Azure Kubernetes Service (AKS) e IBM Cloud Kubernetes Service.

Implementação

Existem várias plataformas para implementar modelos. Por exemplo, o BentoML é uma plataforma baseada em Python para servir modelos de ML como endpoints de interface de programação de aplicativos (API) e até mesmo grandes modelos de linguagem (LLMs) como endpoints de API. O Kubeflow facilita a implementação de modelos no Kubernetes, enquanto o TensorFlow Serving é um sistema de serviço de código aberto para modelos do TensorFlow.

Enquanto isso, outras plataformas não apenas auxiliam na implementação de modelos, mas também gerenciam fluxos de trabalho de aprendizado de máquina. Isso inclui Amazon SageMaker, Azure aprendizado de máquina, Google Vertex IA Plataforma, IBM® Watson Studio e MLflow.

CI/CD

As ferramentas de CI/CD automatizam a implementação e os testes de modelos. Ferramentas comuns incluem Continuous Machine Learning (CML), GitHub Actions, GitLab CI/CD e Jenkins.

Desafios da implementação de modelos

Implementar modelos de deep learning envolve muitas partes móveis, o que pode torná-lo um esforço complicado. Aqui estão alguns desafios associados à implementação de modelos:

  • Custo
  • Complexidade
  • integração
  • Escalabilidade

Custo

A implementação do modelo pode ser cara, com os custos de infraestrutura e manutenção consumindo a maior parte do orçamento. As empresas devem estar preparadas para investir em infraestrutura robusta e recursos para uma implementação eficiente.

Complexidade

Automatizar a implementação do modelo pode ajudar a reduzir a complexidade, mas as equipes ainda devem entender os fundamentos do aprendizado de máquina e estar familiarizadas com as novas tecnologias para a implementação. Preencher essa lacuna requer treinamento e aprimoramento de habilidades. 

Integração

Integrar modelos de IA aos sistemas de TI atuais pode ser um desafio. Realizar uma avaliação detalhada pode ajudar as empresas a determinar se algum API, middleware ou upgrade é necessário para conexão e comunicação perfeitas entre modelos e outros sistemas.

Escalabilidade

Dimensionar os modelos de acordo com a demanda sem degradar o desempenho pode ser complicado. A implementação de mecanismos de auto-scaling e balanceamento de carga pode ajudar a suportar várias solicitações e cargas de trabalho variadas.

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real