Review do livro “Machine Learning Engineering with Python – 2nd Edition“, que foi escrito por Andrew P. McMahon e publicado pela Packt Pub. Neste livro você aprenderá sobre MLOps e como trabalhar de forma efetiva com o ciclo de vida de modelos de Machine Learning.
O livro e seus capítulos
Quero compartilhar minhas impressões, mas já destaco que é uma leitura completa para entusiastas de MLOps e EngML. Para evitar dúvidas quanto à terminologia, escrevi sobre a diferença destes termos aqui neste post.
Com uma abordagem direta, o livro ensina de forma prática como gerenciar o ciclo de vida de modelos de aprendizado de máquina usando técnicas de MLOps. O livro é organizado em 9 capítulos e aborda conceitos técnicos, padrões de implementação com boas práticas e metodologias de desenvolvimento de modelos.
Vamos aos capítulos…
Cap 1 – Introdução à Machine Learning Engineering
Este capítulo discuti um pouco sobre as carreiras e disciplinas de Ciência de Dados, Engenharia de Dados, Engeharia de ML e Engenharia de MLOps. Discute sobre trabalhar de forma efetiva com um time multidisciplinar, além de apresentar desafios do mundo real e compartilha padrões de desenvolvimento e boas práticas para serem seguidas;
Cap 2 – Processo de desenvolvimento de Machine Learning
Aqui passa um pouco sobre o CRISP-DM (Cross Industry Standard Process for Data Mining), além de ajudar a montar o setup necessário para desenvolver soluções de EngML com Python;
Cap 3 – Do modelo para a Fábrica de Modelos
Aborda as etapas necessárias para construir as pipelines de desenvolvimento, aprofundando em cada estágio apresentado. Explica as fases de definição dos ambientes, escolha e definição das variáveis, treino e retreino do modelo, persistência e serving (ainda não consegui usar um termo em Português mais apropriado do que o termo original em Inglês para o Serving) do modelo;
Cap 4 – Empacotando a aplicação (prefiro o termo original “Packaging”, mas empacotamento funciona aqui)
Aqui o autor dedica bastante tempo para trabalhar com boas práticas de Python e como isso pode lhe ajudar a desenvolver suas pipelines mais otimizadas;
Cap 5 – Publicando padrões e ferramentas
São discutidas boas práticas e padrões de projetos para desenvolvimento de projetos de Machine Learning, deem uma atenção especial à este capítulo. O texto cobre assuntos como microsserviços, containerização, mas também discute ferramentas de mercado como Airflow, ZenML e Kubeflow. O capítulo é concluído com uma discussão estratégica para a publicação do seu projeto;
Cap 6 – Escalando a aplicação
Também é um assunto importante, porque escalabilidade reflete diretamente no quanto seu ambiente atenderá os clientes e também o quanto isso vai custar no fim do mês. Neste capítulo são discutidos tópicos sobre desenho de soluções e alternativas de cloud computing para atender a demanda do projeto, mas sem gastar uma fortuna;
Cap 7 – Deep Learning, Generative AI e LLMOps
Posso estar sendo muito injusto, mas aqui eu arrisco dizer que este capítulo entrou no livro por questões de timing. Até novembro/2022 quando a OpenAI lançou o ChatGPT, eram poucos projetos que se mostravam relevantes para esse tipo de tecnologia. Porém, após o lançamento do ChatGPT e a facilidade de uso para o publico fora do nicho de LLM, a busca por este tema cresceu muito. Inclusive, estes assuntos de Generative AI estão no Hype não só nas publicações de redes sociais, mas também em discussões estratégicas em empresas e congressos científicos.
É apresentado uma introdução à Deep Learning com PyTorch e fine-tuning. Em seguida introduz o assunto de LLM (Large Language Model) e finaliza o capítulo com a explicação de como funciona uma pipeline de LLM Operation.
Cap 8 – Construindo um modelo com Microsserviços e 9 – Construindo um caso de uso de ETML
Aqui tomei a liberdade de juntar os dois capítulos que, na minha interpretação, seguem um propósito muito parecidos. No capítulo 8 é discutido como construir sua solução a partir de peças e arquitetura de microsserviços, mas no capítulo 9 são discutidas as tarefas para se fazer no ETML (Extract, Tranform and Machine Learning).
Confesso que foi aqui primeira vez que li sobre o assunto com o nome de ETML.
O porque eu juntei os dois capítulos? Porque os dois tratam de casos de uso, no capítulo 8 é um estudo de Forecasting, mas no capítulo 9 é um estudo de Processamento Batch.
Minha opinião
Na minha opinião é um material útil para aprender ou aprimorar suas habilidades em EngML com Python. O livro oferece uma visão geral, porém prática e aplicada, de como criar soluções robustas e escaláveis com ML usando ferramentas e técnicas modernas, incluindo soluções Open Source e também de Cloud Computing.
No geral recomendo a leitura para quem se interessa pelo assunto, a versão digital está na Amazon por um pouco mais de 200 reais enquanto escrevo esse texto. Para mim, os capítulos que discutem arquitetura, boas práticas e padrões de projetos são os que me chamaram mais atenção.
No site da Packt Pub, o livro digital está em promoção por apenas 10USD, aproveite enquanto está disponível nessa promoção: https://www.packtpub.com/product/machine-learning-engineering-with-python-second-edition/9781837631964
MLOps – Ciclo de vida de modelos
No Github da editora você pode acompanhar os códigos do livro e criar seus projetos envolvendo o ciclo de vida de modelos.
Bons estudos!
2024 e eu ainda não me adaptei com eBooks, só consigo ler livros físicos… vai entender!