← Últimos artículos
💬 NLP

Regression Language Models for Code

Autores originales: Yash Akhauri, Xingyou Song, Arissa Wongpanich, Bryan Lewandowski, Mohamed S. Abdelfattah

Publicado 2026-05-28
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Yash Akhauri, Xingyou Song, Arissa Wongpanich, Bryan Lewandowski, Mohamed S. Abdelfattah

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que tienes una biblioteca masiva de programas informáticos escritos en docenas de lenguajes diferentes (como Python, C++ o incluso lenguajes especializados para tarjetas gráficas). Por lo general, si quieres saber cuánta memoria consumirá un programa, cuánto tardará en ejecutarse o qué precisión tendrá una red neuronal, tienes que ejecutar realmente el programa en un ordenador para averiguarlo. Esto es lento, costoso y a veces imposible si aún no has construido el hardware.

Durante mucho tiempo, los expertos intentaron construir "bolas de cristal" especiales para predecir estos números sin ejecutar el código. Pero estas bolas de cristal eran como herramientas hechas a medida: para predecir la memoria de Python, necesitabas una herramienta; para predecir la velocidad de una tarjeta gráfica, necesitabas una herramienta completamente diferente. Requerían que los humanos excavaran manualmente en el código, contaran comandos específicos y convirtieran el código en gráficos y diagramas complejos solo para alimentarlos a una calculadora. Si el código cambiaba ligeramente, la herramienta a menudo se rompía.

El nuevo "traductor universal" para código

Este artículo presenta un nuevo tipo de IA llamada Modelo de Lenguaje de Regresión (RLM). Piensa en esto no como una calculadora, sino como un supertraductor que habla tanto "código informático" como "números".

Así es como funciona, usando analogías sencillas:

1. El "Cerebro Congelado" y el "Escritor Creativo"

El modelo está construido como un equipo de dos partes:

  • El Cerebro Congelado (Codificador): Esta parte es una IA preentrenada (basada en un modelo llamado T5Gemma) que ya ha leído millones de libros y líneas de código. Entiende perfectamente la estructura de las oraciones y del código. Los investigadores "congelaron" esta parte, lo que significa que no le enseñaron nada nuevo. Solo actúa como un lector inteligente que entiende lo que dice el código.
  • El Escritor Creativo (Decodificador): Esta es la parte que realmente entrenaron. En lugar de escribir una historia, el trabajo de este escritor es mirar el código que leyó el "Cerebro" y escribir un número como la siguiente palabra en una oración.

La Analogía: Imagina que estás leyendo una receta (el código). Una IA normal podría intentar adivinar la lista de ingredientes. Esta nueva IA mira la receta y dice: "Basado en este texto, la siguiente palabra es '500' (calorías)". Trata la predicción de un número (como el uso de memoria o la velocidad) exactamente igual que completar una oración.

2. Una herramienta para todo

El mayor avance es que este único "traductor universal" puede manejar todo a la vez.

  • Puede leer código Python y adivinar cuánta memoria utiliza.
  • Puede leer código C++ y adivinar cuánto tarda en ejecutarse.
  • Puede leer un diseño de red neuronal (escrito en un formato llamado ONNX) y adivinar qué precisión tendrá o qué tan rápido se ejecutará en un chip específico.

Anteriormente, necesitabas un "experto" diferente para cada una de estas tareas. Este modelo es como un bisturí suizo que puede cambiar entre ser un experto en memoria, un experto en velocidad y un experto en precisión simplemente mirando el texto.

3. Cómo "cuenta" sin matemáticas

Uno de los trucos inteligentes es cómo el modelo genera números. En lugar de intentar hacer matemáticas complejas para generar "72.5", descompone el número en trozos pequeños, como una cerradura digital.

  • No dice "72.5".
  • Dice: "Signo más... 7... 2... punto decimal... 5".
  • La Analogía: Imagina que estás enseñando a un niño a contar. En lugar de pedirle que resuelva "50 + 25", le pides que escriba la respuesta dígito por dígito: "5... 0... más... 2... 5... igual... 7... 2... 5". Esto hace que sea mucho más fácil para la IA manejar números enormes (como millones de bytes) o números diminutos sin confundirse.

4. Por qué es mejor que la vieja forma

  • Sin trabajo manual: Los métodos antiguos requerían que los humanos diseñaran manualmente características (como "contar el número de bucles"). Este modelo lee el texto crudo directamente, tal como un humano lee un libro.
  • Mejor clasificación: El artículo muestra que si le das a este modelo 10 versiones diferentes del mismo código, es muy bueno ordenarlas de "más rápido" a "más lento" o de "menor memoria" a "mayor memoria". Es como un juez que puede mirar a 10 corredores y saber instantáneamente quién ganará, incluso sin un cronómetro.
  • Costo: Los investigadores descubrieron que usar este modelo es mucho más barato que usar gigantes chatbots de IA de propósito general (como GPT-5) para adivinar los números. Los chatbots son como usar un mazo para romper una nuez; son caros y a menudo incorrectos. Este modelo es una herramienta especializada y ligera que hace el trabajo por centavos.

Lo que realmente demostraron
El artículo probó esto en:

  • CodeNet: Un conjunto de datos enorme con millones de fragmentos de código en 37 lenguajes diferentes. El modelo predijo con éxito el uso de memoria en todos ellos.
  • APPS: Un conjunto de desafíos de programación. El modelo podía mirar una solución y predecir su uso de memoria con una precisión muy alta (mejor que un 90% de correlación con la realidad).
  • Redes neuronales: Predijo la velocidad y la precisión de diseños de IA mejor que los métodos anteriores de última generación que usaban diagramas de grafos complejos.

En resumen:
El artículo afirma que no necesitamos construir herramientas complejas y personalizadas para predecir cómo se desempeña el código. En su lugar, podemos tratar el código como una historia y los números como la siguiente palabra en esa historia. Al entrenar una única IA unificada para hacer esto, podemos predecir la memoria, la velocidad y la precisión para casi cualquier lenguaje de programación o diseño de IA, simplemente leyendo el texto. Convierte un problema matemático difícil en un simple juego de "¿qué sigue?".

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →