Rompiendo las restricciones de rendimiento en los núcleos Tensor
Una serie de proyectos de código abierto han revelado la existencia de restricciones de software deliberadas en las tarjetas gráficas GeForce de NVIDIA (series RTX 20, 30 y 40), donde los núcleos Tensor funcionan a la mitad de su velocidad máxima al realizar ciertas operaciones de cálculo basadas en la acumulación de precisión FP32. Esta restricción, impuesta por NVIDIA a nivel de software para diferenciar las tarjetas de juego de las tarjetas de estaciones de trabajo profesionales, limita la eficiencia de las tarjetas en tareas de entrenamiento de modelos de inteligencia artificial e inferencia.
¿Cómo funcionan las modificaciones?
La iniciativa comenzó con un usuario de GitHub llamado Zagitta, quien desarrolló un módulo de kernel para Linux llamado gpu-unlock. Esta herramienta funciona antes de cargar los controladores oficiales de NVIDIA, reescribiendo los registros de selección de velocidad en la tarjeta y restableciéndolos. Dado que la modificación se realiza a nivel de kernel, no requiere modificar el VBIOS ni realizar cambios permanentes en los controladores.
Las pruebas en una tarjeta RTX 3090 Ti mostraron un aumento notable en el rendimiento del procesamiento de matrices, donde la velocidad de procesamiento de BF16 aumentó de 87.5 a 157.4 TFLOPS, con un rendimiento de TF32 casi duplicado. Estas soluciones también se han adaptado para otras generaciones, como gpu-unlock-ada para la serie RTX 40 y turing-unlock para la serie RTX 20.
¿Qué cambia prácticamente para los usuarios?
- Mejoras de rendimiento: Los usuarios se benefician principalmente en tareas de generación de imágenes y procesos de ajuste fino (fine-tuning) de modelos, ya que estas tareas dependen intensamente de los cálculos de acumulación FP32.
- Utilidad limitada para juegos: Los jugadores no notarán ninguna diferencia en el rendimiento, ya que los juegos no dependen de este tipo de operaciones de cálculo intensivas de los núcleos Tensor.
- Aplicaciones de chat: La velocidad de generación de texto (velocidad de tokens) no experimenta una mejora significativa, dado que está limitada principalmente por el ancho de banda de la memoria y no por la potencia de cómputo bruta.
Consideraciones importantes y riesgos
Aunque los desarrolladores señalan que los mecanismos de protección térmica y de energía de la tarjeta siguen siendo efectivos, existen advertencias de que ejecutar los núcleos Tensor a plena capacidad puede provocar un alto consumo de energía, lo que genera preocupaciones sobre la estabilidad del hardware a largo plazo. Además, el soporte actual se limita casi por completo al entorno Linux, con experimentos muy limitados en Windows.