← Últimos artigos
🤖 machine learning

GPTQ-2D: Cubic-Time Two-Sided Adaptive Rounding

Este artigo apresenta o GPTQ-2D, um algoritmo de tempo cúbico que realiza eficientemente o arredondamento adaptativo de dois lados em matrizes ao processar entradas em paralelo ao longo de antidiagonais, reduzindo assim a complexidade computacional do tempo quártico exigido pelos métodos de vetorização padrão, enquanto produz resultados idênticos.

Autores originais: Jiale Chen, Torsten Hoefler, Dan Alistarh

Publicado 2026-07-30
📖 7 min de leitura🧠 Leitura aprofundada

Autores originais: Jiale Chen, Torsten Hoefler, Dan Alistarh

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está tentando empacotar uma torre enorme e instável de blocos de Jenga em uma caixa pequena e rígida. No mundo da inteligência artificial, esses "blocos" são números dentro de uma planilha gigante (uma matriz) que ensina um computador a pensar. Para fazer esses computadores rodarem mais rápido e usarem menos energia, engenheiros tentam reduzir esses números para números inteiros simples, um processo chamado "quantização". Mas há um problema: se você apenas cortar as casas decimais aleatoriamente, a torre desmorona e o computador começa a cometer erros bobos.

Para resolver isso, cientistas usam um truque inteligente chamado "arredondamento adaptativo". Pense nisso como um jogo de dominós. Quando você derruba um dominó (arredonda um número), isso cria um pequeno balanço. Em vez de ignorar esse balanço, o arredondamento adaptativo o captura e o empurra para o próximo dominó na linha, ajustando-o levemente para que toda a linha permaneça reta. Este método, conhecido como GPTQ, tem sido um astro por anos, mas só funciona bem quando os dominós estão organizados em uma única linha longa. No entanto, os modelos de IA modernos são mais como uma grade gigante e bidimensional de dominós, onde derrubar um afeta seus vizinhos tanto à direita quanto abaixo. Tentar consertar essa grade 2D com o antigo método de "uma linha" é como tentar desatar um nó puxando apenas uma das pontas — funciona, mas leva uma eternidade e fica preso em um loop quatro vezes mais lento do que o necessário.

Este artigo apresenta uma nova maneira de desatar esse nó, chamada GPTQ-2D. Os autores, Jiale Chen, Torsten Hoefler e Dan Alistarh, descobriram que você não precisa puxar os dominós um por um em uma linha longa. Em vez disso, você pode agarrar fileiras diagonais inteiras de dominós e consertá-las todas ao mesmo tempo. Ao perceber que o "balanço" de um bloco só viaja para baixo e para a direita, eles encontraram um atalho que permite processar toda a grade em uma fração do tempo. Eles provaram matematicamente que este novo método produz exatamente a mesma torre perfeita que o método antigo e lento, mas o faz em tempo "cúbico" (que é rápido), em vez de tempo "quártico" (que é dolorosamente lento). Isso significa que agora podemos encolher esses cérebros gigantes de IA de forma muito mais eficiente sem quebrá-los, tornando a IA poderosa mais acessível em dispositivos comuns.

A História do Quebra-Cabeça de Dois Lados

Vamos mergulhar na mecânica deste quebra-cabeça. No antigo método de um lado só (GPTQ), imagine que você tem uma fila de pessoas passando uma mochila pesada. Se a primeira pessoa deixa cair uma moeda, ela diz à próxima pessoa para carregar um pouco de peso extra para compensar. Isso acontece uma pessoa de cada vez, movendo-se ao longo da fila. Funciona muito bem para uma fila indiana.

Mas no mundo real da IA, as "pessoas" estão organizadas em uma grade, como um tabuleiro de xadrez. Agora, se uma pessoa no meio deixa cair uma moeda, esse peso precisa ser compartilhado com todos que estão abaixo dela e todos que estão à direita dela. Se você tentar consertar esta grade percorrendo cada quadrado individualmente (a abordagem "vetorizada"), acabará fazendo uma quantidade enorme de trabalho redundante. É como tentar limpar um quarto inteiro limpando cada centímetro do chão, mesmo as partes que você já limpou, repetidamente. A matemática mostra que isso leva um tempo enorme, crescendo tão rápido que, se você dobrar o tamanho da grade, o trabalho quadruplica (ou até mais).

