Andrej Karpathy | ||
---|---|---|
Información personal | ||
Nacimiento |
23 de octubre de 1986 (38 años) Bratislava, Checoslovaquia | |
Nacionalidad | Eslovaco, Estadounidense | |
Educación | ||
Educación | Universidad de Toronto, Universidad de Columbia Británica, Universidad de Stanford | |
Educado en | Universidad de Stanford | |
Tesis doctoral | Connecting Images and Natural Language (2016) | |
Supervisora doctoral | Fei Fei Li | |
Supervisor doctoral | Fei Fei Li | |
Información profesional | ||
Área | Inteligencia Artificial | |
Empleador | Tesla (2017-2022) | |
Obras notables | Autopilot | |
Sitio web | karpathy.ai | |
Andrej Karpathy (Bratislava, Checoslovaquia ahora Eslovaquia el 23 de octubre de 1986[1]) es uno de los científicos de datos más influyentes e innovadores.[2] Es especialista en inteligencia artificial, aprendizaje profundo (deep learning) y visión por computadora (computer vision).[3][4] Desde 2017 es profesor en la Universidad de Stanford.
Andrej Karpathy se unió al grupo de inteligencia artificial OpenAI como científico investigador y miembro fundador en septiembre de 2016.[5] En febrero de 2023 se reincorporó a OpenAI.[6] Entre 2017 y 2022 fue el director de inteligencia artificial y Autopilot Vision en Tesla.[7][8][9] El 13 de febrero de 2024 Karpathy abandonó OpenAI para dedicarse a proyectos personales.[10]
Andrej Karpathy nació en Bratislava, Checoslovaquia (ahora Eslovaquia)[11][12][13][14] y se mudó con su familia a Toronto cuando tenía 15 años.[2]
Inicialmente estaba interesado en la computación cuántica, pero derivó hacia la inteligencia artificial.
‘Compared to my Quantum Computing escapade, I finally felt that the only thing that stood between me and my goal was entirely my own ingenuity, not some expensive equipment or other externalities. Additionally, I realized that working on AI is arguably the most interesting problem because it's the ultimate meta problem: if I was successful in my quest, the AI could in principle learn all about anything, with Quantum Mechanics merely as a relatively insignificant special case.‘‘Comparado con mi escapada de la computación cuántica, finalmente comprendí que la única cosa que se interponía para conseguir mi objetivo era mi propia inteligencia, no unos aparatos carísimos y otras externalidades. Además me di cuenta que trabajar en inteligencia artificial es el problema más interesante porque es último meta-problema: si tenía éxito en mi búsqueda, la inteligencia artificial podría aprender cualquier cosa, mientras que la computación cuántica es relativamente un caso especial insignificante.’Andrej Karpathy
[2]
Se licenció en Ciencias de la Computación y Física (Computer Science and Physics) en la Universidad de Toronto en 2009[15] y completó su maestría en la Universidad de Columbia Británica en 2011,[15] donde trabajó en animación de figuras simuladas físicamente.
Estuvo de becario dos períodos en Google Research trabajando en redes neuronales (Google Brain) para la clasificación de video en 2013[2], y en 2015 con DeepMind con el equipo de aprendizaje profundo con refuerzo.
Junto a Adam Coates publicó una publicación (paper) NIPS para entrenar un modelo de aprendizaje profundo sin supervisión (unsupervised deep learning model) con millones de imágenes de YouTube y descubrir automáticamente conceptos visuales recurrentes.[2]
Desarrolló la librería ConvNetJS en JavaScript de aprendizaje profundo con redes neuronales para usarla en un navegador (web browser). Permite realizar demos que entrenan redes neuronales convolucionales dentro del navegador.[2]
Se graduó con un doctorado de la Universidad de Stanford en 2015 bajo la supervisión de Fei-fei Li, centrándose su tesis doctoral en la intersección del procesamiento del lenguaje natural y la visión artificial, y en los modelos de aprendizaje profundo adecuados para esta tarea (Connecting Images and Natural Language).[16][17]
Durante el primer año del programa de rotaciones trabajó con Daphne Koller, Andrew Ng, Sebastian Thrun y Vladlen Koltun.[18]
A finales de 2015 Elon Musk y otros crearon OpenAI, una compañía de investigación de inteligencia artificial (IA) inicialmente sin fines de lucro que tiene como objetivo promover y desarrollar inteligencia artificial amigable de tal manera que beneficie a la humanidad en su conjunto. La organización tiene como objetivo "colaborar libremente" con otras instituciones e investigadores al hacer sus patentes e investigaciones abiertas al público. Los fundadores (notablemente Elon Musk y Sam Altman) estaban motivados en parte por las preocupaciones sobre el riesgo existencial de la inteligencia artificial general. Andrej Karpathy se unió al grupo de inteligencia artificial OpenAI como científico investigador y miembro fundador en septiembre de 2016[19] En febrero de 2023 se reincorporó a OpenAI y publicó el tuit:
‘Some personal news: I am joining OpenAI (again :)). Like many others both in/out of AI, I am very inspired by the impact of their work and I have personally benefited greatly from it. The future potential is especially exciting; it is a great pleasure to jump back in and build!‘‘Algunas noticias personales: me estoy incorporando a OpenAI (otra vez :)). Como muchos otros tanto dentro como fuera de la IA, estoy muy inspirado por el impacto de su trabajo y personalmente me he beneficiado mucho de él. El potencial futuro es especialmente emocionante; ¡Es un gran placer reincorporarme y construir!’Andrej Karpathy
[6]
Karpathy publicó media docena de publicaciones (papers) con la directora del laboratorio de visión computerizada de Stanford, Fei-Fei Li, que posteriormente fue jefa del equipo de aprendizaje automatizado (machine learning) de Google Cloud.
También publicó dos publicaciones (papers) con el que fue director de Inteligencia Artificial de Google, Andrew Ng.
Las investigaciones de Karpathy se centran en el reconocimiento de imágenes y en la comprensión.
Diseñó e impartió la primera clase sobre aprendizaje profundo en la Universidad de Stanford (CS 231n: Convolutional Neural Networks for Visual Recognition). La clase se convirtió en una de las más grandes en Stanford con 150 apuntados en 2015, 330 estudiantes en 2016 y 750 estudiantes en 2017.
En junio de 2017 fue contratado como director de inteligencia artificial de Tesla, reportando directamente a Elon Musk.[4]
En Tesla lideró el equipo de visión computerizada de Tesla Autopilot para el etiquetado de imágenes, el entrenamiento de redes neuronales y la integración para que funcionara en el chip de inferencias fabricado a medida por Tesla.
Karpathy contrató hasta mil empleados para etiquetar imágenes. El equipo Autopilot procesaba las imágenes de las ocho cámaras para crear un mundo tridimensional mediante las redes neuronales. Era un problema muy complejo en la ejecución de la ingeniería en el flujo de datos, en el motor de datos (data engine), el entrenamiento de las redes neuronales, la habilidad de evaluar todo el sistema y hacer iteraciones sobre un sistema desplegado a escala.[20] Autopilot mejoró la seguridad y la comodidad de la conducción. El objetivo era alcanzar la conducción autónoma total con Autopilot FSD.[18] Su equipo fue responsable de desactivar el radar y basar el Autopilot puramente en visión. Karpathy argumentó que la aproximación basada en visión era superior porque se puede escalar mucho mejor. Puede funcionar en una amplia variedad de entornos y no solo en los que han sido mapeados en alta definición. Karpathy se preguntaba: Cuando el radar y la visión disienten, ¿a quién hacemos caso? La visión tiene mucha más precisión, de modo que es mejor apostar por la visión que hacer una fusión de sensores. Karpathy explicó que las ocho cámaras de un Tesla proporcionaban más información sobre el entorno del vehículo que cualquier otro tipo de sensor. Y al contrario de lo que la gente piensa, esto se extiende a la profundidad y a la velocidad de los objetos. Los radares proporcionan muy buena información de profundidad y velocidad, pero pueden tener problemas con las alcantarillas y las sombras creadas por los puentes, porque tienen una resolución vertical mediocre, y proporcionar lecturas falsas. Karpathy explicó que entrenando redes neuronales con conjuntos de datos enormes, limpios y diversos podían proporcionar mejor calidad que el radar en esas métricas. La enorme flota de vehículos Tesla proporcionaba esos conjuntos de datos. Cuando el Autopilot está activado también funciona un programa en la sombra (shadow mode) que hace comparaciones entre lo que ve y lo que Autopilot ve.[21]
En marzo de 2022 se tomó un año sabático de Tesla, pero en julio de 2022 Karpathy anunció que dejaba la empresa.[22] En febrero de 2023 se reincorporó a OpenAI.[6] El 13 de febrero de 2024 Karpathy abandonó OpenAI para dedicarse a proyectos personales.[10][23]
Karpathy fue nombrado uno de los innovadores menores de 35 años de MIT Technology Review (MIT Technology Review's Innovators Under 35) para el año 2020.[24]
Escribió las aplicaciones arxiv-sanity y arxiv-sanity-lite y creó el sitio web que permite realizar búsquedas por similitud, tiempo y obtener recomendaciones de publicaciones científicas en ArXiv.[18][17][20]
Escribió el programa de código abierto ulogme! para medir la productividad de forma privada sin tener que enviar datos a sitios web o a la nube.[18]
Siendo un gran aficionado al cubo de Rubik desarrolló el programa «Rubik's cube color extractor» que permite leer y asignar los colores de los cuadrados de un cubo de Rubik mostrando cada cara del cubo a una cámara. La lectura de las seis caras se efectúa en menos de tres segundos.[25]
Hacia 2009 programó en Python una inteligencia artificial para jugar al Tetris en una rejilla de 10x20, consiguiendo superar siempre 1000 líneas y llegando a un máximo de 5000 líneas.[26]
Publica aportaciones en sus blogs sobre sus investigaciones y trabajos en inteligencia artificial.[18]
Es muy partidario de la publicación del código abierto y de impartir charlas de divulgación.[17]
Publicó una guía de supervivencia para hacer una tesis doctoral.[17]
Hasta 2022 había publicado transcripciones de todos los programas del canal de YouTube sobre inteligencia artificial de Lex Fridman realizadas con OpenAI Whisper.[27][20]
El 11 de noviembre de 2017 Andrej Karpathy publicó un artículo seminal titulado «Software 2.0» en el que afirmaba que las redes neuronales no eran otro clasificador, sino que representaban el principio de un cambio fundamental en la forma en que se desarrollaba software. El «stack» clásico del Software 1.0 está escrito en lenguajes como Python, C++. Se compone de instrucciones explícitas a la computadora escritas por un programador. Al escribir cada línea de código, el programador identifica un punto específico en el espacio del programa con algún comportamiento deseable. Por el contrario, el Software 2.0 está escrito en un lenguaje mucho más abstracto y hostil a los humanos, como los pesos de una red neuronal. Ningún ser humano está involucrado en la escritura de este código porque hay muchos pesos (las redes típicas pueden tener millones), y codificar directamente en pesos es algo extremadamente difícil.[28]
En cambio, en el Software 2.0 el enfoque es especificar algún objetivo sobre el comportamiento de un programa deseable (por ejemplo, «satisfacer un conjunto de datos de pares de entrada y salida de ejemplos», o «ganar un juego de Go»), escribir un esqueleto aproximado del código (es decir, una arquitectura de red neuronal) que identifica un subconjunto del espacio del programa para buscar y utilizar los recursos computacionales a nuestra disposición para buscar en este espacio un programa que funcione. En el caso de las redes neuronales, se restringe la búsqueda a un subconjunto continuo del espacio del programa donde el proceso de búsqueda se puede hacer (algo sorprendentemente) eficiente con retropropagación y descenso de gradiente estocástico.[28]
En Software 1.0, el código fuente diseñado por humanos (por ejemplo, algunos archivos .cpp) se compila en un binario que hace un trabajo útil. En Software 2.0, la mayoría de las veces el código fuente comprende: 1) el conjunto de datos que define el comportamiento deseable y 2) la arquitectura de la red neuronal que proporciona el esqueleto aproximado del código, pero con muchos detalles (los pesos) para completar. El proceso de entrenamiento de la red neuronal compila el conjunto de datos en el binario, la red neuronal final. En la mayoría de las aplicaciones prácticas de hoy, las arquitecturas de redes neuronales y los sistemas de entrenamiento están cada vez más estandarizados en un producto, por lo que la mayor parte del «desarrollo de software» activo toma la forma de curar, crecer, masajear y limpiar conjuntos de datos etiquetados. Esto está alterando fundamentalmente el paradigma de programación mediante el cual iteramos en nuestro software, ya que los equipos se dividen en dos: los programadores 2.0 (etiquetadores) editan y amplían los conjuntos de datos, mientras que unos pocos programadores 1.0 mantienen e iteran la infraestructura del código circundante, analíticas, visualizaciones e interfaces de etiquetado.[28] Una gran parte de los problemas del mundo real tienen la propiedad de que es significativamente más fácil recolectar los datos (o más generalmente, identificar un comportamiento deseable) que escribir explícitamente el programa. Debido a esto y a muchos otros beneficios de los programas de Software 2.0, hay una transición masiva en la industria donde una gran cantidad de código 1.0 se está transfiriendo a código 2.0.
‘Software (1.0) is eating the world, and now AI (Software 2.0) is eating software.‘‘El software (1.0) se está comiendo el mundo y ahora la IA (Software 2.0) se está comiendo el software.’Andrej Karpathy
[29]
Karpathy puso como ejemplos de esa transición:
Karpathy apuntó los beneficios del Software 2.0:
‘Gradient descent can write code better than you. I'm sorry.‘‘El descenso de gradiente estocástico puede escribir mejor código que tú. Lo siento.’Andrej Karpathy
[29]
En 2022 abandonó Tesla porque las reuniones y las responsabilidades no le dejaban tiempo para la investigación y la docencia. No descartaba volver a trabajar en Tesla.[20] Las clases que imparte le pueden llevar 10 horas de preparación por cada hora de clase. Suele trabajar con su portátil conectado a un «cluster» vía ssh.[20] Andrej trabaja mejor de noche siempre que puede. En 2022 solo hacía dos comidas al día y tenía preferencia hacia lo vegetariano. Entre sus libros favoritos estaban:
En 2022 publicó en un tuit que entre las películas que había visto más de cinco veces y que va a seguir viendo cuando pueda están: Interstellar, Gladiator, Contact, Good Will Hunting, The Matrix, Lord of the Rings (El señor de los anillos) 1/2/3, Harry Potter 1, Avatar, The Fith Element (El quinto elemento), Independence Day, Rush Hour, Armageddon, Stargate, Anchorman, Mean Girls y Terminator 2.[20]