Sobre o projeto

Made With ML é um repositório educacional e curso complementar focado na construção de aplicações de machine learning de nível de produção. Ele combina machine learning com práticas de engenharia de software, guiando os aprendizes da experimentação até a implantação e iteração. O material está organizado como lições hospedadas em madewithml.com, com o código neste repositório. Ele enfatiza o entendimento de primeiros princípios dos conceitos de ML, boas práticas de engenharia de software, escalonamento de cargas de trabalho de ML em Python, conexão de componentes MLOps, transição do desenvolvimento para a produção e construção de fluxos de trabalho CI/CD. O público-alvo inclui engenheiros de software e infraestrutura, cientistas de dados, graduados universitários e cargos de produto ou liderança que buscam uma base técnica. As instruções de instalação abrangem máquinas locais, workspaces da Anyscale e outras opções de nuvem, Kubernetes ou on-prem. Um notebook Jupyter fornece um passo a passo interativo das cargas de trabalho essenciais de ML, enquanto scripts Python refatorados sob madewithml/ abrangem configuração, dados, avaliação, modelos, predição, serving, treinamento, ajuste e utilitários. Os fluxos de trabalho incluem treinamento e ajuste de hiperparâmetros com workers e recursos configuráveis, rastreamento de experimentos via MLflow, avaliação contra um conjunto de dados de retenção, inferência e serving de modelo. Os testes abrangem código, dados e modelo com relatório de cobertura. A implantação em produção usa Jobs e Services da Anyscale, com arquivos de configuração de ambiente de cluster e computação, configuração de autenticação e comandos de rollout, consulta, rollback e término do serviço. O CI/CD é implementado com GitHub Actions: pull requests disparam fluxos de trabalho de treinamento e avaliação que postam resultados como comentários, e o merge para main dispara um fluxo de trabalho de serve que lança o novo serviço. O repositório também discute aprendizado contínuo, conexão de execuções agendadas, pipelines de dados, monitoramento e avaliação online. Uma FAQ aborda a configuração do kernel do notebook Jupyter. O projeto é distribuído como código aberto e conteúdo de curso, com uma comunidade de dezenas de milhares de desenvolvedores mencionada no README.