8 puntos por GN⁺ 2024-07-17 | 1 comentarios | Compartir por WhatsApp
  • 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
  • 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

 
GN⁺ 2024-07-17
Opiniones de Hacker News
  • Hay bastante material mejor. The Annotated Transformer / Attention is All You Need: http://nlp.seas.harvard.edu/annotated-transformer/
    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...
    • Además, todos los sitios de arriba son gratuitos. El sitio publicado aquí dice que “la compra de los derechos completos de uso comercial de todo el contenido y el repositorio de GitHub cuesta €10,000,000”, y para uso comercial también exige 20% de regalías
      Bastante caro para ser un tutorial de Keras
    • Es una pregunta un poco fuera de tema, pero quiero participar en el Vesuvius Challenge; no tengo formación en machine learning y soy un desarrollador web generalista. Me pregunto si con Zero to Hero de Karpathy y el libro Understanding Deep Learning será suficiente para construir una base práctica en machine learning, o si tendría que aprender más cosas
      Mi plan es entender las soluciones ganadoras del año pasado y luego elegir una subtarea más pequeña: https://scrollprize.org/
    • Las diapositivas de Lucas Beyer también están bastante bien: https://docs.google.com/presentation/d/1ZXFIhYczos679r70Yu8v...
  • Los tutoriales de Transformer parecen haberse convertido en el nuevo tutorial de Monad
  • Este material recorre de forma muy condensada desde el perceptrón hasta el Transformer
    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
  • Lo más frustrante de la documentación sobre Transformer es que casi toda se enfoca solo en el procesamiento de lenguaje natural
    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
  • Quisiera preguntarles a los expertos en machine learning/inteligencia artificial. Si tienen materiales introductorios recomendables para alguien que quiere pasar de CRUD/API backend al campo de ML/AI, sería bueno que los compartan. Como el área se ramifica en varias direcciones, no sé por dónde empezar
    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
    • No hay definiciones formales para esos términos. Solo necesitas una regla de asociación: título que suena bien → puede significar cualquier cosa que la empresa quiera
      En la práctica, esos roles pueden abarcar desde “hacer investigación de punta” hasta “haber abierto un CSV una vez”
    • El 85% del tiempo de un proyecto de machine learning se termina yendo en la calidad de los datos y un poco de ingeniería de características del dominio
      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
    • “AI engineer” sería mejor llamarlo ingeniero de aplicaciones especializado en integrar machine learning en software
    • Kaggle es un buen punto de partida
  • No hay contenido aparte de unos párrafos introductorios. El contenido real devuelve 404 not found
    • Los enlaces dentro del texto están rotos. Los enlaces del menú hamburguesa funcionan bien
    • El menú izquierdo en escritorio funciona. Parece que solo están rotos los enlaces de la primera página
  • Veo una frase que dice: “Al enviar un email, proporciona al menos dos direcciones de redes sociales como LinkedIn o Twitter con fines de verificación… ya no acepto contactos de personas anónimas”
    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
    • La frase “ya no acepto contactos de personas anónimas” me recuerda un chiste de alguien que aparece en un centro de reclutamiento del cuartel general de la Fuerza Aérea. Le preguntan: “¿Licencia de piloto? ¿Experiencia? ¿Calificaciones?”, y responde: “No tengo. ¡Solo vine a decirles que no cuenten conmigo!”
    • Si despliegas la parte omitida, dice: “Por el incidente de la puerta trasera de XZ, ya no acepto contactos de personas anónimas”
      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?
  • Es un material muy bueno para construir desde los fundamentos de forma concisa