8 pontos por GN⁺ 2024-07-17 | 1 comentários | Compartilhar no WhatsApp
  • O Transformer, apresentado em 2017, começou na tradução automática, expandiu-se para praticamente todas as áreas e se tornou um conhecimento essencial de IA que engenheiros modernos precisam dominar
  • Este guia é estruturado em etapas, de redes neurais a attention, para que engenheiros acompanhem apenas o necessário para entender Transformers
  • Ele oferece exemplos de código em Python executáveis e materiais de referência, permitindo aprender não só lendo, mas também verificando na prática
  • O conteúdo é dividido em redes neurais, RNNs, NLP e attention, Transformer, e um apêndice de fundamentos de Python e matemática; também foram adicionados itens sobre PyTorch e Multi-Agents baseados em LLM
  • As condições de uso para fins educacionais e não comerciais são relativamente abertas, mas contatos anônimos são limitados — por exemplo, consultas exigem pelo menos dois endereços de redes sociais para verificação

Caminho de aprendizado para entender Transformers

  • The Engineer’s Guide To Deep Learning é um guia conciso que oferece o percurso mínimo necessário para engenheiros entenderem Transformers
  • A IA atual é definida como a terceira era de ouro
    • As duas eras de ouro anteriores ocorreram nas décadas de 1950–1960 e nos anos 1980
    • Na época, as expectativas superaram a capacidade técnica, levando à decepção
    • A atual era de ouro da IA, iniciada em meados da década de 2010, é descrita como um movimento que vem superando expectativas de forma contínua
  • Transformer foi um avanço introduzido em 2017
    • Inicialmente, foi desenvolvido como um modelo de tradução automática
    • Depois, seu impacto se expandiu para praticamente todas as áreas
  • Como material de apoio ao estudo, são fornecidos exemplos de código em Python executáveis
  • Também são apresentados materiais de referência adicionais, para que cada leitor possa escolher os recursos mais adequados

Estrutura do documento e atualizações

  • O guia é organizado para construir os fundamentos necessários em ordem, em vez de pular diretamente para Transformers
  • O histórico de mudanças continua desde a publicação da primeira versão em 21 de maio de 2024
    • 23 de julho de 2024: adição da versão em PyTorch às Parts 1 e 2
    • 16 de setembro de 2024: adição da seção Multi-Agents baseados em LLM
  • No futuro, é possível que o guia também cubra várias tecnologias baseadas em Transformer atualmente em desenvolvimento e outro grande avanço em um futuro próximo

Condições de uso e forma de contato

  • As condições de uso no FAQ de copyright são abertas principalmente para usos educacionais e não comerciais
    • Professores e estudantes vinculados a instituições de ensino podem usar livremente documentos e figuras para fins de aprendizado
    • Em encontros e palestras não comerciais, documentos e figuras podem ser usados desde que o link do site e os direitos autorais sejam indicados
    • As explicações sobre revenue share e full buyout na seção de uso comercial são uma piada, e o autor afirma não ter intenção de estabelecer relações comerciais
  • E-mails de contato devem fornecer pelo menos dois endereços de redes sociais, como LinkedIn e Twitter, para fins de verificação
  • Após o caso do backdoor no XZ, contatos de indivíduos anônimos não são aceitos

