Compartí algunas lecciones que habrían hecho que mi viaje de ML sea más suave. Escribir ese artículo anterior comenzó como un reflejo mientras estaba acostado en una playa en algún lugar del mar Mediterráneo, lejos del ruido del trabajo diario. Resulta que el espacio, el silencio y el mar tienen una forma de presentar una lista de cosas que desearía haber sabido antes de comenzar ML.
Este artículo es la segunda parte de esa lista. En mi artículo anteriorDiscutí que (1) hacer ML principalmente significa prepararse, (2) los documentos son como argumentos de venta, (3) la arreglo de errores es el camino a seguir y (4) la mayoría de las obras (incluida la mía) no hará eso descubrimiento.
El presente artículo tiene principios ligeramente más amplios, menos sobre puntos de dolor específicos en ML, más sobre la mentalidad.
5. Necesitas límites (flexibles)
El aprendizaje automático se mueve rápidamente. Los nuevos artículos se publican todos los días. Algunos están cargados en silencio (a, por ejemplo, ARXIV), mientras que otros vienen con comunicados de prensa y demostraciones elegantes. Es natural querer mantenerse al tanto de todo, para mantenerse al día con las últimas tendencias y avances.
Pero hay un problema: si intentas mantenerte al día todoterminarás manteniendo al día con nada. El campo es simplemente demasiado grande, demasiado fragmentado, demasiado rápido.
Piense en los recientes premios Nobel, Geoffrey Hinton, Demis Hassabis y John Jumper. Todos fueron otorgados (acciones de) Nobels por llevar el campo de la IA hacia adelante. Los laureados no ganaron estos premios altamente buscados al estar al tanto de cada tendencia. De hecho, como muchos otros investigadores famosos, muchos de ellos entraron profundamente en su propio rincón del mundo.
Richard Feynman, otro ganador Nobel, evitó las modas. Deliberadamente dio un paso atrás de la física convencional para explorar áreas que le interesaron profundamente, para hacer “buena física”.
Es comprensible querer permanecer a la vanguardia. Pero, la definición de vanguardia es por sé un área constantemente en movimiento: como las olas que se forman en un estanque una vez que arrojas una piedra. Si siempre estás navegando por la ola más o menos, perderás la conexión con el área más interna.
En cambio, lo que necesita son límites. No como cercas, sino como barandas. Te mantienen en la dirección correcta. Te dejan profundizar mientras permiten espacio para salidas sorprendentes. Dentro de su área de enfoque elegido, aún encontrará nuevos problemas, nuevos documentos, nuevos ángulos, pero todos estarán conectados a su campo central.
Las barandillas le permiten aplicar un filtro a todas las cosas que ve: sí, no, sí, sí, no.
Toma mi propio campoaprendizaje continuo—Se un ejemplo. Ya es abrumador. Solo mirando Documentos recientes que figuran en Github muestra cuánto se publica en cada conferencia importante. ¡Y eso es solo dentro de CL! Ahora imagina tratar de permanecer en la parte superior de CL y Genai. Y LLMS. Y …
Imposible.
6. El código de investigación es solo eso: código de investigación
Escribir algoritmos ML es una parte esencial del trabajo de aprendizaje automático. Pero no todo el código es igual. Hay código de producción, el tipo utilizado en aplicaciones, servicios y sistemas de usuarios finales, y luego está Código de investigación.
El código de investigación tiene un objetivo diferente. No necesita ser abstraído, profundamente modularizado o preparado para el mantenimiento a largo plazo. Necesita funcionar, ayudarlo a probar sus hipótesis y dejarle iterar rápido.
Cuando comencé, a menudo pasaba tiempo preocupándome de si mi código era lo suficientemente “elegante”. Luego pasé preciosas horas de codificación refactorizadas, reestructurar y convertir proyectos de investigación en paradigmas de software orientados a objetos. Pero, muchas veces fue innecesario.
Por supuesto, el código debe ser legible, documentado (para su yo futuro, si alguien) y decentemente estructurado. Pero no tiene que ser perfecto. No necesita ser “grado de producción”. La mayoría de las veces, eres el único usuario (lo cual está perfectamente bien, ver mi publicación anterior). Y en muchos casos, el código no vivirá más allá del final del proyecto.
Entonces, si su código hace lo que debe hacer: bien. Mantenga tal vez y recurra al próximo proyecto.
7. Lea en términos generales, lea profundamente
En noviembre de 2002, Se cargó un papel matemático sin pretensiones a Arxiv. Su título: La fórmula de entropía para el flujo Ricci y sus aplicaciones geométricas. El autor era un matemático ruso solitario, Grigory Perelman.
Ese artículo, y los dos seguimientos que publicó en el próximo año, Later* resultó contener la tan esperada prueba del Conjetura de Poincaréuno de los problemas más famosos, entonces no resueltos en matemáticas. En los años posteriores, Perelman rechazó la medalla de los campos y el premio milenario de $ 1 millón por su trabajo, lo que se suma a su imagen como un matemático único en su tipo. **
Lo que me sorprendió sobre esta historia, aparte del atractivo que la historia de los avances científicos tiene naturalmente, es que todo comenzó con una simple presentación de Arxiv.
En las últimas dos décadas, la forma en que se comparte el trabajo académico ha cambiado drásticamente. Arxiv, como la plataforma de preimpresión más conocida, ha hecho que la investigación sea más accesible y más rápida para extenderse. De acuerdo a Las propias estadísticas de ArxivComputer Science (CS) ha explotado en volumen de sumisión a lo largo de los años:
Hay más para leer que nunca. Y si intentas leer todoterminarás entendiendo muy poco. En mi experiencia, es mejor que elija un área de enfoque, leyendo profundamente dentro de él y complementando eso con lecturas ocasionales de campos adyacentes.
Por ejemplo, mi área principal es el aprendizaje continuo. Se publica demasiado para que yo lea todo, incluso dentro de CL. Pero puedo leer alrededor él.
El aprendizaje continuo se trata de adaptar un modelo a nuevos dominios con el tiempo, sin olvidar los anteriores. Que naturalmente se conecta a otros campos:
- Adaptación de dominio (DA), que se centra en adaptarse a nuevos dominios, aunque a menudo sin preocuparse por los dominios antiguos
- Adaptación de tiempo de prueba (TTA), que adapta los modelos en la moscausando solo datos de prueba
- Métodos de optimizaciónespecialmente aquellos que ayudan a equilibrar la estabilidad y la plasticidad, en exacto la compensación que nos importa en CL
Leer en esas áreas da nuevas ideas. Pero tener una base profunda en CL me da el contexto para comprender qué es útil y cómo podría transferirse.
Entonces sí, lea ampliamente. Pero no lo hagas a costa de profundidad. Las buenas ideas a menudo no provienen de leer más, sino de ver conexiones más claramente. Y eso requiere profundizar, conectarse suavemente a mi Artículo de Lookback de 6.5 años.
Campo de golf
Notas al pie
* Más tarde: simplemente porque el problema era tan complejo, y la prueba tan complicada, que tomó varias mentes brillantes para probar la prueba. Wikipedia tiene una buena cobertura de la historia, tan interesante como las matemáticas pueden obtener.
** Otro era Paul Erdős