01
Um LLM escolhe o que vem a seguir
LLM é a sigla de large language model, ou modelo de linguagem grande. O "grande" fala de duas coisas: a quantidade de texto usada no treinamento e a quantidade de números dentro do modelo. Esses números se chamam pesos, e vamos voltar a eles no capítulo 5.
No fundo, um LLM faz uma coisa só: olha o texto até agora e escolhe o próximo token. Token é a unidade com que o modelo lê e escreve. Por enquanto, pense nele como um pedaço de palavra. É bem parecido com o teclado do celular sugerindo a próxima palavra, só que o modelo olha um texto muito mais longo e escolhe com muito mais cuidado.
Na cena abaixo, as peças da esquerda são o texto que digitamos: "O céu está". As barras atrás delas são os candidatos para a próxima posição, e a altura de cada barra é a probabilidade que o modelo deu a ele. Avance um token por vez.
- Até agora
- O céu está
- Próximos candidatos
- limpo 46%, nublado 22%, cinza 14%
Entrada: O céu está
Cada token que pode vir em seguida ganha uma probabilidade. O mais alto, "limpo" (46%), é escolhido e entra no texto.
Quando um token é escolhido, ele entra no fim do texto, e o modelo olha de novo o texto inteiro, agora mais longo, para escolher o próximo. Isso se repete até a resposta ficar pronta. Usar cada saída como parte da próxima entrada se chama geração autorregressiva. É por isso que as respostas de um chatbot vão aparecendo aos poucos na tela em vez de surgir de uma vez: elas realmente são produzidas um token por vez.
E quando ele para? O modelo também tem um token especial que significa "fim". Ele para quando esse token é escolhido, como no último passo da cena, ou quando chega ao limite de tamanho que você definiu.
Um modelo grande, pré-treinado com uma quantidade enorme de dados e depois reaproveitado em muitas tarefas diferentes (resumir, traduzir, responder perguntas…), se chama modelo de fundação (foundation model). Um LLM é um modelo de fundação para texto. Modelos que também lidam com imagens ou áudio são chamados de modelos multimodais.
Se a questão disser… → escolha isto
- “Olha o texto até agora e escolhe o que vem a seguir”Previsão do próximo token
- “Anexa cada token gerado à entrada e continua”Geração autorregressiva
- “Pré-treinado com muitos dados e reaproveitado em várias tarefas”Modelo de fundação
- “Produz informação falsa que parece verdadeira”Alucinação
Na cena, os tokens pareciam palavras inteiras. Foi uma simplificação para facilitar. Os tokens de verdade são um pouco diferentes.
02
Cortando o texto em tokens
Um modelo não consegue ler letras do jeito que estão. Primeiro o texto é cortado em pedacinhos, e cada pedaço é trocado por um número fixo. Esses pedaços são os tokens, e a ferramenta que faz o corte se chama tokenizador. Ou seja, o modelo não recebe texto: recebe uma lista de números.
Um token pode ser uma palavra inteira, parte de uma palavra ou um sinal de pontuação. Sequências de letras comuns viram um único token, enquanto palavras raras são divididas em vários pedaços. Assim, até uma palavra que o modelo nunca viu pode ser montada com pedaços que ele conhece. Na cena abaixo, troque de frase e veja como ela é cortada. O número embaixo de cada peça é o ID de token que o modelo recebe de fato (os IDs e os pontos de corte são exemplos; mudam de um modelo para outro).
- Tokens
- Un | believ | able | ␣results | !
Frase: "Unbelievable results!"
21 caracteres viraram 5 tokens. Uma palavra longa é dividida em vários pedaços comuns.
"Unbelievable" é uma palavra só, mas virou três tokens. A frase em português, que quer dizer a mesma coisa, tem 26 caracteres contra 21 e precisa de 7 tokens em vez de 5. Muitos tokenizadores foram construídos principalmente com texto em inglês, então outros idiomas costumam gastar mais tokens para dizer a mesma coisa. Números também não são cortados dígito a dígito, e sim de forma irregular. É um dos motivos de os LLMs se atrapalharem com contas de números grandes ou com contar letras.
Três coisas que o número de tokens decide
Quanto ele consegue ler
O limite do que um modelo processa de uma vez é medido em tokens. Mais sobre isso no capítulo 7.
Custo
Muitos serviços de IA cobram pelos tokens que você envia (entrada) e recebe (saída).
Velocidade
As respostas são geradas um token por vez, então mais tokens de saída levam mais tempo.
Se a questão disser… → escolha isto
- “A unidade com que o modelo processa texto”Token
- “A ferramenta que divide o texto em pedaços”Tokenizador
- “O preço depende do uso”Cobrança por tokens de entrada e saída
- “O número de palavras é igual ao número de tokens”Alternativa errada
Agora o modelo recebe uma lista de números. Só que esses números são apenas etiquetas. Olhando 3022 e 3023, não dá para saber se os significados são parecidos. Falta uma etapa que coloque significado nos números.
Publicidade
03
Números com significado (embeddings)
Dentro do modelo existe uma grande tabela. Ela tem uma linha para cada ID de token, e cada linha guarda de centenas a milhares de números. Quando chega um ID de token, o modelo pega aquela linha. Transformar um token numa lista de números assim se chama embedding, e a lista de números que sai daí se chama vetor.
No começo, os números da tabela são aleatórios. Durante o treinamento (capítulo 5), eles vão sendo ajustados aos poucos, de modo que tokens que costumam aparecer em textos parecidos acabam com linhas parecidas. A cena abaixo tira da tabela as linhas de duas palavras e desenha cada número como uma barra. As linhas reais têm muito mais números; aqui foram reduzidas a 10.
- Similaridade
- 0.93
As linhas de duas palavras, tiradas da tabela; cada número vira uma barra (reduzido a 10 números neste exemplo)
As linhas de "gato" e "cachorro" se parecem (similaridade 0.93). Os dois são animais de estimação, então aparecem muito em frases parecidas.
"Gato" e "cachorro" têm quase o mesmo padrão de barras. "Gato" e "carro" parecem bem diferentes. O quanto dois vetores se parecem costuma ser medido com a similaridade de cosseno: quanto mais perto de 1, mais parecidos. E aqui está a pegadinha: cada posição, sozinha, não tem uma etiqueta como "posição de animal" ou "posição de veículo". O significado vem de muitas posições trabalhando juntas.
Embeddings também aparecem na geração aumentada por recuperação (RAG). Lá, um modelo de embeddings dedicado transforma uma frase ou um parágrafo inteiro num único vetor para encontrar documentos com significado próximo ao da pergunta. O princípio é o mesmo: significado próximo, números próximos. Tem mais detalhes no capítulo de embeddings do guia de RAG.
Se a questão disser… → escolha isto
- “Converte tokens em vetores numéricos”Embedding
- “Significados parecidos geram vetores próximos”Similaridade semântica
- “O quanto dois vetores se parecem”Similaridade de cosseno
A mesma palavra, "banco", significa coisas diferentes dependendo das palavras ao redor. Como o modelo percebe a diferença?
Exclusivo Pro
Até aqui vai a parte gratuita
Os outros 5 capítulos estão disponíveis para assinantes Pro. Cada um continua com visuais em 3D e dicas de “se a questão disser…”, e no último capítulo você testa o que aprendeu.
- 04Transformers e atenção
- 05Treinamento
- 06Temperatura e top-p
- 07Janela de contexto
- 08Escolhendo os parâmetros de inferência
PasslyExam
Você já leu o conceito. Agora teste com questões de prova
O PasslyExam oferece questões práticas originais, explicações e simulados completos baseados no guia oficial de cada certificação. As explicações mostram por que a opção certa está certa e por que as opções parecidas estão erradas. Cadastre-se e pratique de graça todos os dias.