LLMs: o que é um modelo de linguagem grande?

Uma tecnologia mais recente, modelos de linguagem grandes (LLMs) prevê um token ou uma sequência de tokens, às vezes muitos parágrafos de tokens previstos. Um token pode ser uma palavra, uma subpalavra (um subconjunto de uma palavra) ou até mesmo um único caractere. Os LLMs fazem previsões muito melhores do que modelos de linguagem N-gram ou redes neurais recorrentes porque:

  • Os LLMs contêm muito mais parâmetros do que os modelos recorrentes.
  • Os LLMs coletam muito mais contexto.

Esta seção apresenta a arquitetura mais bem-sucedida e amplamente usada para criar LLMs: o transformador.

O que é um transformador?

Os transformadores são a arquitetura de última geração para uma ampla variedade de aplicativos de modelo de linguagem, como tradução:

Figura 1. A entrada é: "I am a good dog". Um tradutor baseado em transformador
            transforma essa entrada na saída: Je suis un bon
            chien, que é a mesma frase traduzida para o francês.
Figura 1. Um aplicativo baseado em Transformer que traduz do inglês para o francês.

 

Os transformadores completos consistem em um codificador e um decodificador:

  • Um codificador converte o texto de entrada em uma representação intermediária. Um codificador é uma rede neural enorme.
  • Um decodificador converte essa representação intermediária em texto útil. Um decodificador também é uma rede neural enorme.

Por exemplo, em um tradutor:

  • O codificador processa o texto de entrada (por exemplo, uma frase em inglês) em uma representação intermediária.
  • O decodificador converte essa representação intermediária em texto de saída (por exemplo, a frase francesa equivalente).
Figura 2. O tradutor baseado em transformador começa com um codificador,
            que gera uma representação intermediária de uma frase
            em inglês. Um decodificador converte essa representação intermediária em
            uma frase de saída em francês.
Figura 2. Um transformador completo contém um codificador e um decodificador.

 

Este módulo se concentra em transformadores completos, que contêm um codificador e um decodificador. No entanto, também existem arquiteturas somente codificador e somente decodificador:

  • As arquiteturas somente de codificador mapeiam o texto de entrada para uma representação intermediária (geralmente, uma camada de incorporação). Os casos de uso de arquiteturas somente codificador incluem:
    • Prever qualquer token na sequência de entrada, que é a função convencional dos modelos de linguagem.
    • Criar uma incorporação sofisticada, que pode servir como entrada para outro sistema, como um classificador.
  • As arquiteturas somente de decodificador geram novos tokens com base no texto já gerado. Os modelos somente de decodificador geralmente se destacam na geração de sequências. Modelos modernos somente de decodificador podem usar o poder de geração para criar continuações de históricos de diálogo e outras solicitações.

O que é autoatenção?

Para melhorar o contexto, os transformadores dependem muito de um conceito chamado autoatenção. De fato, em nome de cada token de entrada, a auto-atenção faz a seguinte pergunta:

"Em que medida cada outro token de entrada afeta a interpretação desse token?"

O "self" em "autoatenção" se refere à sequência de entrada. Alguns mecanismos de atenção ponderam relações de tokens de entrada em tokens em uma sequência de saída, como uma tradução ou em outra sequência. Mas a auto-atenção apenas pondera a importância das relações entre tokens na sequência de entrada.

Para simplificar, suponha que cada token seja uma palavra e que o contexto completo seja 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 está prestando atenção nas outras dez, se perguntando o quanto cada uma delas é importante para si mesma. Por exemplo, observe que a frase contém o pronome it. Os pronomes costumam ser ambíguos. O pronome it geralmente se refere a um substantivo ou sintagma nominal recente, mas na frase de exemplo, a qual substantivo recente o it se refere: o animal ou a rua?

O mecanismo de auto-atenção determina a relevância de cada palavra próxima ao pronome it. A Figura 3 mostra os resultados. Quanto mais azul a linha, mais importante é a palavra para o pronome it. Ou seja, animal é mais importante do que street para o pronome it.

Figura 3. A relevância de cada uma das onze palavras na frase:
            'O animal não cruzou a rua porque estava muito cansado'
            para o pronome 'ele'. A palavra "animal" é a mais relevante para
            o pronome "it".
Figura 3. Autoatenção para o pronome it. De Transformer: uma nova arquitetura de rede neural para compreensão de linguagem.

 

Por outro lado, suponha que a última palavra da frase mude da seguinte forma:

The animal didn't cross the street because it was too wide.

Nesta frase revisada, a autoatenção classificaria street como mais relevante do que animal para o pronome it.

Alguns mecanismos de auto-atenção são bidirecionais, ou seja, eles calculam pontuações de relevância para tokens anteriores e posteriores à palavra que está sendo atendida. Por exemplo, na Figura 3, observe que as palavras em ambos os lados de it são examinadas. Assim, um mecanismo de autoatenção bidirecional pode coletar o contexto das palavras em ambos os lados da palavra que está sendo atendida. Por outro lado, um mecanismo de auto-atenção unidirecional só pode coletar o contexto das palavras em um lado da palavra que está sendo atendida. A auto-atenção bidirecional é especialmente útil para gerar representações de sequências inteiras, enquanto os aplicativos que geram sequências token por token exigem auto-atenção unidirecional. Por esse motivo, os codificadores usam a auto-atenção bidirecional, enquanto os decodificadores usam a unidirecional.

O que é autoatenção com vários cabeçalhos?

Cada camada de auto-atenção geralmente é composta por vários cabeçalhos de auto-atenção. A saída de uma camada é uma operação matemática (por exemplo, média ponderada ou produto escalar) da saída das cabeças diferentes.

