A quantização permite que os modelos de aprendizado de máquina usem menos memória e poder de computação para obter respostas mais rápidas e reduzir custos. No entanto, isso pode tornar a inferência de IA menos precisa.
Após ler este artigo, você será capaz de:
Copiar o link do artigo
A quantização é uma técnica para aliviar a carga da execução de modelos de aprendizado de máquina e de inteligência artificial (IA). Ela visa reduzir a memória necessária para inferência de IA. A quantização é particularmente útil para modelos de linguagem grande (LLMs).
Em geral, a quantização é um processo de conversão de um sinal digital de um formato altamente preciso para um formato que ocupa menos espaço e, como resultado, é um pouco menos preciso. O objetivo é tornar o sinal menor para que ele possa ser processado mais rapidamente. Em aprendizado de máquina e IA, a quantização visa fazer com que os modelos rodem mais rápido, usem menos poder computacional ou as duas coisas. Em última análise, isso permite que os usuários executem modelos de IA em hardware mais barato e, idealmente, sacrifiquem um pouco a precisão.
Para visualizar como isso faz com que a inferência de IA ocupe menos memória, imagine um tubo de uma certa largura, talvez alguns centímetros, e imagine que alguém precisa rolar muitas bolinhas de gude pelo tubo. Se usar bolinhas grandes, apenas duas ou três podem passar por um ponto do tudo de uma vez. Se usar bolinhas pequenas, muitas mais podem passar de uma só vez. Portanto, o uso de bolinhas pequenas significa que mais bolinhas podem passar pelo tudo mais rapidamente.
A quantização converte bolinhas grandes em bolinhas pequenas. As informações necessárias para calcular inferências ocupam menos espaço na memória, portanto, mais informações podem passar mais rapidamente e a computação de IA se torna mais eficiente.
Os modelos usados para aprendizado de máquina, um tipo de IA, são extremamente complexos. Eles usam quantidades enormes de memória e capacidade computacional. De fato, o aumento da popularidade da IA levou a crises de energia: servidores que executam modelos avançados de aprendizado de máquina precisam de enormes quantidades de eletricidade. Em alguns casos, a rede elétrica disponível publicamente não consegue fornecer tudo. Isso levou a uma série de soluções criativas, desde o aumento do uso da energia solar até a reativação de usinas nuclear desativadas.
A quantização visa reduzir a carga computacional do outro lado, para que os próprios modelos de IA usem menos energia. Para desenvolvedores e organizações que executam modelos de IA, isso pode ajudar a tornar a IA muito mais econômica, já que nem todos podem se dar ao luxo de reativar centrais nuclear antigas.
Para entender por que a quantização afeta a precisão, imagine pedir informações a alguém. A pessoa pode fornecer uma lista detalhada das ruas, os nomes de cada rua e os nomes das ruas antes e depois de cada rua. Esse conjunto de instruções é altamente preciso, mas pode ser difícil de lembrar. Por outro lado, alguém pode dizer algo como "segunda à esquerda, quarta à direita, primeira à esquerda". Isso é muito mais fácil de lembrar, embora menos preciso.
Na IA, a quantização funciona reduzindo o número de bits usados pelos pontos de dados. A perda de bits significa que uma certa quantidade de precisão pode ser perdida. O resultado pode ser mais erros na saída (assim como um motorista pode identificar erroneamente a "quarta à esquerda" no exemplo acima sem o nome da rua). No entanto, existem diferentes tipos de quantização, alguns dos quais são mais precisos do que outros.
Na prática, as empresas ou usuários têm casos de uso em que o modelo de IA quantizado é "bom o suficiente". O caso de uso geralmente não precisa de resultados altamente precisos. Um exemplo de um desses casos de uso é o acompanhamento de tendências e menções nas redes sociais sem precisar de pontos de dados exatos, com foco no sentimento e engajamento geral.
A quantização pós-treinamento (PTQ) é a aplicação da quantização a modelos preexistentes que já foram treinados. A PTQ pode ser aplicada de forma relativamente rápida a modelos treinados. Ela contrasta com o treinamento com reconhecimento de quantização (QAT), que ocorre antes de um modelo ser treinado e exige bastante poder computacional. A PTQ funciona convertendo números de ponto flutuante em números de ponto fixo.
A representação de ponto flutuante é um método altamente preciso para representar números que é comumente usado em aprendizado de máquina e aprendizado profundo. Os números armazenados via representação de ponto flutuante ocupam uma quantidade definida de bits, 16 ou 32 (dependendo do tipo de representação de ponto flutuante usada).
Muitos tipos de quantização reduzem isso para 8 bits. O resultado é que os números quantizados ocupam metade ou um quarto desse espaço na memória. É claro que, com menos bits, os valores quantificados não são tão precisos quanto os números de ponto flutuante, assim como um número com menos casas decimais (por exemplo, 3,14) é menos preciso do que um número com mais casas decimais (por exemplo, 3,141592654).
A quantização de pesos com reconhecimento de ativação (AWQ) é uma técnica que visa equilibrar melhorias de eficiência com precisão. A AWQ protege os pesos mais importantes dentro de um modelo contra alterações. (Pesos são valores que medem a relação entre os itens dentro de um conjunto de dados). Lembre-se do exemplo de instruções acima. Em vez de "segunda à esquerda, quarta à direita, primeira à esquerda", imagine "segunda à esquerda, à direita na rua doze, depois primeira à esquerda". Essa contém algumas informações mais precisas, mas ainda é uma lista de instruções relativamente curta (e fácil de lembrar). A AWQ funciona de forma semelhante, mantendo alguns números inteiros de um modelo inalterados enquanto altera outros.
O Cloudflare Workers AI é compatível com vários modelos de linguagem grande (LLMs) que incorporam quantização de ponto flutuante e AWQ para que sejam mais leves na memória e usem menos poder computacional, mantendo a precisão. Para saber mais, consulte documentação do Cloudflare Workers AI.
Comece a usar
Inteligência artificial
Aprendizado de máquina