MLOps - Componentes e Artefatos

14 Mar 2023

Componentes no Processo de Machine Learning

Os componentes são elementos essenciais que compõem todo o pipeline de desenvolvimento de um projeto de Machine Learning, desde a coleta de dados até a implantação e monitoramento do modelo. Eles devem ser independentes, reutilizáveis e partes modulares de um software, recebendo uma ou mais entradas e produzindo uma ou mais saídas. Esses componentes podem ser scripts, notebooks ou outros executáveis. Dentre os exemplos, destacam-se os próprios códigos modularizados, originados dos notebooks, que se tornam os componentes da pipeline:

  1. Coleta de dados
  2. Pré-Processamento de dados
  3. Engenharia de recursos
  4. Treinamento do modelo
  5. Avaliação do modelo

Artefatos no Processo de Machine Learning

Os artefatos de Machine Learning são todos os elementos que fazem parte do processo de criação e implantação de modelos de Machine Learning, como, por exemplo, os produtos dos componentes. Eles são essenciais para garantir a reprodutibilidade, colaboração e rastreabilidade de projetos de Machine Learning. Alguns artefatos importantes incluem:

  1. Modelos treinados
  2. Dados de treinamento
  3. Código
  4. Configurações de hiperparâmetros
  5. Métricas de desempenho
  6. Arquivos de configuração

Além desses artefatos, que seriam da construção da própria pipeline do modelo, existem artefatos como arquivos contendo classes que definem o tipo dos dados que cada etapa do modelo vai receber. Essas classes, muitas vezes chamadas de esquema de dados ou schemas, têm a finalidade de descrever a estrutura e os tipos de dados que serão usados no projeto:

from dataclasses import dataclass

@dataclass
class Student:
  name: str
  age: int
  grade: float

@dataclass
class Teacher:
  name: str
  subject: str
  experience_years: int

Esses artefatos desempenham um papel fundamental no ciclo de vida de um projeto de Machine Learning, permitindo que os desenvolvedores e cientistas de dados trabalhem de forma eficaz e mantenham um controle preciso do processo de desenvolvimento do modelo.

Conclusão

Em um projeto de Machine Learning, componentes e artefatos desempenham um papel fundamental para uma gestão eficaz do modelo. Organiza-los, rastreá-los e gerenciá-los é um investmento valioso que leva a modelos mais robustos e uma implementação mais suave em ambientes de produçào.