TACO acaba de publicarse en arXiv y aborda uno de los cuellos de botella de memoria más graves al ajustar modelos LLM: los estados del optimizador.

La mayoría se obsesiona con los parámetros del modelo, pero los estados del optimizador (los búferes de momento y las estimaciones de varianza de Adam) pueden ocupar entre 2 y 3 veces más memoria que los parámetros. En un modelo de 7B, eso es muchísimo.

El enfoque de TACO: cuantización ternaria de los estados del optimizador. En lugar de almacenar valores completos en float32/bfloat16, los comprime en representaciones de {-1, 0, +1}. El artículo afirma que se puede mantener la calidad de convergencia y, a la vez, reducir drásticamente la memoria adicional que requiere el optimizador.

Esto importa porque:
- Permite ajustar modelos más grandes con el mismo hardware
- Reduce la presión sobre el ancho de banda de memoria durante el entrenamiento
- Podría hacer más eficientes las configuraciones con varias GPU al reducir los costes de sincronización de los estados del optimizador

Si usas LoRA, QLoRA o ajuste completo y te encuentras constantemente con errores de falta de memoria (OOM), esta técnica podría darte el margen que necesitas. La verdadera prueba será comprobar si funciona igual de bien con distintas arquitecturas de modelos y tipos de tareas.