O que é e como funciona um Large Language Model (LLM)?
O lançamento do ChatGPT da OpenAI em dezembro de 2022 atraiu uma quantidade incrível de atenção. Além disso, começaram a surgir conceitos que, para quem está fora do assunto, podem ser difíceis de entender. Um deles é o Large Language Model (LLM). O que são e como funcionam estes modelos?
O que são LLM?
Os LLM são modelos de deep learning pré-treinados em grandes quantidades de dados. O transformer subjacente é um conjunto de redes neurais que consistem num codificador e num descodificador com capacidades de "auto-atenção". O codificador e o descodificador extraem significados de uma sequência de texto e compreendem as relações entre palavras e frases.
Ao contrário das redes neurais recorrentes (Recurrent Neural Networks - RNN) anteriores que processam entradas sequencialmente, os transformers processam sequências inteiras em paralelo. Isto permite que os cientistas de dados usem GPUs para treinar LLM baseados em transformers, reduzindo significativamente o tempo de treino.
A arquitetura das redes neuronais de transformers permite a utilização de modelos muito grandes, frequentemente com centenas de milhares de milhões de parâmetros. Estes modelos de grande escala podem ingerir enormes quantidades de dados, frequentemente da Internet, mas também de fontes como a Wikipedia, que tem aproximadamente 61 milhões de páginas.
Como é que os LLM funcionam?
Um fator-chave no funcionamento dos LLM é a forma como representam as palavras. As formas anteriores de aprendizagem automática utilizavam uma tabela numérica para representar cada palavra. No entanto, esta forma de representação não conseguia reconhecer relações entre palavras, como palavras com significados semelhantes.
Esta limitação foi ultrapassada com a utilização de vetores multidimensionais, normalmente designados por "word embeddings", para representar as palavras, de modo a que as palavras com significados contextuais semelhantes ou outras relações estejam próximas umas das outras no espaço vetorial.
Utilizando a incorporação de palavras, os transformers podem pré-processar o texto como representações numéricas através do codificador e compreender o contexto de palavras e frases com significados semelhantes, bem como outras relações entre palavras, como as partes do discurso. É então possível que os LLM apliquem este conhecimento da língua através do descodificador para produzir um resultado único.
Como são treinados estes modelos?
As redes neuronais baseadas em transformers são muito grandes. Estas redes contêm vários nós e camadas. Cada nó de uma camada tem ligações a todos os nós da camada seguinte, cada um dos quais tem um peso e uma "bias". Os pesos e as bias, juntamente com as word embeddings, são conhecidos como parâmetros do modelo.
As grandes redes neuronais baseadas em transformers podem ter milhares e milhares de milhões de parâmetros. O tamanho do modelo é geralmente determinado por uma relação empírica entre o tamanho do modelo, o número de parâmetros e o tamanho dos dados de treino.
O treino é efetuado utilizando um grande corpus de dados de elevada qualidade. Durante o treino, o modelo ajusta iterativamente os valores dos parâmetros até prever corretamente o token seguinte a partir de uma sequência anterior de tokens de entrada. Isto é feito através de técnicas de auto-aprendizagem que ensinam o modelo a ajustar os parâmetros para maximizar a probabilidade dos tokens seguintes nos exemplos de treino.
Uma vez treinados, os LLM podem ser facilmente adaptados para executar várias tarefas usando conjuntos relativamente pequenos de dados supervisionados, um processo conhecido como fine tuning.
❗ Existem três modelos de aprendizagem comuns:
- Zero-shot learning: os LLM de base podem responder a um vasto leque de pedidos sem formação explícita, muitas vezes através de avisos, embora a precisão das respostas seja variável.
- Few-shot learning: ao fornecer alguns exemplos de treino relevantes, o desempenho do modelo de base melhora significativamente nessa área específica.
- Fine-tuning: trata-se de uma extensão da aprendizagem com poucos exemplos, em que os cientistas de dados treinam um modelo de base para ajustar os seus parâmetros com dados adicionais relevantes para a aplicação específica.
Veja também:
Recomendamos que veja estes dois vídeos do canal "Graphics in 5 Minutes" se quiser perceber de uma forma mais aprofundada como funcionam os LLM.
Large Language Models from scratch ➡ Large Language Models: Part 2
Leia também:
Excelente artigo
+1