O modelo passa os tokens por uma rede de transformadores. Os modelos de transformadores, lançados em 2017, são úteis devido ao seu mecanismo de autoatenção, que lhes permite “prestar atenção a” diferentes tokens em diferentes momentos. Essa técnica é a peça central do transformador e sua principal inovação. A autoatenção é útil em parte porque permite que o modelo de IA calcule as relações e dependências entre os tokens, especialmente aqueles que estão distantes uns dos outros no texto. As arquiteturas de transformação também permitem a paralelização, tornando o processo muito mais eficiente do que os métodos anteriores. Essas qualidades permitiram que os LLMs lidassem com conjuntos de dados sem precedentes.
Depois que o texto é dividido em tokens, cada token é mapeado para um vetor de números chamado de embedding. As redes neurais consistem em camadas de neurônios artificiais, onde cada neurônio realiza uma operação matemática. Os transformadores consistem em muitas dessas camadas, e em cada uma delas, as embeddings são ligeiramente ajustadas, tornando-se representações contextuais mais ricas de camada para camada.
O objetivo nesse processo é que o modelo aprenda associações semânticas entre palavras, de modo que palavras como "latido" e "cão" apareçam mais próximas no espaço vetorial em um ensaio sobre cães do que "latido" e "árvore", com base em as palavras relacionadas a cães no ensaio. Os transformadores também adicionam codificações posicionais, que dão a cada token informações sobre seu lugar na sequência.
Para calcular a atenção, cada embedding é projetada em três vetores distintos usando matrizes de peso aprendidas: uma consulta, uma chave e um valor. A consulta representa o que um determinado token está "procurando", a chave representa as informações que cada token contém e o valor "retorna" as informações de cada vetor de chave, dimensionadas de acordo com seu respectivos peso de atenção.
As pontuações de alinhamento são, então, calculadas como a similaridade entre consultas e chaves. Essas pontuações, uma vez normalizadas em pesos de atenção, determinam o quanto de cada vetor de valor flui para a representação do token atual. Esse processo permite que o modelo se concentre de forma flexível no contexto relevante, ignorando tokens menos importantes (como “árvore”).
A autoatenção, portanto, cria conexões "ponderadas" entre todos os tokens de forma mais eficiente do que as arquiteturas anteriores conseguiam. O modelo atribui pesos a cada relacionamento entre os tokens. Os LLMs podem ter bilhões ou trilhões desses pesos, que são um tipo de parâmetro do LLM, as variáveis de configuração interna de um modelo de aprendizado de máquina que controlam como ele processa dados e faz previsões. O número de parâmetros refere-se a quantas dessas variáveis existem em um modelo, com alguns LLMs contendo bilhões de parâmetros. Os chamados pequenos modelos de linguagem são menores em escala e escopo, com comparativamente poucos parâmetros, tornando-os adequados para implementação em dispositivos menores ou em ambientes com recursos restritos.
Durante o treinamento, o modelo faz previsões em milhões de exemplos extraídos de seus dados de treinamento, e uma função de perda quantifica o erro de cada previsão. Por meio de um ciclo iterativo de fazer previsões e, em seguida, atualizar os pesos do modelo por meio de retropropagação e gradiente descendente, o modelo "aprende" os pesos nas camadas que produzem os vetores de consultas, chaves e valores.
Quando esses pesos estiverem suficientemente otimizados, eles poderão receber a embedding de vetores original de qualquer token e produzir vetores de consultas, chaves e valores para ele que, ao interagir com os vetores gerados para todos os outros tokens, produzirão pontuações de alinhamento “melhores” que, por sua vez, resultam em pesos de atenção que ajudam o modelo a produzir melhores saídas. O resultado final é um modelo que aprendeu padrões de gramática, fatos, estruturas de raciocínio, estilos de escrita e muito mais.