Executando verificação de segurança...
5

A era de LLMs binárias BitNet 1.58b

Salve galera. Acabo de encontrar na Internet um artigo da Microsoft sobre LLMs com pesos ternários, podendo assumir valores de -1, 0 e 1. Não manjo do assunto mas achei muito interessante. Mesmo não sendo da área vou tentar trazer o pq essa nova abordagem é interessante e se se provar real, vai ser uma quebra dos padrões atuais de hardware para AI.

Atualmente a maioria dos modelos são treinados usando pontos flutuantes de 32 ou 16 bits e posteriormente podem ser quantisados em valores de menor precisão como 8, 4 ou até mesmo 2 bits. O objetivo da quantização é diminuir a quantidade de memória ram, vram na maioria dos casos, necessária para conseguir rodar o modelo. Contudo quanto menor a precisão utilizada na quantização, mais a capacidade do modelo é prejudicada.

Dito isso, o modelo ternário sugerido utiliza apenas 3 valores possíveis como peso, dessa forma seriam necessários teoricamente apenas 1.58 bits por peso do modelo. Eu não sei se é possível realmente ter 1.58 bits por peso, mas no pior caso serão 2 bits, o que é 8 vezes menor que modelos de 16 bits. Além disso essa abordagem também remove a operação de multiplicação de números de ponto flutuantes, o que implica na possibilidade de utilização de um hardware mais simples (talvez CPUs?).

O artigo diz que modelos que usam essa técnica possuem o mesmo desempenho que modelos de 16 bits, porém com tamanho e latência significativamente reduzidos.

Pelo que entendi, não é possível apenas aplicar uma quantização aos modelos existentes, mas sim treinar modelos do zero com essa nova abordagem.

Bom, meu objetivo com esse post é abrir uma discussão sobre isso. Se alguém já viu algum modelo funcional que usa essa abordagem, comenta aí. Vi bastante discussão nos fóruns gringos, mas não achei nada em PT-Br (talvez exista).

Carregando publicação patrocinada...
1

Uma coisa que me deixa intrigado é que usamos modelos com float16 porque precisamos de determinada precisão para carregar o nível de correlação entre determinados neurônios. Se usamos os valores ternários de um starship simples como manteríamos a precisão?

1