4 pontos por GN⁺ 2024-01-25 | 1 comentários | Compartilhar no WhatsApp
  • Engenharia de combate em inteligência artificial — o que você precisa saber

    • Uma coleção aberta de metodologias para o treinamento bem-sucedido de modelos de inteligência artificial (ML), especialmente modelos de linguagem de grande porte (LLM) e modelos multimodais (VLM).
    • Material técnico para engenheiros e operadores de treinamento de LLM/VLM, com muitos scripts e comandos de copiar e colar para permitir executar rapidamente as tarefas necessárias.
    • Registra continuamente a experiência e o know-how obtidos ao treinar o modelo open source BLOOM-176B em 2022 e o modelo multimodal IDEFICS-80B em 2023; atualmente, está desenvolvendo/treinando modelos open source com recuperação aumentada na Contextual.AI.
  • Índice

    • Pede desculpas pelo layout instável, pois está no processo de escrever novos capítulos e reorganizar o conteúdo de forma mais intuitiva.
  • Componentes de hardware

    • Aceleradores - Os cavalos de batalha do ML, incluindo GPU, TPU, IPU, FPGA, HPU, QPU e RDU.
    • Rede - Conectividade dentro dos nós e entre nós, além do cálculo dos requisitos de largura de banda.
    • Armazenamento - Discos e sistemas de arquivos locais e distribuídos.
    • CPU - Conteúdo sobre CPU e afinidade.
    • Memória da CPU - O capítulo mais curto sobre quanta memória de CPU é suficiente.
  • Desempenho

    • Tolerância a falhas
    • Desempenho
    • Rede multinó
    • Paralelismo de modelo
  • Operações

    • SLURM
    • Hiperparâmetros de treinamento e inicialização do modelo
    • Instabilidade
  • Desenvolvimento

    • Depuração de falhas de software e hardware
    • Mais depuração
    • Reprodutibilidade
    • Precisão de tensor / tipos de dados
    • Notas sobre HF Transformers - Dicas sobre modelos pequenos, tokenizers, datasets etc.
  • Outros

    • Materiais - Cronologia de LLM/VLM.
  • Acesso rápido

    • Ferramentas e guias que frequentemente precisam ser encontrados rapidamente.
    • Ferramentas: all_reduce_bench.py, torch-distributed-gpu-test.py
    • Guias: debugging pytorch applications, slurm for users, make tiny models/datasets/tokenizers, LLM/VLM chronicles collection
  • Criando o livro

    • Se quiser gerar um PDF ou verificar links, consulte a seção 'Criando o livro'.
  • Agradecimentos

    • Poder aprender esse know-how é um privilégio de que poucos podem desfrutar, já que o custo de alugar grandes clusters de computação para ML é extremamente alto.
    • Agradecimentos especiais a Thom Wolf e à HuggingFace.
  • Como contribuir

    • Se encontrar bugs, erros de digitação ou tiver sugestões de melhoria, recomenda-se abrir uma issue ou contribuir com um PR.
  • Licença

    • O conteúdo deste site é distribuído sob a licença Attribution-ShareAlike 4.0 International.
  • Mapa do meu repositório

    • Aprendizado de máquina: ML Engineering Open Book | ML ways | Porting
    • Guias: The Art of Debugging
    • Aplicativos: ipyexperiments
    • Ferramentas e cheat sheets: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix

Opinião do GN⁺

  • Este material faz uma grande contribuição para a comunidade de ML ao fornecer conhecimento prático e ferramentas necessárias para treinar modelos de linguagem de grande porte e modelos multimodais.
  • Ao compartilhar o know-how obtido em experiências de projetos reais, ajuda engenheiros de software iniciantes a adquirir o conhecimento prático necessário para o treinamento de modelos de ML em grande escala.
  • A abordagem open source promove o compartilhamento de conhecimento e a colaboração na área de ML, desempenhando um papel importante na aceleração da pesquisa e da inovação.

1 comentários

 
GN⁺ 2024-01-25
Comentários do Hacker News
  • Este texto é realmente valioso. Trabalho depurando configurações de treinamento de LLM para apoiar pesquisas, e teria sido ótimo ter notas como estas quando comecei.

    • Expressa que teria sido útil ter esse tipo de informação no início para quem trabalha depurando configurações de treinamento de LLM.
  • Trabalho com um Applied Scientist ajudando em tarefas relacionadas ao treinamento e à implantação de modelos; como alguém como eu pode ter mais contato com trabalhos de engenharia de nível mais baixo, como otimização, desempenho e coisas do tipo? Temos uma equipe de infraestrutura de ML, mas o objetivo deles é construir ferramentas em torno da plataforma, e não necessariamente executar as cargas de trabalho da forma mais otimizada.

    • Indica que a pessoa que dá suporte ao treinamento e à implantação de modelos quer ganhar experiência em trabalhos de engenharia de baixo nível, como otimização e desempenho.
  • Quero experimentar isso, mas não tenho uma GPU adequada. Como vocês executam essas coisas?

    • Expressa dificuldade para começar a fazer experimentos sem uma GPU apropriada.
  • Muito obrigado por tudo na seção "Unsolicited Advice" do AI Battlefield [1]. É uma visão muito realista do avanço rápido do desenvolvimento de IA e da carga emocional que isso gera.

    • Expressa agradecimento pelo "Unsolicited Advice", que encara de forma realista o ritmo acelerado do desenvolvimento de IA e a carga emocional resultante.
  • Quão amplamente o Slurm é usado?

    • Demonstra curiosidade sobre o alcance de uso do Slurm.
  • Cliquei aleatoriamente e acabei lendo sobre repeatability, mas ainda fico me perguntando como isso é alcançado em treinamento distribuído. A sincronização determinística não deixa tudo mais lento? Ainda assim, ouvi dizer que pelo menos em algumas empresas grandes o treinamento deles é repetível.

    • Levanta dúvidas sobre a repetibilidade em treinamento distribuído e sobre o impacto da sincronização determinística no desempenho.
  • Como se ganha experiência com esse tipo de coisa quando se está sem emprego?

    • Faz uma pergunta sobre como adquirir experiência relevante sem ter um emprego na área.
  • Existe um PDF em algum lugar? Parece que há instruções de como compilar, mas não o arquivo em si.

    • Indica que está procurando uma versão em PDF da documentação relacionada.