El fin de la programación

Matt galés

Matt galés, Matt Welsh. Medium. Enero 2024 (Reedición de octubre de 2022)

Se acerca el fin de la informática clásica y la mayoría de nosotros somos dinosaurios esperando que caiga el meteorito.

Una vieja computadora desmoronándose y desmoronándose en un desierto, arte digital
Todo el arte de esta publicación fue generado por DALL-E 2.

Llegué a la mayoría de edad en la década de 1980, programando computadoras personales como la Commodore VIC-20 y Apple en casa. Después de estudiar Ciencias de la Computación en la universidad y finalmente obtener un doctorado en Berkeley, la mayor parte de mi formación profesional se basó en lo que llamaré informática “clásica”: programación, algoritmos, estructuras de datos, sistemas, lenguajes de programación. En informática clásica, el objetivo final es reducir una idea a un programa escrito por un humano: código fuente en un lenguaje como Java, C++ o Python. Cada idea en la CS clásica, sin importar cuán compleja o sofisticada sea, desde un algoritmo de unión de bases de datos hasta el protocolo de consenso de Paxos, alucinante y obtuso, puede expresarse como un programa legible y comprensible para los humanos.

Cuando estaba en la universidad a principios de los años 90, todavía estábamos en lo más profundo del invierno de la IA, y la IA como campo también estaba dominada por los algoritmos clásicos. Mi primer trabajo de investigación en Cornell fue trabajar con Dan Huttenlocher , un líder en el campo de la visión por computadora (y ahora Decano de la Escuela de Computación del MIT). En el curso de visión por computadora de nivel de doctorado de Dan en 1995 aproximadamente, nunca discutimos nada parecido al aprendizaje profundo o a las redes neuronales; todo eran algoritmos clásicos como la detección de bordes Canny, el flujo óptico y las distancias de Hausdorff. El aprendizaje profundo estaba en su infancia y aún no se consideraba una IA convencional, y mucho menos una informática convencional.

Por supuesto, esto fue hace 30 años y muchas cosas han cambiado desde entonces, pero una cosa que realmente no ha cambiado es que las Ciencias de la Computación se enseñan como una disciplina con estructuras de datos, algoritmos y programación como núcleo. Me sorprendería que dentro de 30 años, o incluso 10 años, sigamos abordando la informática de esta manera. De hecho, creo que la informática como campo se enfrenta a una agitación bastante importante para la que pocos de nosotros estamos realmente preparados.

Una estatua futurista de la cabeza de la Isla de Pascua de Moai cyborg con ojos azules brillantes, con un paisaje urbano futurista en el fondo, onda sintética, toma larga

La programación quedará obsoleta

Creo que la idea convencional de “escribir un programa” está a punto de extinguirse y, de hecho, para todas las aplicaciones, excepto las muy especializadas, la mayor parte del software, tal como lo conocemos, será reemplazado por sistemas de inteligencia artificial entrenados en lugar de programados . En situaciones en las que se necesita un programa «simple» (después de todo, no todo debería requerir un modelo de cientos de miles de millones de parámetros ejecutándose en un grupo de GPU), esos programas serán generados por una IA en lugar de codificados a mano. .

No creo que esta idea sea una locura. Sin duda, los primeros pioneros de la informática, que surgieron de la cueva (relativamente) primitiva de la ingeniería eléctrica, creían estridentemente que todos los futuros científicos informáticos necesitarían un conocimiento profundo de los semiconductores, la aritmética binaria y el diseño de microprocesadores para comprender el software. Avance rápido hasta el día de hoy, y estoy dispuesto a apostar una buena cantidad de dinero a que el 99% de las personas que escriben software casi no tienen idea de cómo funciona realmente una CPU, y mucho menos de la física subyacente al diseño del transistor. Por extensión, creo que los informáticos del futuro estarán tan alejados de las definiciones clásicas de “software” que les resultará difícil revertir una lista enlazada o implementar Quicksort. (Diablos, no estoy seguro de recordar cómo implementar Quicksort yo mismo).

Los asistentes de codificación de IA como CoPilot solo están arañando la superficie de lo que estoy hablando. Me parece totalmente obvio que, por supuesto, todos los programas en el futuro serán escritos en última instancia por IA, y los humanos serán relegados, en el mejor de los casos, a una función de supervisión. Cualquiera que dude de esta predicción sólo necesita mirar el rápido progreso que se está logrando en otros aspectos de la generación de contenido de IA, como la generación de imágenes. La diferencia en calidad y complejidad entre DALL-E v1 y DALL-E v2 (anunciada sólo 15 meses después) es asombrosa. Si algo he aprendido en los últimos años trabajando en IA es que es muy fácil subestimar el poder de modelos de IA cada vez más grandes. Cosas que parecían ciencia ficción hace sólo unos meses se están convirtiendo rápidamente en realidad.

