Test Time Compute, la técnica que busca hacer más inteligentes a los modelos de lenguaje
En Agosto, Google DeepMind publicaba el paper "Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters" en el que se planteaba un nuevo problema del que llevamos ya tiempo hablando en mi perfil: dejar atrás la necesidad de construir modelos cada vez más grandes (en cuanto a parámetros) para que sean más inteligentes.
La introducción de este paper empieza con una pregunta que me gusta mucho porque nos hace entender la cuestión del problema a resolver en este artículo: "Los humanos tienden a pensar durante más tiempo en problemas difíciles para mejorar sus decisiones de forma fiable. ¿Podemos inculcar una capacidad similar en los Grandes Modelos de Lenguaje de hoy en día?". Es decir, ¿podemos hacer que el tiempo de inferencia de un modelo de lenguaje sea mayor para que piense durante más tiempo en la respuesta que nos va a dar?
Hasta ahora, siempre que hemos querido mejorar el rendimiento de un modelo de lenguaje en tareas de razonamiento, acudimos a técnicas como:
Todas estas técnicas se centran en mejorar el modelo durante la fase de entrenamiento pero, ninguna se centra en los cálculos aplicados en el tiempo de inferencia (test time). ¡Presentamos al Test Time Compute!
Test Time Compute
Test Time Compute se refiere a la utilización de cómputo adicional durante la fase de inferencia de un modelo de lenguaje, con el objetivo de mejorar la calidad de sus respuestas; es decir, se trata de permitir que el modelo piense durante más tiempo para llegar a una solución más precisa, especialmente cuando se enfrenta a problemas complejos.
Tradicionalmente, el enfoque principal para mejorar el rendimiento de los modelos de lenguaje ha sido aumentar su tamaño y capacidad de entrenamiento. Sin embargo, en Test Time Compute cambiamos el paradigma, ya que con esta técnica podemos aprovechar el cómputo disponible durante la inferencia para refinar las respuestas del modelo.
Esto es particularmente relevante en escenarios donde se requiere un alto grado de precisión, como en la resolución de problemas matemáticos, donde la capacidad de razonamiento del modelo es crucial.
Recomendado por LinkedIn
Existen dos mecanismos principales para escalar el Test Time Compute:
Además, un aspecto interesante que se habla en el paper es la posibilidad de intercambiar cómputo entre la fase de pre-entrenamiento y la de inferencia. En lugar de aumentar el tamaño del modelo o el tiempo de entrenamiento, se podría destinar más cómputo a la fase de inferencia para refinar las respuestas del modelo. Sin embargo, existe el problema de que esta relación no es lineal ni siempre favorece al Test Time Compute (en problemas sencillos puede ser factible pero en problemas más complejos no).
Conclusiones
Aunque esta técnica resulta muy prometedora, hay que tener en cuenta los siguientes puntos: