Introdução aos modelos de linguagem grandes

O que é um modelo de linguagem?

Um modelo de linguagem estima a probabilidade de um token ou uma sequência de tokens ocorrer em uma sequência mais longa. Um token pode ser uma palavra, uma subpalavra (um subconjunto de uma palavra) ou até mesmo um único caractere.

Considere a seguinte frase e os tokens que podem completá-la:

When I hear rain on my roof, I _______ in my kitchen.

Um modelo de linguagem determina as probabilidades de diferentes tokens ou sequências de tokens para preencher esse espaço em branco. Por exemplo, a tabela de probabilidade a seguir identifica alguns tokens possíveis e as probabilidades deles:

Probabilidade Tokens
9,4% cozinhar sopa
5,2% esquentar uma chaleira
3,6% encolher
2,5% cochilo
2,2% relaxar

Em algumas situações, a sequência de tokens pode ser uma frase, um parágrafo ou até mesmo um ensaio inteiro.

Um aplicativo pode usar a tabela de probabilidade para fazer previsões. A previsão pode ser a probabilidade mais alta (por exemplo, "cozinhar sopa") ou uma seleção aleatória de tokens com probabilidade maior que um determinado limite.

Estimar a probabilidade do que preenche o espaço em branco em uma sequência de texto pode ser estendido para tarefas mais complexas, incluindo:

  • Gerando texto.
  • Traduzir texto de um idioma para outro.
  • Resumir documentos.

Ao modelar os padrões estatísticos de tokens, os modelos de linguagem modernos desenvolvem representações internas extremamente poderosas da linguagem e podem gerar uma linguagem plausível.

Modelos de linguagem de n-gramas

N-gramas são sequências ordenadas de palavras usadas para criar modelos de linguagem, em que N é o número de palavras na sequência. Por exemplo, quando N é 2, o N-grama é chamado de 2-grama (ou bigrama). Quando N é 5, o N-grama é chamado de 5-grama. Considere a seguinte frase em um documento de treinamento:

you are very nice

Os bigramas resultantes são estes:

  • você está
  • são muito
  • muito bom

Quando N é 3, o N-grama é chamado de 3-grama (ou trigrama). Com essa mesma frase, os trigramas resultantes são:

  • você é muito
  • são muito legais

Considerando duas palavras como entrada, um modelo de linguagem baseado em trigramas pode prever a probabilidade da terceira palavra. Por exemplo, considerando estas duas palavras:

orange is

Um modelo de linguagem examina todos os diferentes trigramas derivados do corpus de treinamento que começam com orange is para determinar a terceira palavra mais provável. Centenas de trigramas podem começar com as duas palavras orange is, mas você pode se concentrar apenas nas duas possibilidades a seguir:

orange is ripe
orange is cheerful

A primeira possibilidade (orange is ripe) é sobre a fruta laranja, enquanto a segunda (orange is cheerful) é sobre a cor laranja.

Contexto

Os humanos conseguem reter contextos relativamente longos. Ao assistir o Ato 3 de uma peça, você mantém o conhecimento dos personagens apresentados no Ato 1. Da mesma forma, o final de uma piada longa faz você rir porque é possível lembrar do contexto da preparação da piada.

Em modelos de linguagem, o contexto são informações úteis antes ou depois do token de destino. O contexto pode ajudar um modelo de linguagem a determinar se "laranja" se refere a uma fruta cítrica ou a uma cor.

O contexto pode ajudar um modelo de linguagem a fazer previsões melhores, mas um 3-grama oferece contexto suficiente? Infelizmente, o único contexto que um 3-grama fornece são as duas primeiras palavras. Por exemplo, as duas palavras orange is não fornecem contexto suficiente para o modelo de linguagem prever a terceira palavra. Devido à falta de contexto, os modelos de linguagem baseados em trigramas cometem muitos erros.

N-grams mais longos certamente fornecem mais contexto do que N-grams mais curtos. No entanto, à medida que N aumenta, a ocorrência relativa de cada instância diminui. Quando N se torna muito grande, o modelo de linguagem geralmente tem apenas uma instância de cada ocorrência de N tokens, o que não é muito útil para prever o token de destino.

Redes neurais recorrentes

Redes neurais recorrentes fornecem mais contexto do que N-gramas. Uma rede neural recorrente é um tipo de rede neural que é treinada em uma sequência de tokens. Por exemplo, uma rede neural recorrente pode aprender gradualmente (e aprender a ignorar) o contexto selecionado de cada palavra em uma frase, assim como você faria ao ouvir alguém falar. Uma rede neural recorrente grande pode ganhar contexto com uma passagem de várias frases.

Embora as redes neurais recorrentes aprendam mais contexto do que os N-gramas, a quantidade de contexto útil que elas podem intuir ainda é relativamente limitada. As redes neurais recorrentes avaliam as informações "token por token". Em contraste, os modelos de linguagem grandes, o tema da próxima seção, podem avaliar todo o contexto de uma só vez.

O treinamento de redes neurais recorrentes para contextos longos é limitado pelo problema do gradiente evanescente.

Exercício: teste de conhecimentos

Qual modelo de linguagem faz previsões melhores para texto em inglês?
  • Um modelo de linguagem baseado em 6-gramas
  • Um modelo de linguagem baseado em 5-gramas
A resposta depende do tamanho e da diversidade do conjunto de treinamento.
Se o conjunto de treinamento abranger milhões de documentos diversos, o modelo baseado em 6-gramas provavelmente vai ter uma performance melhor do que o modelo baseado em 5-gramas.
O modelo de linguagem baseado em 6-gramas.
Esse modelo de linguagem tem mais contexto, mas, a menos que ele tenha sido treinado com muitos documentos, a maioria dos 6-gramas será rara.
O modelo de linguagem baseado em 5-gramas.
Esse modelo de linguagem tem menos contexto, então é improvável que ele supere o modelo de linguagem baseado em 6-gramas.