Pintura rupestre que muestra a un grupo de investigadores de IA entrenando un cerebro gigante

Así que no me refiero sólo a que CoPilot reemplace a los programadores . Estoy hablando de reemplazar todo el concepto de escribir programas con modelos de capacitación . En el futuro, los estudiantes de informática no necesitarán aprender habilidades tan mundanas como cómo agregar un nodo a un árbol binario o codificar en C++. Ese tipo de educación será anticuada, como enseñar a los estudiantes de ingeniería a utilizar una regla de cálculo.

Los ingenieros del futuro, con unas pocas pulsaciones de teclas, activarán una instancia de un modelo de cuatro trillones de parámetros que ya codifica todo el conocimiento humano (y algunos de ellos), listo para recibir cualquier tarea requerida por la máquina. La mayor parte del trabajo intelectual para lograr que la máquina haga lo que uno quiere consistirá en encontrar los ejemplos correctos, los datos de entrenamiento correctos y las formas correctas de evaluar el proceso de entrenamiento. Los modelos adecuadamente potentes y capaces de generalizar mediante un aprendizaje de pocas tomas requerirán sólo unos pocos buenos ejemplos de la tarea a realizar. En la mayoría de los casos ya no serán necesarios conjuntos de datos masivos seleccionados por humanos, y la mayoría de las personas que “entrenan” un modelo de IA no ejecutarán bucles de descenso de gradiente en PyTorch ni nada parecido. Ellos enseñarán con el ejemplo y la máquina hará el resto.

En esta Nueva Ciencia de la Computación, si es que la llamamos Ciencias de la Computación, las máquinas serán tan poderosas y ya sabrán cómo hacer tantas cosas que el campo parecerá menos una tarea de ingeniería y más una tarea educativa; es decir, cómo educar mejor a la máquina , no muy diferente de la ciencia sobre cómo educar mejor a los niños en la escuela. Sin embargo, a diferencia de los niños (humanos), estos sistemas de inteligencia artificial pilotarán nuestros aviones, gestionarán nuestras redes eléctricas y posiblemente incluso gobernarán países enteros. Yo diría que la gran mayoría de la informática clásica se vuelve irrelevante cuando nos centramos en enseñar máquinas inteligentes en lugar de programarlas directamente. La programación, en el sentido convencional, de hecho estará muerta.

“Un teclado de computadora sucio y desmoronado, plantado en el suelo, en una colina cubierta de hierba, con un gran árbol creciendo en la parte superior del teclado.  Las raíces del árbol crecen a través del teclado.  Arte digital, 4K”

¿Cómo cambia todo esto nuestra forma de pensar sobre el campo de la informática?

¿Cómo cambia todo esto nuestra forma de pensar sobre el campo de la informática?

La nueva unidad atómica de computación no se convierte en un procesador, memoria y sistema de E/S que implementa una máquina von Neumann, sino en un modelo de IA masivo, previamente entrenado y altamente adaptable.Este es un cambio radical en la forma en que pensamos sobre la computación, no como un proceso estático y predecible, gobernado por conjuntos de instrucciones, sistemas de tipos y nociones de decidibilidad. La computación basada en IA hace tiempo que cruzó el Rubicón de ser susceptible de análisis estático y pruebas formales. Nos estamos moviendo rápidamente hacia un mundo donde los componentes fundamentales de la computación son agentes temperamentales, misteriosos y adaptativos.

Este cambio se ve subrayado por el hecho de que nadie entiende realmente cómo funcionan los grandes modelos de IA. Hay gente que publica artículos de investigación que en realidad descubren nuevos comportamientos de grandes modelos existentes, a pesar de que estos sistemas han sido «diseñados» por humanos. Los grandes modelos de IA son capaces de hacer cosas para las que no han sido entrenados explícitamente, lo que debería asustar a Nick Bostrom y a cualquier otra persona preocupada (con razón) por una IA superinteligente enloquecida. Actualmente no tenemos forma, aparte del estudio empírico, de determinar los límites de los sistemas de IA actuales. En cuanto a los futuros modelos de IA que son órdenes de magnitud más grandes y complejos, ¡buena suerte!