Os autores deste artigo olharam para esta grade e perceberam algo mágico: o "balanço" ou erro de qualquer quadrado viaja apenas em uma direção específica — para baixo e para a direita. Isso cria um gráfico de dependência que se parece com uma escada. Se você olhar para a grade diagonalmente (da parte superior direita para a parte inferior esquerda), verá que todos os quadrados na mesma linha diagonal são independentes entre si. Eles não afetam uns aos outros!

Este é o momento "Aha!". Como eles são independentes, você pode arredondar todos os números em uma única linha diagonal ao mesmo tempo, como uma onda quebrando sobre o tabuleiro. Este é o núcleo do GPTQ-2D.

A Magia do Buffer "Preguiçoso"

Então, como eles tornam isso rápido? No antigo modo "lento", toda vez que você corrigia um número, você imediatamente ia e atualizava cada quadrado no enorme retângulo abaixo e à direita dele. Isso é muito trabalho inútil.

O novo algoritmo GPTQ-2D é muito mais preguiçoso (de um jeito bom). Em vez de atualizar todo o retângulo imediatamente, ele apenas empurra o erro para baixo em sua própria coluna e através de sua própria linha, deixando uma "nota" em um buffer. É como um professor que, em vez de caminhar até a mesa de cada aluno para corrigir um erro, apenas escreve a correção na própria mesa do aluno e na mesa do aluno à direita dele. Os alunos mais adiante na linha eventualmente verão essas notas e se corrigirão.

Ao usar essa abordagem "preguiçosa", o algoritmo evita o trabalho pesado de atualizar toda a grade constantemente. Ele processa a grade em "ondas" (as anti-diagonais). Cada onda leva um tempo minúsculo e, como as ondas podem acontecer em paralelo, todo o processo acelera dramaticamente.

O artigo prova que essa abordagem diagonal preguiçosa produz o mesmo resultado exato que o método lento, um por um. Não é uma aproximação; é uma garantia matemática. Os autores mostram que, quer você conserte os dominós um por um ou em ondas diagonais, a torre final permanece exatamente a mesma.

Por Que Isso Importa

O artigo não apenas supõe que isso é mais rápido; eles fizeram as contas para provar. Para uma grade quadrada (onde o número de linhas é igual ao número de colunas), o método antigo leva um tempo proporcional ao tamanho da grade à quarta potência (O(m2n2)O(m^2n^2)). O novo método GPTQ-2D leva um tempo proporcional ao tamanho à terceira potência (O(m3)O(m^3)).

Para colocar em perspectiva: se você tiver uma grade de 1.000 por 1.000, o método antigo está fazendo um bilhão de vezes mais trabalho do que o necessário em comparação ao novo método. O novo método reduz o custo de consertar uma grade de dois lados para o mesmo nível de consertar uma simples linha de um lado só.

Os autores também descrevem uma versão "em blocos" deste algoritmo (Algoritmo 4), que agrupa essas ondas diagonais em pedaços. Isso é projetado para funcionar ainda melhor em chips de computador modernos, que adoram fazer grandes blocos de matemática de uma só vez, em vez de pequenos bits espalhados. Isso torna a teoria pronta para o uso no mundo real.

Em resumo, este artigo pega um problema que era lento demais para ser prático para grandes e complexos modelos de IA e lhe dá um impulso de velocidade que o torna viável. Ele mostra que, ao mudar a ordem em que olhamos para os dados — trocando uma linha reta por uma onda diagonal — podemos resolver um quebra-cabeça de dois lados tão facilmente quanto um de um lado só, sem perder nenhuma precisão. É um lembrete de que, às vezes, a maneira mais rápida de resolver um problema não é trabalhar mais duro, mas olhar para o problema de um ângulo diferente.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →