O que é um modelo de linguagem?
Um modelo de linguagem estima a probabilidade de um token ou sequência de tokens que ocorrem dentro de 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 completar esse espaço em branco. Por exemplo, os seguintes a tabela de probabilidade identifica alguns tokens possíveis e suas probabilidades:
Probabilidade | Token(s) |
---|---|
9,4% | cozinhar sopa |
5,2% | aquecer uma chaleira |
3,6% | se agachar |
2,5% | cochilar |
2,2% | relaxar |
Em algumas situações, a sequência de tokens pode ser uma frase inteira, parágrafo ou até mesmo um texto inteiro.
Um aplicativo pode usar a tabela de probabilidade para fazer previsões. A previsão pode ser a mais alta probabilidade (por exemplo, "cozinhar sopa") ou uma seleção aleatória de tokens com probabilidade maior que um determinado o limite mínimo.
Estimar a probabilidade do que preenche a lacuna em uma sequência de texto pode pode ser estendida a tarefas mais complexas, incluindo:
- Gerando texto.
- Traduzir texto de um idioma para outro.
- Resumir documentos.
Ao modelar os padrões estatísticos dos tokens, os modelos modernos de linguagem desenvolvem representações internas extremamente poderosas de linguagem e podem gerar linguagem plausível.
Modelos de linguagem N-gram
N-gramas são sequências ordenadas de palavras usada 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 bigram); quando N for 5, o N-grama será é chamada de 5-gramas. Considere a seguinte frase em um documento de treinamento:
you are very nice
Os 2-gramas resultantes são os seguintes:
- você é
- são muito
- muito bom
Quando N for 3, o N-grama é chamado de 3-grama (ou trigrama). Dada a mesma frase, os 3-gramas resultantes são:
- você é muito
- são muito legais
Com duas palavras como entrada, um modelo de linguagem baseado em 3-gramas pode prever probabilidade da terceira palavra. Por exemplo, considerando estas duas palavras:
orange is
Um modelo de linguagem examina todos os 3-gramas diferentes derivados do treinamento
que comece com orange is
para determinar a terceira palavra mais provável.
Centenas de 3 gramas podem começar com as duas palavras orange is
, mas você pode
concentrar-se apenas nestas duas possibilidades:
orange is ripe orange is cheerful
A primeira possibilidade (orange is ripe
) é relacionada à laranja da fruta,
enquanto a segunda possibilidade (orange is cheerful
) está relacionada à cor
laranja.
Contexto
Os humanos conseguem reter contextos relativamente longos. Ao assistir à Lei 3 de uma peça, você manter o conhecimento dos caracteres introduzidos na Atividade 1. Da mesma forma, na conclusão de uma piada longa faz você rir porque consegue se lembrar do contexto do contexto da piada.
Nos modelos de linguagem, contexto é uma informação útil antes ou depois dos token de destino. O contexto pode ajudar um modelo de linguagem a determinar se "laranja" refere-se a uma fruta cítrica ou a uma cor.
O contexto pode ajudar um modelo de linguagem a fazer previsões melhores, mas
3-gramas fornecem contexto suficiente? Infelizmente, o único contexto
fornece são as duas primeiras palavras. Por exemplo, as duas palavras orange is
não
fornecem contexto suficiente para que o modelo de linguagem preveja a terceira palavra.
Devido à falta de contexto, os modelos de linguagem baseados em 3-gramas cometem muitos erros.
N-gramas maiores certamente forneceriam mais contexto do que N-gramas mais curtos. No entanto, à medida que N aumenta, a ocorrência relativa de cada instância diminui. Quando N fica muito grande, o modelo de linguagem normalmente tem apenas uma instância de cada ocorrência de N tokens, o que não é muito útil a previsão do token de destino.
Redes neurais recorrentes
Neural recorrente redes fornecem mais contexto do que N-gramas. Uma rede neural recorrente é um tipo de rede neural que é treinada com uma sequência de tokens. Por exemplo, uma rede neural recorrente podem aprender gradualmente (e aprender a ignorar) o contexto selecionado de cada palavra; em uma frase, como se fosse ouvir alguém falar. Uma grande rede neural recorrente pode obter contexto de uma passagem de várias frases
Embora as redes neurais recorrentes aprendam mais contexto do que N-gramas, a quantidade de contextos úteis que as redes neurais recorrentes podem intuir ainda são relativamente limitada. As redes neurais recorrentes avaliam as informações "token por token". Já os modelos de linguagem grandes, o tópico do próximo seção, pode avaliar todo o contexto de uma só vez.
Observe que o treinamento de redes neurais recorrentes para contextos longos é limitado o gradiente de extinção problema.
Exercício: testar seu conhecimento
- Um modelo de linguagem baseado em 6-gramas
- Um modelo de linguagem baseado em 5-gramas