- Apparu en 2017, Transformer est parti de la traduction automatique avant de s’étendre à presque tous les domaines, devenant une connaissance clé en IA que les ingénieurs d’aujourd’hui doivent maîtriser
- Ce guide est structuré progressivement, des réseaux de neurones jusqu’à l’attention, pour permettre aux ingénieurs de suivre uniquement ce qui est nécessaire à la compréhension de Transformer
- Il fournit des exemples de code Python exécutables ainsi que des ressources de référence, afin d’apprendre en vérifiant par soi-même plutôt que de se limiter à la lecture
- Le contenu est divisé en réseaux de neurones, RNN, NLP et attention, Transformer, ainsi qu’une annexe sur les bases de Python et des mathématiques ; des sections sur PyTorch et les Multi-Agents basés sur les LLM ont aussi été ajoutées
- Les conditions d’utilisation à des fins éducatives et non commerciales sont relativement ouvertes, mais les prises de contact anonymes sont limitées, avec notamment l’exigence de fournir au moins deux profils de réseaux sociaux à des fins de vérification
Parcours d’apprentissage pour comprendre Transformer
- The Engineer’s Guide To Deep Learning est un guide concis qui propose aux ingénieurs le parcours minimal nécessaire pour comprendre Transformer
- L’IA actuelle est présentée comme son troisième âge d’or
- Les deux précédents âges d’or ont eu lieu dans les années 1950–1960 et dans les années 1980
- À l’époque, les attentes avaient dépassé les capacités techniques, menant à des déceptions
- L’âge d’or actuel de l’IA, commencé au milieu des années 2010, est décrit comme une dynamique qui dépasse continuellement les attentes
- Transformer est une percée introduite en 2017
- Il a d’abord été développé comme modèle de traduction automatique
- Son influence s’est ensuite étendue à presque tous les domaines
- Des exemples de code Python exécutables sont fournis comme supports d’apprentissage
- Des ressources complémentaires sont également présentées afin que chaque lecteur puisse choisir celles qui lui conviennent
Structure du document et mises à jour
- Le guide est conçu pour construire les bases nécessaires dans l’ordre, plutôt que de plonger directement dans Transformer
- Part 1: Neural Networks — concepts fondamentaux des réseaux de neurones
- Part 2: Recurrent Neural Networks (RNNs) — RNN, LSTM, GRU
- Part 3: Natural Language Processing (NLP) and Attention Mechanisms — principes essentiels du NLP, dont la traduction automatique et l’attention
- Part 4: Transformer — modèle Transformer
- Appendix: Basic Knowledge — connaissances minimales en Python et en mathématiques nécessaires pour comprendre Transformer
- L’historique des changements se poursuit depuis la publication de la première version le 21 mai 2024
- 23 juillet 2024 : ajout de versions PyTorch aux Parts 1 et 2
- 16 septembre 2024 : ajout d’une section sur les Multi-Agents basés sur les LLM
- À l’avenir, le guide pourrait couvrir plusieurs technologies basées sur Transformer actuellement en développement, ainsi qu’une autre percée majeure attendue dans un futur proche
Conditions d’utilisation et mode de contact
- Les conditions d’utilisation de la FAQ sur le copyright sont ouvertes principalement pour les usages éducatifs et non commerciaux
- Les enseignants et étudiants rattachés à des établissements d’enseignement peuvent utiliser librement les documents et illustrations à des fins d’apprentissage
- Dans les réunions et cours non commerciaux, les documents et illustrations peuvent être utilisés à condition de mentionner le lien du site et le copyright
- Les explications sur le revenue share et le full buyout dans la section consacrée aux usages commerciaux sont une plaisanterie, et l’auteur précise ne pas avoir l’intention d’établir de relation commerciale
- Les e-mails de contact doivent fournir, à des fins de vérification, au moins deux profils de réseaux sociaux comme LinkedIn ou Twitter
- Depuis l’affaire de la backdoor XZ, les contacts de personnes anonymes ne sont plus acceptés
1 commentaires
Commentaires Hacker News
Transformers from Scratch : https://e2eml.school/transformers.html
La série d’introduction d’Andrej Karpathy est aussi très bien : 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...
Le “But what is a GPT? Visual intro to transformers | Chapter 5, Deep Learning” de 3Blue1Brown : https://www.youtube.com/watch?v=wjZofJX0v4M
“Attention in transformers, visually explained | Chapter 6, Deep Learning” : https://www.youtube.com/watch?v=eMlx5fFNoYc
La playlist complète de 3Blue1Brown sur les réseaux de neurones : https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...
C’est plutôt cher pour un tutoriel Keras
Mon idée est de comprendre les solutions primées de l’an dernier, puis d’essayer de choisir une sous-tâche plus modeste : https://scrollprize.org/
Par exemple, la partie où l’on déroule le gradient dans un LSTM n’est pas là pour vous aider à l’implémenter dans votre framework préféré, mais pour faciliter la compréhension
Le fait de montrer des solutions dans plusieurs frameworks vise aussi à faire le lien entre la forme des équations et leur apparence dans le code
En particulier, ce qu’il y a d’intéressant dans l’architecture Transformer, c’est que le mécanisme d’attention est invariant par permutation. C’est encore plus vrai si l’on n’essaie pas de compenser cette propriété singulière avec des embeddings positionnels, et comme on peut masquer arbitrairement des nœuds spécifiques d’un graphe ou même des arêtes individuelles, il y a une grande souplesse pour injecter de la connaissance métier dans l’architecture
Dans beaucoup de cas, les embeddings positionnels restent sans doute nécessaires, mais on peut concevoir les choses plus intelligemment si l’on sort de cette vision excessivement restrictive où l’entrée d’une couche d’attention n’est qu’une simple séquence 1D
Si j’ai bien compris, un ingénieur ML construit des modèles avec des frameworks comme PyTorch, un ingénieur IA construit des applications sur des solutions d’IA comme le prompt engineering ou les API OpenAI/Claude, et le MLOps s’occupe du déploiement et du serving des modèles ; je me demande si cette distinction est correcte
En pratique, ces rôles peuvent recouvrir aussi bien « fait de la recherche de pointe » que « a déjà ouvert un CSV une fois »
Si vous voulez avoir de l’impact, il suffit d’être très bon là-dedans. C’est une compétence réutilisable aussi dans l’intégration de systèmes ou l’analyse métier, tandis que les algorithmes — et aujourd’hui même les modèles entraînés — peuvent être fournis par des chercheurs
C’est assez amer de voir que même parmi les techniciens, les réseaux sociaux sont adoptés comme moyen de vérifier l’identité et la confiance. C’était déjà assez mauvais quand certains gouvernements ont commencé à demander des identifiants de réseaux sociaux pour les demandes de visa ou d’immigration, mais maintenant il faudrait une preuve sociale même pour envoyer un simple e-mail à un technicien ?
L’attaquant XZ aurait probablement pu se connecter via GitHub à de très nombreux services. L’auteur du billet original estime aussi qu’il a probablement téléchargé quelque chose depuis PyPI, potentiellement compromis par une fuite de token restée sans traitement pendant plus d’un an
En plus, comme il travaille dans le machine learning, il télécharge probablement d’énormes frameworks Python difficiles à auditer depuis GitHub, conda et PyPI, et les gens de ce domaine téléchargent aussi des modèles non fiables pour expérimenter
Mais c’est l’e-mail en texte brut, lisible dans un client mail en ligne de commande avec MIME et autres extensions désactivés, qui poserait problème ?