Review do livro “The LLM Engineer’s Handbook”

The LLM Engineer's Handbook
The LLM Engineer's Handbook

Fiz mais um review, desta vez, do livro “The LLM Engineer’s Handbook” escrito por Paul Iusztin e Maxime Labonne e publicado pela Packt. A obra aborda um assunto que vem crescendo muito nos ultimos meses que é a Engenharia LLM para implementar, otimizar e implantar grandes modelos de linguagem em situações do mundo real. Tem como objetivo fornecer um guia abrangente para as melhores práticas neste campo, cobrindo de ponta a ponta o ciclo de vida de desenvolvimento de IA Generativa, passando desde a aquisição e preparação dos dados à implantação em produção.

Ele também destaca a importância do Machine Learning Operations (MLOps) para gerenciar a complexidade e a escala dos projetos LLM. Para minha surpresa positiva, o livro também fornece uma base inicial nos princípios de MLOps (no apêndice do livro).

O livro foi escrito com uma abordagem prática, desenvolvendo um projeto de ponta a ponta chamado LLM Twin, que é um aplicativo que imita o estilo de escrita e a personalidade de uma pessoa. Este projeto serve como um exemplo do mundo real ao longo do livro para solidificar os principais conceitos e técnicas estudados, além de ter o objetivo fornecer práticas e dicas de especialistas para cada estágio do ciclo de vida do LLM.

Review dos capítulos do livro

São 11 capítulos mais o apêndice, e aqui está um review do livro separado pelo que é abordado em cada capítulo:

  • O Capítulo 1 apresenta o projeto LLM Twin e primeiramente define a arquitetura FTI (Feature, Train, Inference) para construir sistemas ML escaláveis.
  • O Capítulo 2 apresenta as ferramentas essenciais para construir aplicativos LLM. Inclui Python, ferramentas MLOps e recursos de nuvem (mas até nos orienta a instalá-los localmente para teste e desenvolvimento).
  • O Capítulo 3 se concentra na engenharia de dados, embora ensine como implementar um pipeline de coleta de dados de várias fontes. Ele destaca a importância de coletar dados dinâmicos do mundo real.
  • O Capítulo 4 apresenta os fundamentos da Retrieval-Augmented Generation (RAG), incluindo embeddings, bancos de dados vetoriais e estratégias de otimização.
  • O Capítulo 5 explora de fato o ajuste fino supervisionado, abrangendo a criação de conjuntos de dados de alta qualidade e técnicas de ajuste fino, como ajuste fino completo, LoRA e QLoRA. Ele também inclui uma demonstração prática usando um modelo Llama 3.1 8B.
  • O Capítulo 6 se aprofunda no ajuste fino com alinhamento de preferências, focando especificamente na Otimização de Preferência Direta (DPO). Ele inclui como criar conjuntos de dados de preferências personalizados e uma demonstração prática do alinhamento do modelo TwinLlama-3.1-8B.
  • O Capítulo 7 detalha vários métodos para avaliar o desempenho do LLM, abrangendo avaliações de uso geral e específicas de domínio. Mas também demonstra uma avaliação do modelo Llama 3.1 8B ajustado.
  • O Capítulo 8 abrange estratégias de otimização de inferência, como decodificação especulativa, paralelismo de modelo e quantização de peso para melhorar a velocidade e reduzir a latência.
  • O Capítulo 9 explora técnicas avançadas de RAG implementando métodos como, por exemplo, autoconsulta, reclassificação e pesquisa vetorial filtrada.
  • O Capítulo 10 apresenta estratégias de implantação de ML, incluindo inferência online, assíncrona e em lote. Embora também mostra como implantar o modelo no Sagemaker, construir um microsserviço FastAPI para expor o pipeline de inferência do RAG.
  • O Capítulo 11 explica o LLMOps, começando com suas raízes no DevOps e MLOps, incluindo como implantar o projeto LLM Twin na nuvem. Embora também explique como conteinerizar o código usando o Docker e construir um pipeline de CI/CD/CT (Integração, Implantação e Treinamento Contínuos), além do mais, também ensina como adicionar uma camada de monitoramento rápido ao pipeline.

Minhas impressões

Se você estudar seriamente, ao final do livro, de fato entenderá como coletar e preparar dados para LLMs, ajustar modelos, otimizar inferência e implementar pipelines RAG. Mas também aprenderá como avaliar desempenho, alinhar modelos com preferências humanas e implantar aplicativos baseados em LLM. Mesmo eu considerando que é util ter o básico de Python, o livro explica conceitos do zero, fazendo a leitura ser acessível para todos, inclusive os que são novos em IA e machine learning.

Não posso deixar de mencionar que a qualidade da produção é realmente bonita e útil. As imagens coloridas nos ajudam a entender melhor os diagramas e o design da arquitetura.

A versão digital do livro está na Amazon por volta de 250 reais reais: https://amzn.to/4a16Deg. Já na Packt você consegue por menos de 10 dólares: https://www.packtpub.com/en-us/product/llm-engineers-handbook-9781836200062

Bons estudos!

Sobre Diego Nogare 355 Artigos
Diego Nogare é Gerente Técnico de Engenharia de Machine Learning no Itaú-Unibanco. Também é professor em programas de pós graduação no Mackenzie e na FIAP, em São Paulo. Foi nomeado como Microsoft MVP por 11 anos seguidos, e hoje faz parte do programa Microsoft Regional Director.