O que é um pipeline de aprendizado de máquina?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

O que é um pipeline de ML?

Um pipeline de aprendizado de máquina (pipeline de ML) é o processo sistemático de projetar, desenvolver e implementar um modelo de aprendizado de máquina . Os pipelines ou fluxos de trabalho de ML seguem uma série de etapas que orientam os desenvolvedores e os líderes de negócios para o desenvolvimento de modelos mais eficientes.

O pipeline de aprendizado de máquina de ponta a ponta compreende três estágios: 

  1. Processamento de dados: os cientistas de dados montam e preparam os dados que serão usados para treinar o modelo de ML. As fases deste estágio incluem coleta, pré-processamento, limpeza e exploração de dados. 

  2. Desenvolvimento de modelos: os profissionais de dados escolhem ou criam um algoritmo de aprendizado de máquina que atenda às necessidades do projeto. O algoritmo é treinado com os dados da etapa anterior e o modelo resultante é testado e validado até estar pronto para uso. 

  3. Implementação do modelo: desenvolvedores e engenheiros de software implementam o modelo para uso no mundo real, integrando-o a um ambiente de produção e monitorando seu desempenho. 

Os fluxos de trabalho de aprendizado de máquina são um bloco de construção central para a disciplina maior de operações de aprendizado de máquina (MLOps). Grande parte do processo pode ser automatizada por meio de várias técnicas de aprendizado de máquina automatizado (AutoML), que gerenciam dependências entre estágios e endpoints. 

Qual é a diferença entre um pipeline de dados e um pipeline de ML? 

Um pipeline de dados é uma arquitetura projetada e construída por cientistas de dados que coleta dados de diferentes fontes, armazena e os organiza em um repositório centralizado de dados, como um data warehouse. Um pipeline de aprendizado de máquina é um fluxo de trabalho para projetar, criar e implementar um sistema de IA. 

Ambas as frases usam o termo pipeline, mas enquanto um pipeline de dados é mais um sistema tangível, um pipeline de ML é uma série teórica de etapas. Um pipeline de ETL é um exemplo de um pipeline de dados que extrai dados de várias fontes, transforma-os em um formato unificado e os carrega em um sistema de destino. No aprendizado de máquina, um pipeline de ETL coletaria dados e os formataria em um conjunto de dados de treinamento.

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.

Estágio 0: início do projeto