Como cada camada de autoatenção é inicializada com valores aleatórios, diferentes cabeças podem aprender diferentes relações entre cada palavra que recebe atenção e as palavras próximas. Por exemplo, a camada de autoatenção descrita na seção anterior se concentrou em determinar a que substantivo o pronome it se referia. No entanto, outras camadas de autoatenção podem aprender a relevância gramatical de cada palavra em relação a todas as outras ou aprender outras interações.

A auto-atenção força cada palavra no contexto a aprender a relevância de todas as outras palavras no contexto. Portanto, é tentador considerar isso um problema O(N2), em que:

  • N é o número de tokens no contexto.

Como se o Big O anterior não fosse perturbador o suficiente, os transformadores têm várias camadas de autoatenção e várias cabeças de autoatenção por camada de autoatenção. Portanto, o Big O é:

O(N2 · S · D)

em que:

  • S é o número de camadas de autoatenção.
  • D é o número de cabeças por camada.

Provavelmente, você nunca vai treinar um LLM do zero. O treinamento de um LLM de nível industrial requer uma enorme quantidade de recursos computacionais, experiência em ML e tempo. De qualquer forma, você clicou no ícone para saber mais. Por isso, precisamos explicar.

O ingrediente principal na criação de um LLM é uma quantidade fenomenal de dados de treinamento (texto), geralmente filtrados. A primeira fase de treinamento geralmente é uma forma de aprendizagem não supervisionada nesses dados de treinamento. Especificamente, o modelo é treinado com previsões mascaradas, o que significa que alguns tokens nos dados de treinamento são intencionalmente ocultos. O modelo é treinado tentando prever os tokens ausentes. Por exemplo, suponha que a seguinte frase faça parte dos dados de treinamento:

The residents of the sleepy town weren't prepared for what came next.

Tokens aleatórios são removidos, por exemplo:

The ___ of the sleepy town weren't prepared for ___ came next.

Um LLM é apenas uma rede neural, então a perda (o número de tokens mascarados que o modelo considerou corretamente) orienta o grau em que a retropropagação atualiza os valores dos parâmetros.

Um modelo baseado em transformador treinado para prever dados ausentes aprende gradualmente a detectar padrões e estruturas de ordem superior nos dados para receber dicas sobre o token ausente. Considere o exemplo de instância mascarada a seguir:

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

O treinamento extensivo em um número enorme de exemplos mascarados permite que um LLM aprenda que "harvested" ou "picked" têm alta probabilidade de correspondência para o primeiro token e "oranges" ou "they" são boas escolhas para o segundo token.

Uma etapa de treinamento opcional chamada ajuste de instruções pode melhorar a capacidade de um LLM de seguir instruções.

Por que os Transformers são tão grandes?

Os transformadores contêm centenas de bilhões ou até trilhões de parâmetros. Este curso geralmente recomenda a criação de modelos com um número menor de parâmetros em vez de modelos 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, pesquisas mostram que os transformadores com mais parâmetros superam consistentemente os 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 ausentes, e talvez não tenha ficado impressionado. Afinal, prever uma ou duas palavras é basicamente o recurso de preenchimento automático integrado a vários softwares de texto, e-mail e criação. Você pode estar se perguntando como os LLMs podem gerar frases, parágrafos ou haikus sobre arbitragem.

Na verdade, os LLMs são basicamente mecanismos de preenchimento automático que podem prever (completar) automaticamente 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 Palavra(s)
3,1% Por exemplo, ele pode sentar, ficar e rolar.
2,9% Por exemplo, ele sabe sentar, ficar e rolar.

Um LLM suficientemente grande pode gerar probabilidades para parágrafos e textos inteiros. Pense nas perguntas de um usuário para um LLM como a frase "dada" 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 número enorme de "problemas de palavras" matemáticos pode dar a impressão de raciocínio matemático sofisticado. No entanto, esses LLMs basicamente apenas preenchem automaticamente um comando de problema de palavras.

Benefícios das LLMs

Os LLMs podem gerar textos claros e fáceis de entender para uma ampla variação de públicos-alvo. Os LLMs podem fazer previsões sobre tarefas em que são explicitamente treinados. Alguns pesquisadores afirmam que os LLMs também podem fazer previsões para entradas em que não foram treinados explicitamente, mas outros pesquisadores refutaram essa afirmação.

Problemas com LLMs

O treinamento de um LLM envolve muitos problemas, incluindo:

  • Coletar um conjunto de treinamento enorme.
  • Consumir vários meses e recursos computacionais e eletricidade enormes.
  • Solução de desafios de paralelismo.

O uso de LLMs para inferir previsões causa os seguintes problemas:

  • Os LLMs alucinam, o que significa que as previsões deles geralmente contêm erros.
  • Os LLMs consomem quantidades enormes de recursos computacionais e eletricidade. O treinamento de LLMs em conjuntos de dados maiores geralmente reduz a quantidade de recursos necessários para inferência, embora os conjuntos de treinamento maiores incorram em mais recursos de treinamento.
  • Como todos os modelos de ML, os LLMs podem apresentar todos os tipos de viés.

Exercício: testar seu conhecimento

Suponha que um transformador seja treinado em um bilhão de documentos, incluindo milhares de documentos com pelo menos uma instância da palavra elefante. Qual das seguintes afirmações é provavelmente verdadeira?
Árvores de acácia, uma parte importante da dieta de um elefante, vão receber gradualmente um alto score de autoatenção com a palavra elefante.
O transformador vai aprender gradualmente a ignorar qualquer uso sarcástico ou irônico da palavra elefante nos dados de treinamento.
O Transformer vai associar a palavra elefante a vários idiomas que contêm a palavra elefante.