Quebrando as restrições de desempenho nos núcleos Tensor
Uma série de projetos de código aberto revelou a existência de restrições de software deliberadas nas placas de vídeo GeForce da NVIDIA (séries RTX 20, 30 e 40), onde os núcleos Tensor operam a metade de sua velocidade máxima ao realizar certas operações matemáticas baseadas em acumulação de precisão FP32. Esta restrição, imposta pela NVIDIA via software para distinguir placas de jogos de placas de estações de trabalho profissionais, limita a eficiência das placas em tarefas de treinamento de modelos de IA e inferência.
Como funcionam as modificações?
A iniciativa começou com um usuário do GitHub chamado Zagitta, que desenvolveu um módulo de kernel do Linux (Linux kernel module) chamado gpu-unlock. Esta ferramenta funciona antes do carregamento dos drivers oficiais da NVIDIA, reescrevendo e redefinindo os registros de seleção de velocidade da placa. Como a modificação ocorre ao nível do kernel, ela não requer a modificação do VBIOS ou alterações permanentes nos drivers.
Testes na placa RTX 3090 Ti mostraram um aumento notável no desempenho de processamento de matrizes, com a velocidade de processamento BF16 subindo de 87,5 para 157,4 TFLOPS, quase dobrando o desempenho de TF32. Essas soluções também foram adaptadas para outras gerações, como gpu-unlock-ada para a série RTX 40 e turing-unlock para a série RTX 20.
O que muda na prática para os usuários?
- Melhorias de desempenho: Os usuários se beneficiam principalmente em tarefas de geração de imagens (Image Generation) e processos de ajuste fino (Fine-tuning) de modelos, onde essas tarefas dependem intensamente de cálculos de FP32-accumulate.
- Benefício limitado para jogos: Os jogadores não notarão diferença no desempenho, pois os jogos não dependem desse tipo de operações matemáticas intensivas nos núcleos Tensor.
- Aplicações de chat: A velocidade de geração de texto (Token speed) não apresenta melhoria significativa, uma vez que é limitada principalmente pela largura de banda da memória (Memory Bandwidth) e não pelo poder de computação bruto.
Considerações importantes e riscos
Embora os desenvolvedores indiquem que os mecanismos de proteção térmica e de energia da placa permanecem eficazes, há avisos de que operar os núcleos Tensor em sua capacidade total pode levar a um alto consumo de energia, levantando preocupações sobre a estabilidade do hardware a longo prazo. Além disso, o suporte atual é quase inteiramente limitado ao ambiente Linux, com experiências muito limitadas no Windows.