Antes de inicializar um fluxo de trabalho de ML, os líderes de negócios, desenvolvedores e outros stakeholders concordam com os objetivos de um projeto de aprendizado de máquina. Entender por que a IA é necessária e o que ela pretende realizar mantém as expectativas realistas e alinha os stakeholders em torno de um propósito compartilhado.

    Qual é o objetivo?

    Quando decidir se incorporar a IA a um fluxo de trabalho ou produto, os stakeholders devem primeiro identificar o objetivo de negócios que o modelo de ML pretende resolver e, em seguida, demonstrar como a IA pode alcançá-lo. Algumas empresas abordam a IA com esta lógica invertida: “Queremos usar IA. O que devemos fazer com ela?” 

    Para maximizar o retorno sobre o investimento (ROI) da IA, os líderes precisam entender o caso de uso e, em seguida, trabalhar em direção a uma solução de ML adaptada a esse propósito.

    Como é o sucesso?

    Métricas claras para o sucesso, como KPIs (principais indicadores de desempenho) documentados, informam aos stakeholders se o projeto de ML está cumprindo suas metas. Esses KPIs devem refletir as metas estabelecidas na etapa anterior. Por exemplo, um modelo de ML que está sendo implementado para aumentar a eficiência pode buscar priorizar o ROI.

    O que está no caminho?

    Conhecer o cenário de riscos e os possíveis empecilhos ajuda as equipes a navegar o projeto de forma eficaz. Essa etapa inclui a definição dos requisitos de dados e a avaliação das regulamentações relevantes, se houver, para coleta e armazenamento de dados. O mesmo se aplica a quaisquer limitações que possam afetar a seleção de modelos, como requisitos de computação ou memória.

    Mixture of Experts | 12 de dezembro, episódio 85

    Decodificando a IA: resumo semanal das notícias

    Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

    Estágio 1: processamento de dados

    Depois de definir o escopo do problema que o modelo de ML deve resolver, a primeira etapa em um fluxo de trabalho de ML é coletar, preparar e analisar os dados. Os profissionais devem identificar fontes de dados relevantes, reunir e integrar dados delas, preparar e limpar os dados, empregando técnicas de ciência de dados, incluindo engenharia de funcionalidades para chegar a um conjunto de dados preparado. 

    O estágio de processamento de dados é geralmente o mais demorado. Porém, o desempenho do modelo de ML depende de bons dados. Quaisquer erros e omissões na fase de engenharia de dados afetam negativamente o desempenho do modelo em todo o seu ciclo de vida. As estratégias de automação de dados podem reduzir o tempo e o esforço humano necessários para produzir conjuntos de dados de treinamento fortes. 

    O processamento de dados inclui: 

    • Ingestão de dados 

    • Pré-processamento de dados

    • Exploração de dados 

    • Engenharia de funcionalidades 

    • Divisão de dados 

      Ingestão de dados

      A ingestão de dados é a coleta e importação de dados de fontes de dados díspares para um repositório centralizado de dados por meio de um pipeline de dados. Os cientistas de dados devem identificar fontes de dados apropriadas, como Armazenamento de dados corporativos proprietários armazenados internamente — relatórios de vendas, dados demográficos de clientes e outros conhecimentos organizacionais. 

      Às vezes, dados externos também são necessários. As fontes de dados externas podem incluir conexões de API com provedores de dados, dados extraídos da internet ou dados sintéticos. Como novos dados estão sempre sendo criados, a ingestão de dados geralmente é um processo contínuo.

      Pré-processamento de dados

      O pré-processamento de dados, ou a preparação de dados, transforma os dados brutos da etapa anterior em dados limpos, prontos para análise. Depois de entender os dados de treinamento por meio da análise exploratória de dados (EDA), os cientistas de dados selecionam estratégias de pré-processamento de dados. As etapas de pré-processamento de dados incluem: 

      • Identifique missing values e lide com valores discrepantes

      • Normalização de dados: padronização do conjunto de dados

      • Eliminação de ruído: remoção de erros aleatórios e interferências de sinal 

      Exploração de dados

      A exploração de dados é o processo de avaliar dados para entender as informações que eles contêm. A EDA visa aprender as características dos dados, descobrir padrões e relacionamentos e identificar insights com a ajuda de ferramentas de visualização de dados

      As descobertas da EDA informam as escolhas de seleção de modelos que ocorrem em seguida.

      Engenharia de variáveis

      A seleção de funcionalidades é uma etapa crítica de pré-processamento de dados que envolve a identificação das funcionalidades mais relevantes, ou características dos pontos de dados. As funcionalidades de dados são extraídas e selecionadas para dar ao modelo a melhor chance possível de resolver desafios do mundo real. 

      Concentrar-se nas funcionalidades erradas pode resultar em um modelo que não funciona conforme o esperado. Após aplicar técnicas de extração de funcionalidades para simplificar os dados, os cientistas de dados escolhem as funcionalidades que levarão às previsões mais sólidas do modelo.

      Estágio 2: desenvolvimento do modelo

      Depois que os dados de treinamento forem preparados, a próxima etapa no fluxo de trabalho de ML é criar o modelo de aprendizado de máquina. O processo de criação de um modelo de deep learning envolve a seleção de um algoritmo de aprendizado de máquina apropriado e sua exposição aos conjuntos de dados de treinamento. O resultado desse processo é a criação de um modelo de IA pronto para uso no mundo real, com dados semelhantes invisíveis. 

      O processo de desenvolvimento de modelos envolve: 

      • Seleção de modelos 

      • Ajuste de hiperparâmetros 

      • Treinamento de modelo

      • Avaliação de modelos

      Seleção de modelos

      A seleção de modelos é o processo de escolha do tipo de modelo que tem maior probabilidade de fornecer o melhor desempenho no caso de uso pretendido. Os estágios iniciais de planejamento do projeto já proporcionaram a todos os stakeholders e participantes uma compreensão clara das necessidades de negócios, das limitações e dos objetivos do projeto. Os profissionais de ML baseiam suas escolhas nesses fatores, equilibrando otimização com viabilidade. 

      As opções incluem regressão linear e regressão logística, florestas aleatórias e árvores de decisão, redes neurais e grandes modelos de linguagem (LLMs), máquinas de vetores de suporte (SVMs), modelos em conjunto, sistemas agênticos e muitas outras. 

      Dependendo da natureza do desafio do aprendizado de máquina, certos tipos de algoritmos são candidatos mais adequados. 

      Por exemplo, as redes neurais podem lidar com desafios complexos de IA generativa, mas têm altos custos de computação e são mais propensas ao overfitting. Os modelos de regressão são eficientes em termos de computação, mas têm casos de uso limitados.

      Ajuste de hiperparâmetross

      Os hiperparâmetros do modelo são variáveis externas que controlam o comportamento do modelo durante o treinamento. Os hiperparâmetros também controlam a forma do modelo que o algoritmo constrói, como o número de neurônios e camadas em uma rede neural. 

      O ajuste de hiperparâmetros é o processo de otimização dos hiperparâmetros para que o processo de treinamento produza um modelo de melhor desempenho. Cientistas de dados podem definir hiperparâmetros manualmente, mas geralmente automatizam o processo por meio de vários algoritmos e outras técnicas.

      Treinamento de modelo

      Treinamento do modelo é o processo de otimização do desempenho de um modelo com conjuntos de dados semelhantes à entrada que o modelo processa uma vez implementado. Um pipeline de treinamento de aprendizado de máquina é um sistema extenso que pode assumir qualquer número de formas, dependendo do algoritmo e da tarefa para a qual o modelo está sendo desenvolvido. 

      Muitos métodos de treinamento giram em torno da minimização de uma função de perda que mede o erro do modelo: a lacuna entre as saídas do modelo e os valores dos dados do mundo real. A cada rodada de treinamento, o novo modelo atualiza seus parâmetros à medida que se adapta aos dados de treinamento. Cada atualização se baseia nos resultados anteriores. 

      Os métodos de treinamento de modelos incluem: 

      • Aprendizado supervisionado: o modelo é treinado em um conjunto de dados estruturados. As entradas são rotuladas com as saídas correspondentes, ensinando ao modelo como associar as funcionalidades de entrada com os valores de saída corretos. 

      • Aprendizado não supervisionado: o modelo é treinado com dados não estruturados e deve discernir os padrões e relações entre pontos de dados e funcionalidades por conta própria. 

      • Aprendizado autossupervisionado: o modelo é treinado com dados não rotulados para tarefas que geralmente exigem aprendizado supervisionado. 

      • Aprendizado por reforço: o modelo é treinado para adotar as ações que geram a maior recompensa possível, em vez de minimizar o erro. 

      • Aprendizado contínuo: o modelo é treinado em um fluxo em tempo real de dados de entrada, em vez de um conjunto de dados de treinamento pré-montado.

      Avaliação de modelos

      Após o modelo ser considerado treinado (por exemplo, quando sua função de perda tiver sido suficientemente minimizada), seu desempenho será avaliado antes da implementação. O processo de avaliação do LLM utiliza os conjuntos de dados de teste e validação que foram preparados durante a fase de divisão de dados.

      Validação

      A validação estima o erro de previsão do modelo: o quanto ele é bom em fazer as previsões corretas? Durante o treinamento, o algoritmo de aprendizado de máquina frequentemente produz vários modelos com várias configurações de hiperparâmetros. A validação identifica o modelo com a configuração ideal de hiperparâmetros.

      Teste

      Os testes simulam valores do mundo real para avaliar o erro de generalização do modelo com melhor desempenho: quão bem o modelo se adapta a novos dados não vistos? Os dados de teste são independentes dos dados de treinamento e medem o desempenho do modelo em relação a benchmarks após a conclusão do treinamento. Os testes revelam se o modelo irá funcionar conforme o esperado após a implementação.

      Estágio 3: implementação do modelo

      Depois de desenvolver um modelo adequado com um forte desempenho, é hora de colocar esse modelo para funcionar. A implementação do modelo disponibiliza o modelo para os usuários no ambiente de produção pretendido. Pode ser qualquer coisa, desde um aplicativo móvel ou conexão de API até um desenvolvimento farmacêutico ou instalação de pesquisa de robótica. 

      Os modelos não começam a funcionar até que estejam ativamente implementados. Obter resultados sólidos de um projeto de aprendizado de máquina significa que o modelo deve ser implementado de uma maneira que facilite o uso, seja por consumidores, líderes de negócios ou outros sistemas de computador. 

      A implementação do modelo inclui: 

      • Serialização do modelo 

      • Integração 

      • Arquitetura 

      • Monitoramento 

      • Atualizações 

      • Conformidade

      Serialização do modelo 

      Serialização é um método de implementação comum que envolve converter um modelo em um formato que possa ser armazenado e transmitido e, em seguida, desserializá-lo no ambiente de produção. É como colocar um quarto cheio de pertences em uma caixa, mudar a caixa para uma nova casa e, depois, desempacotar para montar o novo quarto. 

      Por exemplo, o Python, uma linguagem de programação popular no desenvolvimento de ML, recomenda o framework pickle para implementação.

      Integração

      A integração incorpora o modelo em seu ambiente de produção, como um aplicativo móvel. Os modelos podem ser atendidos por meio de provedores de computação em nuvem, como AWS ou Azure, ou hospedados no local. Como alternativa, pode ser melhor usar uma solução conteinerizada, como Kubernetes e Docker. 

      Dependendo de como o modelo será servido, os desenvolvedores precisam tornar o modelo acessível com as bibliotecas e frameworks de aprendizado de máquina apropriados, como o PyTorch ou o TensorFlow Serving.

      Arquitetura

      Portabilidade e escalabilidade são duas principais preocupações a serem consideradas durante a implementação de ML. 

      • Portabilidade é a facilidade com que o modelo pode ser transferido entre sistemas. 

      • Escalabilidade é a capacidade do modelo de lidar com cargas de trabalho crescentes, como uma base de usuários crescente, sem precisar ser reprojetado. 

      O ambiente de produção do modelo deve ser capaz de ser compatível com o crescimento projetado do projeto de aprendizado de máquina. As ferramentas de auto-scaling e orquestração podem ajudar a lidar com o aumento da demanda com o passar do tempo.

      Monitoramento

      O fluxo de trabalho de ML não está concluído depois que o modelo é implementado. O desempenho do modelo deve ser monitorado ao longo do ciclo de vida da IA para evitar o desvio do modelo: quando o desempenho sofre devido às mudanças na distribuição dos dados. Muitas outras métricas dizem respeito à capacidade do modelo de gerar e processar tokens: uma única unidade de entrada ou saída. Algumas dessas métricas incluem: 

      • Tempo por token de saída (TPOT)/latência entre tokens (ITL): o tempo que leva para o modelo gerar um token. 

      • Tempo até o primeiro token (TTFT): o tempo que leva para um modelo gerar o primeiro token de sua resposta. 

      • Rendimento: uma medida da capacidade geral de geração de tokens do modelo, medida em tokens por segundo (TPS). 

      • Latência: a quantidade de tempo que leva para o modelo gerar uma saída completa após receber uma entrada do usuário.

      Atualizações

      A menos que um modelo esteja sendo treinado com aprendizado contínuo, seu conjunto de dados de treinamento é finito. O ponto de corte de conhecimento de um modelo refere-se à última data em que sua base de conhecimento foi atualizada com novos dados. Com o tempo, um modelo se torna menos relevante à medida que as informações na base de conhecimento ficam mais desatualizadas. 

      Os modelos devem ser atualizados regularmente para mitigar o desvio do modelo e manter as taxas de erro em um mínimo aceitável. Novos dados, novas funcionalidades e atualizações algorítmicas podem otimizar o desempenho do modelo. O retreinamento também pode ajudar os modelos a permanecerem atualizados.

      Conformidade

      No que diz respeito à coleta de dados, os operadores de modelos devem considerar todas as regulamentações e requisitos legais relevantes em relação a privacidade, propriedade intelectual, direitos autorais e outras questões. Por exemplo, a HIPAA protege os dados médicos nos EUA, enquanto o GDPR fornece proteções de dados específicas para pessoas na União Europeia. 

      Modelos criados para uso em setores regulamentados, como farmacêutico e financeiro, também podem estar sujeitos a controles operacionais mais rigorosos. Quaisquer modelos usados em um ambiente corporativo provavelmente processam dados internos confidenciais, exigindo fortes medidas de cibersegurança

      Os operadores de modelos são obrigados a proteger os dados do usuário e evitar que seus modelos sejam usados para fins maliciosos, como fraude e desinformação. Uma vantagem dos modelos de código aberto é que qualquer pessoa pode avaliar o modelo para ver como ele funciona e se está cumprindo todas as regulamentações relevantes.

      Benefícios do fluxo de trabalho de aprendizado de máquina

      Os pipelines de aprendizado de máquina oferecem muitos benefícios, como: 

      • Modularização 

      • Capacidade de reprodução

      • Eficiência 

      • Escalabilidade

      • Experimentação 

      • Implementação 

      • Colaboração 

      • Controle de versão e documentação

      Modularização

      Os pipelines dividem o processo de aprendizado de máquina em etapas modulares e bem definidas. Cada etapa pode ser desenvolvida, testada e otimizada de forma independente, facilitando a gestão e a manutenção do fluxo de trabalho.

      Reprodutibilidade

      Os pipelines de aprendizado de máquina facilitam a reprodução de experimentos. Definir a sequência de etapas e seus parâmetros em um pipeline ajuda a garantir resultados consistentes. Se uma etapa falhar ou o desempenho de um modelo se deteriorar, o pipeline pode ser configurado para emitir alertas ou adotar ações corretivas.

      Eficiência

      Os pipelines automatizam muitas tarefas de rotina, como pré-processamento de dados, engenharia de funcionalidades e avaliação de modelos. Essa eficiência pode economizar tempo e reduzir os erros.

      Escalabilidade

      Os pipelines podem ser escalados para lidar com grandes conjuntos de dados ou fluxos de trabalho complexos. Conforme os dados e a complexidade do modelo aumentam, você pode ajustar o pipeline sem ter que reconfigurar tudo a partir do zero.

      Experimentação

      A modificação de etapas individuais dentro do pipeline abre a porta para a experimentação com diferentes técnicas de pré-processamento de dados, seleções de funcionalidades e modelos. Essa flexibilidade permite iteração e otimização rápidas.

      Implementação

      Os pipelines facilitam a implementação dos modelos de aprendizado de máquina em produção. Um pipeline bem definido para treinamento e avaliação de modelos facilita a implementação em uma aplicação ou sistema.

      Colaboração

      Os pipelines permitem que equipes de cientistas de dados e engenheiros colaborem. Como o fluxo de trabalho é estruturado e documentado, fica mais fácil para os membros da equipe entender e contribuir para o projeto.

      Controle de versão e documentação

      Os sistemas de controle de versão rastreiam alterações no código e nas configurações do pipeline, permitindo a reversão para versões anteriores. Um pipeline bem estruturado incentiva uma melhor documentação de cada etapa.

      A história dos pipelines de aprendizado de máquina

      A história dos pipelines de aprendizado de máquina está intimamente ligada à evolução tanto do aprendizado de máquina quanto da ciência de dados como áreas do conhecimento. Embora o conceito de fluxos de trabalho de processamento de dados seja anterior ao aprendizado de máquina, a formalização e o uso generalizado de pipelines de aprendizado de máquina se desenvolveram mais recentemente. 

      A história dos pipelines de aprendizado de máquina inclui os seguintes desenvolvimentos: 

      • Primeiros fluxos de trabalho de processamento de dados (pré-2000) 

      • Surgimento do aprendizado de máquina (década de 2000) 

      • Ascensão da ciência de dados (final da década de 2000 ao início da década de 2010) 

      • Desenvolvimento de bibliotecas e ferramentas de aprendizado de máquina (década de 2010) 

      • Ascensão do AutoML (2010s) 

      • Integração com DevOps (década de 2010) 

      Primeiros fluxos de trabalho de processamento de dados (pré-2000)

      Antes da adoção generalizada do aprendizado de máquina, os fluxos de trabalho de processamento de dados eram usados para tarefas como limpeza, transformação e análise de dados. Esses fluxos de trabalho eram normalmente manuais e envolviam scripts ou ferramentas como softwares de planilhas. No entanto, durante esse período, o aprendizado de máquina não era uma parte central desses processos.

      Surgimento do aprendizado de máquina (década de 2000)

      O aprendizado de máquina ganhou destaque no início da década de 2000, com avanços em algoritmos, poder computacional e disponibilidade de grandes conjuntos de dados. Pesquisadores e cientistas de dados começaram a aplicar o aprendizado de máquina a diversos domínios, levando a uma crescente necessidade de fluxos de trabalho sistemáticos e automatizados.

      Ascensão da ciência de dados (final da década de 2000 ao início da década de 2010)

      O termo ciência de dados tornou-se popular como um campo multidisciplinar que combinava estatística, análise de dados e aprendizado de máquina. Nessa época, houve a formalização dos fluxos de trabalho de ciência de dados, incluindo pré-processamento de dados, seleção e avaliação de modelos, que agora são partes integrantes dos pipelines de aprendizado de máquina.

      Desenvolvimento de bibliotecas e ferramentas de aprendizado de máquina (década de 2010)

      A década de 2010 trouxe o desenvolvimento de bibliotecas e ferramentas de aprendizado de máquina que facilitaram a criação de pipelines. Bibliotecas como scikit-learn (para Python) e caret (para R) forneceram APIs padronizadas para desenvolver e avaliar modelos de aprendizado de máquina, facilitando a criação de pipelines.

      Ascensão do AutoML (década de 2010)

      Ferramentas e plataformas de aprendizado de máquina automatizado (AutoML) surgiram para automatizar o processo de criação de pipelines de aprendizado de máquina. Essas ferramentas normalmente automatizam tarefas como ajuste de hiperparâmetros, seleção de funcionalidades e seleção do modelo, tornando o aprendizado de máquina mais acessível para usuários não especialistas, com visualizações e tutoriais.

      Integração com DevOps (década de 2010)

      As práticas deDevOps começaram a incorporar pipelines de aprendizado de máquina para permitir a integração e implementação contínuas ( CI/CD) de modelos de aprendizado de máquina. Essa integração, conhecida como operações de aprendizado de máquina (MLOps), destacou a necessidade de reprodutibilidade, controle de versão e monitoramento em pipelines de ML. 

      O MLOps ajuda as equipes de ciência de dados a navegar com eficácia pelos desafios complexos de orquestração de IA. Na implementação em tempo real, o pipeline responde a uma solicitação em milissegundos.

      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