- Transformer, que apareció en 2017, nació en la traducción automática y se expandió a casi todos los campos, convirtiéndose en conocimiento esencial de IA para los ingenieros modernos
- Esta guía está organizada paso a paso, desde redes neuronales hasta atención, para que los ingenieros sigan solo lo necesario para entender Transformer
- Ofrece ejemplos de código en Python ejecutables y materiales de referencia, para que el aprendizaje no termine en la lectura y pueda comprobarse con las manos
- El contenido se divide en redes neuronales, RNN, NLP y atención, Transformer, y un apéndice de fundamentos de Python y matemáticas; también se agregaron secciones sobre PyTorch y Multi-Agents basados en LLM
- Las condiciones de uso para fines educativos y no comerciales son relativamente abiertas, pero para consultas exige al menos 2 direcciones de redes sociales para verificación, lo que limita el contacto anónimo
Ruta de aprendizaje para entender Transformer
- The Engineer’s Guide To Deep Learning es una guía concisa que ofrece el camino mínimo necesario para que un ingeniero entienda Transformer
- La IA actual se describe como una tercera edad dorada
- Las dos edades doradas anteriores fueron en las décadas de 1950~1960 y 1980
- En ese entonces, las expectativas superaron las capacidades técnicas y terminaron en decepción
- La actual edad dorada de la IA, iniciada a mediados de la década de 2010, se explica como una tendencia que supera continuamente las expectativas
- Transformer es un avance decisivo introducido en 2017
- Al principio se desarrolló como un modelo de traducción automática
- Luego su impacto se extendió a casi todos los campos
- Como material de apoyo para el aprendizaje, ofrece ejemplos de código en Python ejecutables
- También presenta materiales de referencia adicionales para que cada lector pueda elegir los recursos que mejor le convengan
Estructura del documento y actualizaciones
- La guía está organizada para construir las bases necesarias en orden, en lugar de saltar directamente a Transformer
- Part 1: Neural Networks — conceptos básicos de las redes neuronales
- Part 2: Recurrent Neural Networks (RNNs) — RNN, LSTM, GRU
- Part 3: Natural Language Processing (NLP) and Attention Mechanisms — principios centrales de NLP, incluida la traducción automática y la atención
- Part 4: Transformer — el modelo Transformer
- Appendix: Basic Knowledge — conocimientos mínimos de Python y matemáticas necesarios para entender Transformer
- El historial de cambios continúa desde la publicación de la primera versión el 21 de mayo de 2024
- 23 de julio de 2024: se agregaron versiones en PyTorch a Parts 1 y 2
- 16 de septiembre de 2024: se agregó una sección de Multi-Agents basados en LLM
- En el futuro, es posible que cubra varias tecnologías basadas en Transformer actualmente en desarrollo y otro gran avance cercano
Condiciones de uso y forma de contacto
- Las condiciones de uso del FAQ de copyright son abiertas, principalmente para uso educativo y no comercial
- Docentes y estudiantes pertenecientes a instituciones educativas pueden usar libremente documentos e imágenes con fines de aprendizaje
- En reuniones y clases no comerciales, se pueden usar documentos e imágenes si se indica el enlace del sitio y el copyright
- Las explicaciones de revenue share y full buyout en el apartado de uso comercial son una broma, y se aclara que no hay intención de establecer una relación comercial
- En los correos de consulta se deben proporcionar, con fines de verificación, al menos 2 direcciones de redes sociales como LinkedIn o Twitter
- Tras el incidente del backdoor de XZ, no recibe contactos de personas anónimas
1 comentarios
Opiniones de Hacker News
Transformers from Scratch: https://e2eml.school/transformers.html
La serie introductoria de Andrej Karpathy también es buena: 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...
“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
Lista completa de reproducción sobre redes neuronales de 3Blue1Brown: https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...
Bastante caro para ser un tutorial de Keras
Mi plan es entender las soluciones ganadoras del año pasado y luego elegir una subtarea más pequeña: https://scrollprize.org/
Por ejemplo, la parte donde desarrolla los gradientes de LSTM no busca ayudarte a implementarlo en tu framework favorito, sino facilitar la comprensión
El objetivo de mostrar soluciones en varios frameworks también es conectar cómo se ven las fórmulas con cómo podrían verse en código
En particular, una parte interesante de la arquitectura Transformer es que el mecanismo de atención es invariante a permutaciones. Más aún si no se usan embeddings posicionales para contrarrestar esa propiedad única, y como se pueden enmascarar arbitrariamente nodos específicos de un grafo o aristas individuales, ofrece mucha flexibilidad para incorporar conocimiento de dominio en la arquitectura
En muchos casos quizá sigan siendo necesarios los embeddings posicionales, pero se puede diseñar de forma más inteligente saliendo de la visión demasiado restrictiva de considerar la entrada de una capa de atención como una simple secuencia unidimensional
Según entiendo, un ML engineer es un ingeniero que crea modelos con frameworks como PyTorch; un AI engineer es un ingeniero que crea aplicaciones sobre soluciones de IA como prompt engineering o las API de OpenAI/Claude; y MLOps son quienes ayudan con el despliegue y serving de modelos. Me pregunto si esa distinción es correcta
En la práctica, esos roles pueden abarcar desde “hacer investigación de punta” hasta “haber abierto un CSV una vez”
Si quieres generar impacto, haz eso muy bien. También es una habilidad útil en áreas como integración de sistemas o análisis de negocio, y los algoritmos —y hoy en día hasta los modelos entrenados— te los pueden aportar quienes los investigan
Es bastante amargo ver que incluso entre tecnólogos se adoptan las redes sociales como medio para verificar identidad y confianza. Ya era bastante malo cuando algunos gobiernos empezaron a exigir nombres de usuario en redes sociales para trámites de visa/inmigración, pero ahora parece que hasta para enviarle un email a un tecnólogo hace falta prueba social
El atacante de XZ probablemente habría podido iniciar sesión con GitHub en innumerables servicios. También creo que es muy probable que el autor original descargue cosas de PyPI, que estuvo potencialmente comprometido por una filtración de tokens abandonada durante más de un año
Además, como está en el campo de machine learning, es probable que descargue frameworks enormes de Python difíciles de auditar desde GitHub, conda y PyPI, y la gente de ese campo también descarga y prueba modelos no confiables
¿Pero el problema es un email en texto plano que puede leerse en un cliente de correo de línea de comandos con MIME y otras extensiones desactivadas?