1 comentários

 
GN⁺ 2024-07-17
Opiniões no Hacker News
  • Há bastante material melhor. The Annotated Transformer / Attention is All You Need: http://nlp.seas.harvard.edu/annotated-transformer/
    Transformers from Scratch: https://e2eml.school/transformers.html
    A série introdutória do Andrej Karpathy também é boa: https://karpathy.ai/zero-to-hero.html
    Let's build GPT: from scratch, in code, spelled out: https://www.youtube.com/watch?v=kCc8FmEb1nY
    GPT with Andrej Karpathy: Part 1: https://medium.com/@kdwa2404/gpt-with-andrej-karpathy-part-1...
    O “But what is a GPT? Visual intro to transformers | Chapter 5, Deep Learning”, do 3Blue1Brown: https://www.youtube.com/watch?v=wjZofJX0v4M
    “Attention in transformers, visually explained | Chapter 6, Deep Learning”: https://www.youtube.com/watch?v=eMlx5fFNoYc
    Playlist completa de redes neurais do 3Blue1Brown: https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...
    • Além disso, todos os sites acima são gratuitos. O site publicado aqui diz que “a compra de direitos completos de uso comercial de todo o conteúdo e do repositório no GitHub custa €10.000.000” e também exige 20% de royalties para uso comercial
      Para um tutorial de Keras, é bem caro
    • É uma pergunta um pouco fora do assunto, mas eu gostaria de participar do Vesuvius Challenge; não tenho experiência em machine learning e sou um desenvolvedor web comum. Fico me perguntando se fazer o Zero to Hero do Karpathy e o livro Understanding Deep Learning seria suficiente para montar uma base prática em machine learning, ou se haveria algo mais que eu deveria aprender
      Meu plano é entender as soluções vencedoras do ano passado e depois escolher uma subtarefa menor: https://scrollprize.org/
    • Os slides do Lucas Beyer também são bem bons: https://docs.google.com/presentation/d/1ZXFIhYczos679r70Yu8v...
  • Parece que tutoriais de Transformer viraram uma espécie de novo tutorial de Monad
  • Este material faz um sobrevoo bem condensado, indo do perceptron até o Transformer
    Por exemplo, a parte que desenvolve o gradiente do LSTM não serve para ajudar você a implementá-lo no framework de sua preferência, mas para ajudar na compreensão
    O objetivo de mostrar soluções em vários frameworks também é conectar como as fórmulas se parecem com como elas podem aparecer em código
  • O ponto mais frustrante na documentação sobre Transformer é que quase tudo se concentra apenas em processamento de linguagem natural
    Em especial, uma parte interessante da arquitetura Transformer é que o mecanismo de atenção é invariante a permutações. Isso fica ainda mais interessante se as pessoas não usarem embeddings posicionais para anular essa propriedade intrínseca; e, como é possível mascarar arbitrariamente nós específicos de um grafo ou até arestas individuais, há muita flexibilidade para incorporar conhecimento de domínio na arquitetura
    Em muitos casos, embeddings posicionais ainda podem ser necessários, mas dá para projetar de forma mais inteligente, saindo da visão excessivamente limitada de tratar a entrada da camada de atenção apenas como uma sequência unidimensional
  • Gostaria de perguntar aos especialistas em machine learning/inteligência artificial: se houver materiais introdutórios bons para alguém que quer migrar de CRUD/API de backend para a área de ML/IA, seria ótimo se pudessem compartilhar. Como a área tem muitos ramos, não sei por onde começar
    Pelo que entendi, um engenheiro de ML é quem cria modelos com frameworks como PyTorch; um engenheiro de IA é quem cria aplicações sobre soluções de IA, como engenharia de prompts ou APIs da OpenAI/Claude; e MLOps são as pessoas que ajudam na implantação e serving de modelos. Queria saber se essa divisão está correta
    • Esses termos não têm definições oficiais. A única regra de associação necessária é: cargo que soa plausível → pode significar qualquer coisa que a empresa quiser
      Na prática, esses papéis podem cobrir tudo, desde “faz pesquisa de ponta” até “já abriu um CSV uma vez”
    • 85% do tempo de um projeto de machine learning acaba sendo gasto com qualidade de dados e um pouco de engenharia de características específicas do domínio
      Se você quer gerar impacto, basta ficar muito bom nisso. São habilidades úteis também em áreas como integração de sistemas ou análise de negócios, e as pessoas que pesquisam algoritmos — e hoje em dia até modelos treinados — podem trazer o restante
    • “Engenheiro de IA” talvez seja melhor chamado de engenheiro de aplicações especializado em integrar machine learning a software
    • Kaggle é um bom ponto de partida
  • Não há conteúdo além de alguns parágrafos introdutórios. O conteúdo real retorna 404 not found
    • O link dentro do texto está quebrado. Os links do menu hambúrguer funcionam bem
    • O menu à esquerda no desktop funciona. Parece que só os links da primeira página estão quebrados
  • Vejo uma frase dizendo: “ao enviar um e-mail, forneça pelo menos dois endereços de redes sociais, como LinkedIn e Twitter, para fins de verificação… não aceito mais contato de indivíduos anônimos”
    É bem amargo ver que, até entre pessoas técnicas, redes sociais estão sendo adotadas como meio de verificar identidade e confiança. Já era ruim o bastante quando alguns governos começaram a exigir nomes de usuário em redes sociais em análises de visto/imigração; agora até para mandar um simples e-mail para um técnico é preciso prova social?
    • A frase “não aceito mais contato de indivíduos anônimos” me lembra a piada de alguém aparecendo no centro de recrutamento do quartel-general da Força Aérea. Perguntam: “Licença de piloto? Experiência? Qualificações?” e a pessoa responde: “Nada disso. Só vim dizer para não contarem comigo!”
    • Se você expandir a parte omitida, ela diz “por causa do caso do backdoor no XZ, não aceito mais contato de indivíduos anônimos”
      O atacante do XZ provavelmente poderia ter feito login em inúmeros serviços via GitHub. Também acho provável que o autor original baixe coisas do PyPI, que foi potencialmente comprometido por um vazamento de token deixado sem correção por mais de um ano
      Além disso, como ele está na área de machine learning, é bem provável que baixe do GitHub, conda e PyPI enormes frameworks Python difíceis de auditar, e pessoas dessa área também baixam modelos não confiáveis para experimentar
      E o problema seria um e-mail em texto puro que pode ser lido em um cliente de e-mail de linha de comando com MIME e outras extensões desativadas?
  • É um material muito bom para construir conhecimento desde o básico de forma concisa