Pular para o conteúdo
    NotíciaInfraestrutura e hardware

    gpu-unlock dobra TFLOPS de GeForce em teste, mas ganho na IA real é bem menor

    Projeto open-source altera configurações internas de placas GeForce RTX 30 e 40 e dobra a velocidade de certas contas de IA em testes sintéticos. Em tarefas reais, os ganhos medidos vão de zero a 34%, e a NVIDIA ainda não comentou.

    Placa de vídeo aberta sobre bancada de oficina, com o chip gráfico exposto após a remoção do dissipador e um cabo de depuração conectado à placa, sob luz lateral fria
    Projeto open-source altera configurações internas de placas GeForce RTX 30 e 40 e dobra o desempenho em testes sintéticos, mas os ganhos em tarefas reais variam de zero a 34%
    Neste artigo

    O número que circula nas últimas semanas impressiona qualquer dono de placa de vídeo: uma RTX 4090 que sai de 165,6 para 331,6 TFLOPS em cálculos de IA no formato FP16, sem trocar peça nem gravar uma BIOS nova. A medição existe e foi reproduzida por mais de uma pessoa. O problema é que ela mostra muito menos do que parece.

    O responsável é o gpu-unlock (abre em nova aba), projeto de código aberto publicado pelo desenvolvedor Zagitta em 28 de setembro. Até esta segunda-feira (26), o repositório estava na versão 1.1.0 e acumulava 9,6 mil estrelas no GitHub. O projeto original atende as GeForce RTX 30, com chips GA102, GA103, GA104 e GA106. O suporte à RTX 4090 veio depois, num derivado chamado gpu-unlock-ada (abre em nova aba). Ele aproveita o carregador criado por Zagitta e um código de firmware desenvolvido por outro modder, TOTORONG.

    O freio que a ferramenta solta

    Os Tensor Cores são a parte da placa dedicada às contas de matriz que fazem os modelos de IA funcionarem. Segundo Zagitta, as GeForce executam um tipo específico dessas contas a cerca de metade da velocidade das placas profissionais da NVIDIA (abre em nova aba) que usam o mesmo chip. São as operações em FP16 e BF16 cujo resultado é somado em FP32, um formato mais preciso. Ele atribui a limitação à estratégia de separar a linha de consumo das linhas profissional e de datacenter. A acusação é dele: a NVIDIA não comentou publicamente nem a ferramenta nem essa explicação.

    Placa de vídeo sem cooler com o chip gráfico exposto ao lado de uma placa profissional de mesmo chip, sobre bancada iluminada por luz lateral
    GeForce RTX 4090 e placa profissional compartilham o mesmo chip AD102; o gpu-unlock tenta liberar nas placas de consumo um desempenho em IA que, na prática, cresce bem menos que nos testes sintéticos.

    O método é engenhoso. A ferramenta é um módulo do kernel do Linux que age antes do driver oficial da NVIDIA. Primeiro, grava valores em registradores internos que definem a velocidade dessas instruções. Depois, reinicia a placa e só então deixa o driver original, sem nenhuma alteração, assumir o controle. Como nada fica gravado de forma permanente, o efeito some quando a placa perde energia. Desligar o computador ou colocá-lo em suspensão desfaz o desbloqueio.

    Onde o dobro aparece, e onde some

    O salto de 2x aparece em testes sintéticos, que medem quantas dessas instruções a placa consegue disparar em condições ideais. Nesse cenário, o resultado se repete. Um dono de RTX 4090 que testou por conta própria, com o mesmo limite de 450 W, viu o FP16 ir de 160,4 para 320,4 TFLOPS. Uma RTX 4070 Ti SUPER foi de 95 para 189,9.

    Fora desse cenário ideal, o ganho encolhe. Na mesma rodada independente, multiplicações de matrizes feitas com o cuBLAS, a biblioteca da NVIDIA usada por programas de IA de verdade, ganharam entre 12% e 34% em FP16. Em BF16, o ganho foi de 16% a 20% em dois tamanhos de matriz e praticamente zero em um terceiro. Até nos números do próprio Zagitta para a RTX 3090 Ti o efeito varia bastante conforme o formato:

    Placa e testeAntesDepois
    RTX 4090, instruções FP16 (sintético)165,6 TFLOPS331,6 TFLOPS
    RTX 3090 Ti, matriz BF1687,5 TFLOPS157,4 TFLOPS
    RTX 3090 Ti, matriz FP1687,5 TFLOPS118,4 TFLOPS
    RTX 3090 Ti, matriz TF3242,6 TFLOPS82,6 TFLOPS

    Para quem roda modelos de linguagem em casa, o resultado é mais modesto ainda. Um dono de RTX 3090 relatou 16% de ganho na leitura de prompts longos. Já a velocidade com que as respostas aparecem na tela ficou praticamente igual. Numa RTX 4090 modificada com 48 GB, um modelo MoE quantizado rodou até um pouco mais devagar (0,983x). Segundo o projeto, as operações INT8 e as contas comuns em FP32 também não mudaram. Ganho em jogos, até agora, ninguém comprovou.

    Os riscos para quem pensa em testar

    Não é algo que se instala com dois cliques. Zagitta só mantém a versão para Linux. Existe uma adaptação para Windows feita por terceiros, cuja versão 0.3.1 saiu em 24 de outubro, mas ela é distribuída apenas como código-fonte. Além disso, exige que o usuário escolha um aplicativo EFI no menu de inicialização toda vez que liga o PC. Numa RTX 3090, essa adaptação levou o FP16 de 70,55 para 125,91 TFLOPS no teste do próprio autor.

    Sobre o hardware, Zagitta diz ser "muito improvável" que a ferramenta danifique a placa e afirma que os limites de temperatura e de energia continuam funcionando. Vale lembrar que essa avaliação é de quem escreveu o código, não do fabricante. Os próprios projetos trazem um aviso: se o firmware não parar, desligue o computador e não tente forçar a remoção do módulo.

    Há ainda um ponto delicado na versão para a série 40. Segundo o README, ela usa endereços de instruções tirados de análises publicadas de uma versão de depuração do código que inicializa a GPU. A versão comercial desse código é autenticada e decifrada dentro do próprio chip. Em português claro: o truque depende de engenharia reversa de algo que a NVIDIA protege. É razoável supor que uma mudança de firmware feita pela empresa possa quebrá-lo.

    O que fica é uma ferramenta útil para um público pequeno. Para quem treina modelos em uma RTX 3090 ou 4090, ganhar de 12% a 34% sem gastar nada é relevante, desde que a pessoa aceite rodar código de baixo nível escrito por desconhecidos. Para todos os outros, a parte mais interessante talvez nem seja o desempenho. A comunidade mediu, de forma repetível, uma diferença de velocidade entre placas que usam o mesmo silício, e a NVIDIA ainda não explicou por que ela existe.

    Foto de Leandro Vieira

    Leandro Vieira

    CEO e founder | IA.com.br

    Ver perfil completo