Entenda alguns conceitos fundamentais sobre inteligência artificial e como essa tecnologia funciona.
Eu estava estudando superficialmente a arquitetura de LLMs modernas esses dias, e a escala das coisas é surpreendente… Pegando o LLama 2 70B como exemplo:
- 80 camadas,
- cada camada tem:
- 4 matrizes ( Q K V O ) de atenção, Q e O de 8192 x 8192 e K V de 8.192 × 1.024
- 3 matrizes de raciocínio, de 8192 x 28672 (up gate), 28672 x 8192 (down)
- onde cada célula da matriz pode assumir ~256 possibilidades de valor se estivermos falando de quantização Q8 (8 bits)
Um único vetor (8192 números) tem 256^8192 combinações possíveis. São mais combinações do que átomos no universo, mais que o suficiente para representar provavelmente qualquer conceito ou informação possível.
Um vetor é um token, um ponto num espaço hiper dimensional, que está localizado em relação aos outro possíveis valores nesse espaço. Numa analogia, é o equivalente de um ponto X, Y, Z na matriz 3D de um jogo, só que com 8192 dimensões.
O LLama 2 70B tem uma janela de contexto de 4096 tokens (algo como 3000 palavras). E é aqui que fica mais claro porque é uma GPU fazendo o trabalho:
A GPU processa todos estes 4096 tokens em paralelo, 1 camada por vez. Para se ter uma ideia, a operação matriz-vetor na primeira matriz (Q) de uma camada:
8.192 multiplicações + 8.192 somas = ~16.000 operações
16.000 × 8.192 = ~134 milhões de operações
Fazendo mais alguns cálculos grosseiros para ver como isso escala:
1 token × 7 matrizes: ~1,7 bilhão
4.096 tokens × 7 matrizes (paralelo): ~7 trilhões
total por camada: ~7,07 trilhões
interação entre tokens (Q×K e pesos×V): ~69 bilhões
para 80 camadas: ~565 trilhões
Ou seja, uma GPU está fazendo algo como ~7 trilhões de cálculos em paralelos por vez no funcionamento do modelo. E se pegarmos uma H100 da NVIDA que faz cerca de 2.000 trilhões de operações por segundo, ela demora algo como ~0,29 segundos para processar um token para o modelo LLaMA 2 70B que é considerado hoje um modelo leve.
A matemática põe as coisas em perspectiva… Parece quase barato dizer que uma simulação razoável do raciocínio de escolha de UMA ~palavra para por no fim de uma frase, custe ~565 trilhões de cálculos.