Uma tecnologia mais nova, modelos de linguagem grandes (LLMs) prever um token ou sequência de tokens, às vezes muitos parágrafos tokens previstos. Lembre-se de que um token pode ser uma palavra, uma subpalavra (um subconjunto uma palavra) ou até mesmo um único caractere. LLMs fazem previsões muito melhores do que os modelos de linguagem N-gram ou redes neurais recorrentes porque:
- Os LLMs contêm muito mais parâmetros do que os recorrentes.
- Os LLMs coletam muito mais contexto.
Esta seção apresenta a arquitetura mais bem-sucedida e amplamente utilizada para criar LLMs: o transformador.
O que é um transformador?
Os transformadores são a arquitetura de última geração para uma ampla variedade aplicativos de modelo de linguagem, como tradução:
![Figura 1. A informação é: eu sou um bom cachorro. Um modelo baseado em transformador
tradutor transforma essa entrada em saída: Je suis un bon
chien, que é a mesma frase traduzida para o francês.](https://developers.google.cn/static/machine-learning/crash-course/images/Iamagooddog.png?authuser=4&hl=pt)
Os transformadores completos consistem em um codificador e um decodificador:
- Um codificador converte inserir texto em uma representação intermediária. Um codificador é um modelo rede neural.
- Um decodificador converte essa representação intermediária em um texto útil. Um decodificador também é uma rede neural imensa.
Por exemplo, em um tradutor:
- O codificador processa o texto de entrada (por exemplo, uma frase em inglês) em alguma representação intermediária.
- O decodificador converte essa representação intermediária em texto de saída (por exemplo, a frase em francês equivalente).
![Figura 2. O conversor baseado em Transformer começa com um codificador,
que gera uma representação intermediária de um idioma
frase. O decodificador converte essa representação intermediária em
uma frase de saída em francês.](https://developers.google.cn/static/machine-learning/crash-course/images/TransformerBasedTranslator.png?authuser=4&hl=pt)
O que é autoatenção?
Para contextualizar, os transformadores dependem muito de um conceito chamado autoatenção. Efetivamente, em nome de cada token de entrada, a autoatenção pede a seguinte pergunta:
"Quanto cada token de entrada afeta a interpretação token?"
O "eu" na "autoatenção" refere-se à sequência de entrada. Atenção Os mecanismos ponderam as relações entre os tokens de entrada e os tokens em uma sequência de saída, como uma tradução ou para tokens em alguma outra sequência. Mas apenas autoatenção pondera a importância das relações entre tokens na sequência de entrada.
Para simplificar, suponha que cada token seja uma palavra e o o contexto é de apenas uma frase. Considere a seguinte frase:
The animal didn't cross the street because it was too tired.
A frase anterior contém onze palavras. Cada uma das onze palavras é prestando atenção nas outras dez, imaginando quanto cada uma dessas dez palavras é importante para si. Por exemplo, observe que a sentença contém o pronome ele. Os pronomes geralmente são ambíguos. O pronome it normalmente se refere a uma substantivo ou sintagma nominal recente, mas, na sentença de exemplo, qual substantivo recente ele se refere: ao animal ou à rua?
O mecanismo de autoatenção determina a relevância de cada palavra próxima para o pronome it. A Figura 3 mostra os resultados; quanto mais azul a linha, mais importante que a palavra seja para o pronome ele. Ou seja, animal é mais importante que street ao pronome it.
![Figura 3. A relevância de cada uma das onze palavras da frase:
"O animal não atravessou a rua porque estava cansado demais"
ao pronome "it". A palavra "animal" é o mais relevante para
o pronome "it".](https://developers.google.cn/static/machine-learning/crash-course/images/Theanimaldidntcrossthestreet.png?authuser=4&hl=pt)
Por outro lado, suponha que a última palavra da frase mude da seguinte maneira:
The animal didn't cross the street because it was too wide.
Nesta frase revisada, espera-se que a autoatenção classifique street como é mais relevante que animal no pronome it.
Alguns mecanismos de autoatenção são bidirecionais, o que significa que calcular pontuações de relevância para tokens antes e após a palavra que está sendo que nunca frequentou. Por exemplo, na Figura 3, observe que palavras em ambos os lados ele são examinados. Assim, um mecanismo de autoatenção bidirecional pode reunir contexto de palavras em ambos os lados da palavra que está sendo assistida. Por outro lado, o mecanismo de autoatenção unidirecional só pode coletar contexto de palavras em um lado da palavra que está sendo assistida. A autoatenção bidirecional é especialmente útil para gerar representações de sequências inteiras, enquanto os aplicativos que geram sequências token por token exigem autoatenção. Por isso, os codificadores usam autoatenção bidirecional, enquanto os decodificadores usam unidirecional.
O que é a autoatenção de várias cabeças?
Cada camada de autoatenção é normalmente composta por várias cabeças de autoatenção. O resultado de uma camada é uma operação matemática (por exemplo, média ponderada ou produto escalar) da saída do cabeças diferentes.
Como cada camada de autoatenção é inicializada com valores aleatórios, os cabeçalhos diferentes possam aprender diferentes relações entre cada palavra assistida e a palavras próximas. Por exemplo, a camada de autoatenção descrita no foco em determinar a qual substantivo o pronome ele se refere. No entanto, outras camadas de autoatenção podem aprender a relevância gramatical de cada palavra com cada palavra ou aprender outras interações.
Por que os transformadores são tão grandes?
os transformadores contêm centenas de bilhões ou até trilhões de parameters. Este curso geralmente recomenda a criação de modelos com menor número de parâmetros em relação àqueles com um número maior de parâmetros. Afinal, um modelo com um número menor de parâmetros usa menos recursos para fazer previsões do que um modelo com um número maior de parâmetros. No entanto, as pesquisas mostram que transformadores com mais parâmetros supere consistentemente transformadores com menos parâmetros.
Mas como um LLM gera texto?
Você já viu como os pesquisadores treinam LLMs para prever uma ou duas palavras que faltam pode não se impressionar. Afinal, prever uma ou duas palavras é essencialmente recurso de preenchimento automático integrado a vários softwares de texto, e-mail e autoria. Talvez você esteja se perguntando como os LLMs podem gerar frases, parágrafos ou haicais sobre arbitragem.
Na verdade, os LLMs são mecanismos de preenchimento automático que prever (completar) milhares de tokens. Por exemplo, considere uma frase seguida por uma frase mascarada:
My dog, Max, knows how to perform many traditional dog tricks. ___ (masked sentence)
Um LLM pode gerar probabilidades para a frase mascarada, incluindo:
Probabilidade | Palavras |
---|---|
3,1% | Por exemplo, ele pode sentar, ficar e rolarão. |
2,9% | Por exemplo, ele sabe como sentar, ficar e rolarão. |
Um LLM grande o suficiente pode gerar probabilidades para parágrafos e parágrafos inteiros redações. Pense nas perguntas de um usuário para um LLM como o frase seguida por uma máscara imaginária. Exemplo:
User's question: What is the easiest trick to teach a dog? LLM's response: ___
O LLM gera probabilidades para várias respostas possíveis.
Como outro exemplo, um LLM treinado com um grande número de "palavras matemáticas" problemas" pode dar a aparência de um raciocínio matemático sofisticado. No entanto, esses LLMs apenas preenchem automaticamente um comando de problema de palavra.
Benefícios dos LLMs
LLMs podem gerar textos claros e fáceis de entender para uma vários públicos-alvo. LLMs podem fazer previsões sobre tarefas explicitamente treinados. Alguns pesquisadores afirmam que os LLMs também podem previsões para entradas com as quais não foram treinadas explicitamente, mas outras os pesquisadores refutaram essa afirmação.
Problemas com LLMs
O treinamento de um LLM envolve muitos problemas, incluindo:
- Reunir um conjunto de treinamento enorme.
- Consumo de vários meses e enormes recursos computacionais e eletricidade.
- Como resolver desafios de paralelismo
O uso de LLMs para inferir previsões causa os seguintes problemas:
- Os LLMs alucinam, ou seja, as previsões costumam conter erros.
- Os LLMs consomem uma enorme quantidade de recursos computacionais e eletricidade. Treinar LLMs em conjuntos de dados maiores costuma reduzir a quantidade de recursos necessários para inferência, embora o modelo de geram mais recursos de treinamento.
- Como todos os modelos de ML, os LLMs podem apresentar todos os tipos de vieses.