Esta é uma coleção aberta de metodologias, ferramentas e instruções passo a passo para ajudar no treinamento bem-sucedido de grandes modelos de idiomas e modelos multimodais e sua inferência.
Este é um material técnico adequado para engenheiros e operadores de treinamento da LLM/VLM. Esse é o conteúdo aqui contém muitos scripts e comandos de copiar-n-colas para permitir que você atenda rapidamente às suas necessidades.
Este repositório é um depósito cerebral em andamento das minhas experiências treinando grandes modelos de idiomas (LLM) (e VLMs); Muito do know-how que adquiri ao treinar o modelo Bloom-176b de código aberto em 2022 e o modelo multimodal IDEFICS-80B em 2023 e modelos de RAG em contextual.ai em 2024.
Eu tenho compilado essas informações principalmente para mim para poder encontrar rapidamente soluções que já pesquisei no passado e que funcionaram, mas, como sempre, fico feliz em compartilhar essas notas com a comunidade ML mais ampla.
Parte 1. Insights
Parte 2. Hardware
Compute - Aceleradores, CPUs, Memória da CPU.
Armazenamento - sistemas de arquivos locais, distribuídos e compartilhados.
Rede- Networking intra e entre nós.
Parte 3. Orquestração
Parte 4. Treinamento
Parte 5. Inferência
Parte 6. Desenvolvimento
Depuração e solução de problemas - Como depurar problemas fáceis e difíceis
E mais depuração
Teste - Inúmeras dicas e ferramentas para tornar a escrita de teste agradável
Parte 7. Diversos
Anunciei atualizações significativas no meu canal no Twitter https://twitter.com/stasbekman.
Faça o download da versão em PDF do livro.
Vou tentar reconstruí -lo uma vez por semana, mas se você quiser as mais recentes, as instruções para a construção estão aqui.
Graças ao Huggingface por me dar permissão para hospedar o PDF do meu livro no HF Hub.
Se você deseja discutir algo relacionado à engenharia da ML, este repositório tem as discussões da comunidade disponíveis - portanto, não hesite em compartilhar sua experiência ou iniciar uma nova discussão sobre algo pelo qual você é apaixonado.
Aceleradores de ponta:
Redes:
Coisas que você provavelmente precisará encontrar de maneira rápida e frequente.
Ferramentas:
Guias:
Nada disso teria sido possível sem que eu fosse confiado em fazer os treinamentos específicos da LLM/VLM da qual aprendi o conhecimento inicial. Este é um privilégio que apenas alguns desfrutam devido ao custo proibitivamente caro de alugar enormes clusters de computação de ML. Portanto, espero que o resto da comunidade de ML aprenda indiretamente com essas notas.
Agradecimentos especiais a Thom Wolf, que propôs que eu lidere o treinamento Bloom-176B de volta quando não sabia nada sobre treinamento em larga escala. Este foi o projeto que me catapultou para o intenso processo de aprendizado. E, é claro, Huggingface por me dar a oportunidade de trabalhar em tempo integral no Bloom-176b e mais tarde nos treinamentos Idefics-80B.
Recentemente, continuei expandindo meu conhecimento e experiência enquanto treinava modelos e criando sistemas de treinamento/inferência escaláveis na Contextual.ai e sou grato a essa oportunidade de Aman e Douwe.
Eu também gostaria de agradecer aos numerosos colaboradores que estão tornando este texto incrível e sem erros.
Se você encontrou um bug, erro de digitação ou gostaria de propor uma melhoria, não hesite em abrir um problema ou contribuir com um PR.
O conteúdo deste site é distribuído no International de atribuição de atribuição 4,0.
@misc { bekman2024mlengineering ,
author = { Bekman, Stas } ,
title = { Machine Learning Engineering Open Book } ,
year = { 2023-2024 } ,
publisher = { Stasosphere Online Inc. } ,
journal = { GitHub repository } ,
url = { https://github.com/stas00/ml-engineering }
}✔ Machine Learning: ML Engineering Open Book | MOLOS ML | Porta
✔ Guias: a arte de depurar
✔ Aplicações: ipyExperiments
✔ Ferramentas e trapaceiros: Bash | conda | git | Jupyter-Notebook | fazer | Python | Tensorboard | Unix