El cambio de enfoque de los programas a los modelos debería ser obvio para cualquiera que haya leído algún artículo moderno sobre aprendizaje automático. Estos artículos apenas mencionan el código o los sistemas subyacentes a sus innovaciones; Los componentes básicos de los sistemas de IA son abstracciones de nivel mucho más alto, como capas de atención, tokenizadores y conjuntos de datos. A un viajero en el tiempo de hace incluso 20 años le resultaría difícil entender las tres oraciones en el documento GPT-3 (¡de 75 páginas!) que describen el software real que se creó para el modelo:

Usamos el mismo modelo y arquitectura que GPT-2 [RWC+19], incluida la inicialización modificada, la prenormalización y la tokenización reversible que se describen allí, con la excepción de que usamos patrones de atención alternados densos y dispersos con bandas locales en las capas de el transformador, similar al Sparse Transformer [CGRS19]. Para estudiar la dependencia del rendimiento de ML en el tamaño del modelo, entrenamos 8 tamaños diferentes de modelo, que van en tres órdenes de magnitud, desde 125 millones de parámetros hasta 175 mil millones de parámetros, siendo el último el modelo que llamamos GPT-3. Trabajos anteriores [KMH+20] sugieren que con suficientes datos de entrenamiento, el escalamiento de la pérdida de validación debería ser aproximadamente una ley de potencia suave en función del tamaño; Los modelos de entrenamiento de muchos tamaños diferentes nos permiten probar esta hipótesis tanto para la pérdida de validación como para las tareas lingüísticas posteriores.

Este cambio en la definición subyacente de informática presenta una gran oportunidad y muchos riesgos enormes. Sin embargo, creo que es hora de aceptar que este es un futuro muy probable y evolucionar nuestro pensamiento en consecuencia, en lugar de simplemente quedarnos sentados esperando que caiga el meteorito.

Barra lateral: ¿Qué he estado haciendo últimamente?

Mis lectores de toda la vida notarán que últimamente no he escrito mucho en el blog. ¡Lo lamento! He estado un poco ocupado.

Hace unos tres años, dejé Google por una startup adquirida por Apple. Posteriormente dejé Apple para dirigir la ingeniería en otra startup durante un par de años. En ese tiempo, aprendí muchísimo sobre la vida de las startups, la construcción de sistemas de inteligencia artificial y la creación de equipos. Fue grandioso.

Hace un par de meses abandoné el barco para iniciar mi propia empresa. Ahora soy el cofundador y director ejecutivo de Fixie.ai , una startup sigilosa en el espacio de la IA, y la publicación del blog anterior puede representar o no algunas de las ideas de esta nueva empresa. Tenemos un equipo fundador fantástico y estoy muy entusiasmado con lo que podremos lograr. Durante los próximos meses espero compartir más sobre lo que estamos haciendo. Hasta entonces, ¡esperad!

Comparte en tus perfiles

Facebook
Twitter
LinkedIn

Artículos Relacionados:

¿Para quién son las calles?

Más del 80% del espacio vial de Toronto está destinado de forma inequitativa a los vehículos motorizados. ¿Cómo se puede rediseñar esto de forma justa? Por Jeff Allen , Lanrick Bennett Jr. y Mia Wang ~ Septiembre de 2025 Jeff Allen dirigió el análisis y la visualización de datos para este proyecto, y apoyó la redacción; Lanrick Bennett Jr. dirigió la

Seguir leyendo »

AGROBIOTECNOLOGÍA

Argentina marca un récord histórico: 11 cultivos transgénicos aprobados en 2025 El agro argentino suma nuevas herramientas para ganar eficiencia y enfrentar plagas. La Secretaría de Agricultura, Ganadería y Pesca autorizó en los últimos días dos nuevos eventos biotecnológicos -uno de maíz y otro de soya que elevan a 11 el total de aprobaciones en

Seguir leyendo »

IA física: impulsando la nueva era de las operaciones industriales

Teresa Wolf yAndrea Willige. 9 de septiembre de 2025. WORLD ECONOMIC FORUM. Las operaciones industriales se encuentran en un momento crucial, condicionadas por la creciente complejidad y la escasez de mano de obra, y agravadas por la incertidumbre global. Este informe técnico, « IA física: Impulsando la nueva era de las operaciones industriales », explora cómo los

Seguir leyendo »