Computação por Baixo dos Panos: página inicial

Inteligência Artificial / Um modelo de linguagem não entende: ele calcula o próximo token

Inteligência Artificial

Um modelo de linguagem não entende: ele calcula o próximo token

· 4 min de leitura · Inteligência Artificial

Um modelo de linguagem não consulta uma enciclopédia nem raciocina em palavras. Ele executa uma sequência de operações matemáticas que termina em uma pergunta: qual é o próximo token?

1. O texto vira números

O texto é dividido em tokens: pedaços de palavra, palavras inteiras ou sinais de pontuação. Cada token corresponde a um número inteiro em uma tabela fixa (o vocabulário). Para o modelo, “O gato sentou no” é uma lista de inteiros.

2. Números viram vetores

Cada token é trocado por um vetor, uma lista de números reais chamada de embedding. Esses vetores são aprendidos no treinamento, e tokens usados em contextos parecidos tendem a ficar com vetores parecidos.

3. Camadas de álgebra linear

Os vetores passam por várias camadas. Em cada uma, o mecanismo de atenção combina informações de diferentes posições do texto, e multiplicações de matrizes transformam os vetores. Os números dentro dessas matrizes são os pesos do modelo.

4. A saída é uma distribuição de probabilidade

No final, o modelo produz uma pontuação para cada token do vocabulário. A função softmax converte essas pontuações em probabilidades que somam 1:

softmax.py
import math

def softmax(pontuacoes):
    maior = max(pontuacoes)  # evita números gigantes em exp()
    exps = [math.exp(p - maior) for p in pontuacoes]
    total = sum(exps)
    return [e / total for e in exps]

print(softmax([2.0, 1.0, 0.1]))  # aprox. [0.66, 0.24, 0.10]

5. Escolhe um token e repete

Um token é escolhido dessa distribuição (o mais provável ou sorteado conforme as probabilidades), acrescentado ao texto, e o processo recomeça. Um parágrafo inteiro é esse ciclo repetido centenas de vezes.

Cuidado com a conclusão. Dizer que o mecanismo é “prever o próximo token” descreve como o modelo gera texto. Isso, sozinho, não resolve a discussão sobre o que ele consegue fazer, nem se isso merece o nome de “entender”. É uma pergunta em aberto, e merece um texto só para ela.