Funcionamento das LLMs: por dentro da geração de texto
Processo de geração de texto continuo por uma LLM.

Funcionamento das LLMs: por dentro da geração de texto

As LLMs representam um avanço significativo na maneira como as máquinas entendem e interagem com o idioma humano, nos ajudando a resolver problemas complexos, interpretar dados massivos e até mesmo criar conteúdo novo e envolvente. Este post visa desmistificar o funcionamento das LLMs, destacando sua importância e as perspectivas futuras que oferecem. Vamos mergulhar em um universo onde a tecnologia e a linguagem convergem, abrindo um leque de possibilidades sem precedentes.


A Base Tecnológica: Rede Neural e Aprendizado Profundo

Para entender como as LLMs operam, é essencial compreender primeiro o conceito de redes neurais artificiais (RNA), especificamente, aquelas aplicadas ao processamento de linguagem natural (PLN). Essas redes, baseadas em uma estrutura inspirada no cérebro humano, aprendem de maneira iterativa e são treinadas com enormes volumes de texto.

A inovação das LLMs reside no uso da arquitetura de "Transformers", que facilitam o reconhecimento de padrões complexos de linguagem a partir de grandes conjuntos de dados. Esse método permite que a LLM entenda contextos, inferência, e nuances da linguagem de forma muito mais eficiente do que as tecnologias anteriores. E com anteriores me refiro a algoritmos, métodos e estratégia da literaturá até 2017, ano em que os Transformers apareceram.


Pré-treinamento e Ajuste Fino

Antes de serem usadas para uma tarefa específica, as LLMs passam por um processo de pré-treinamento em grandes conjuntos de dados textuais, como a Wikipedia, livros digitizados, e outros documentos. Esse pré-treinamento permite que o modelo adquira um amplo conhecimento linguístico. Posteriormente, o modelo pode ser ajustado, ou "finetuned", para tarefas específicas, como geração de texto, classificação de sentimentos, tradução, ou resposta a perguntas. De fato, muitas empresas hoje em dia focam em realizar o fine-tuning de uma LLM para "atender" a um funcionamento/requerimento específico.


Atenção e Contexto

Uma das características distintivas das LLMs é sua capacidade de prestar atenção em diferentes partes do texto enquanto o processam. Isso é realizado por meio de "mecanismos de atenção", que permitem ao modelo focar em partes relevantes do texto de entrada para gerar uma saída coerente. O contexto desempenha um papel crucial no entendimento e na geração de texto, permitindo que as LLMs capturem nuances e sutilezas da linguagem.


Geração de Texto: Cómo trabalham as LLMs?

Aqui vamos ser mais detalhistas. Uma das aplicações mais impressionantes das LLMs é sua capacidade de gerar texto de forma autônoma, com base no contexto fornecido. Isso pode incluir a continuação de uma frase, a tradução de um texto para outro idioma ou até mesmo a criação de histórias inteiras. Mas esse processo não é tão complicado como pode parecer. Assim, assumindo que temos uma LLM funcional, o processo que é realizado para gerar texto é o seguinte:

Passo 1 - Separação em tokens: A frase inserida como input (por exemplo o prompt) é separada em tokens. Um token refere-se a uma unidade básica de texto que o modelo processa, e podem ser palavras individuais, partes de palavras (subpalavras) ou mesmo caracteres, dependendo de como o modelo é configurado e treinado. Para facilitar, assumiremos que um token é uma palavra individual da frase inserida no imput.

Codificação da frase inserida "Meu objetivo é" em tokens represerntados por palavras individuais: "meu", "objetivo" e "é".


Passo 2 - Codificação dos Tokens: Cada token é convertido em uma representação vetorial única. A representação em vetores, também conhecida como embeddings de tokens, é uma técnica que mapeia cada token do vocabulário para um vetor numérico em um espaço de alta dimensionalidade. Existem várias maneiras de criar essas representações vetoriais, mas uma das abordagens mais comuns é usar técnicas de aprendizado de representação distribuída, como Word2Vec, GloVe (Global Vectors for Word Representation) ou embeddings contextuais como os usados nos Transformers.

Codificação dos tokens em vetores (embeddings) que capturam numericamente o significaado e a relação semântica das palavras entre si.

Os vetores numéricos de cada token representam o significado e a relação semântica das palavras entre si, permitindo que o modelo compreenda o contexto. Por isso, as representações em vetores dos tokens em LLMs desempenham um papel crucial na capacidade do modelo de entender e gerar texto coerente e relevante. A qualidade desses vetores, permitem que a LLM capture e generalize informações complexas presentes nos dados de treinamento.


Passo 3 - Análise e Processamento: Os vetores de tokens são enviados, então, à LLM para processar o contexto fornecido através da suas camadas de processamento, em especial pelas suas camadas de "atenção" de Transformer.

As representações vetoriais dos tokens do texto de input é enviado para processamento pelo LLM.

Isso permitem que a LLM pondere melhor os pesos dos tokens no input, com base em sua relevância para a previsão da próxima palavra. E neste momento quando a "mágica" do poder conversacional das LLMs acontece.


Passo 4 - Cálculo de Probabilidades Condicionais: A LLM calcula as probabilidades condicionais de todas as palavras que existem no seu vocabulário, o mesmo que foi gerado/obtido durante o pré-treinamento e/ou fine-tuning. Essas probabilidades são calculadas usando métodos como softmax sobre a distribuição de probabilidade condicional em função do contexto fornecido pelo texto do input. Assim, todas as palavras do vocabulario da LLM são ordenados em função da sua probabilidade de ser a "próxima palavra mais provável" até a "palavra menos provável".

Cálculo das probabilidades condicionais de serem as próximas palavras mais prováveis sobre o vocabulario da LLM.


Passo 5 - Seleção da Próxima Palavra: A palavra seguinte é selecionada de acordo com as probabilidades condicionais calculadas. Quanto maior a probabilidade de uma palavra aparecer a seguir, maior a chance de ela ser escolhida como a próxima palavra na sequência gerada pela LLM. Aqui é importante lembrar que a LLM não armazena a palavras em si, e sim suas representações vetoriais conforme mencionado no passo 2. Então, a LLM retorna a representação vetorial da "palavra mais provável" selecionada.

Seleção da palavra mais provável por uma LLM.

Passo 6 - Geração de Texto Contínuo: Com o vetor numérico da palavra selecionada, a mesma é decodificada para obter sua "forma original" e adicioná-la à sequência de entrada como a próxima palavra.


Logo, o processo é repetido para gerar texto contínuo, palavra por palavra.


As LLMs são as únicas em usar esse processo?

Na verdade não, as LLMs não são as únicas que geram texto calculando probabilidades condicionais. Várias abordagens em processamento de linguagem natural (PLN) usam métodos baseados em probabilidades condicionais para gerar texto, por exemplo: modelos de N-gram, modelos ocultos de Markov (HMM), Redes Neurais Recorrentes (RNNs), etc. Porém, é evidente que as LLMs tem alcançado um nível muito maior do que todos os outros métodos, tanto que quando o ChatGPT foi lançado, causou a euforia global, não apenas na comunidade científica, mas também na indústria, política e demais esferas de atuação humana.

Assim, podemos atribuir o sucesso das LLMs em relação a outros métodos baseados em probabilidades condicionais aos seguintes fatores:

  1. Capacidade de Capturar Contexto de Longo Prazo: As LLMs, especialmente os modelos baseados em arquiteturas Transformer, têm uma capacidade excepcional de capturar dependências de longo prazo em sequências de texto. Isso é alcançado através de mecanismos como a atenção multi-cabeça, que permitem ao modelo dar mais peso a tokens relevantes em sequências mais longas.
  2. Aprendizado de Representações Distribuídas: As representações vetoriais aprendidas pelas LLMs são altamente ricas e capturam nuances semânticas e sintáticas dos tokens. Essas representações distribuídas permitem que o modelo generalize melhor para novas tarefas e dados de entrada.
  3. Treinamento em Escala Massiva: As LLMs são tipicamente treinadas em grandes conjuntos de dados textuais, muitas vezes contendo bilhões de tokens. Esse treinamento em escala massiva permite que os modelos aprendam padrões estatísticos complexos presentes nos dados, resultando em uma melhor capacidade de previsão e geração de texto.
  4. Arquitetura de Decodificação Flexível: As LLMs possuem uma arquitetura de decodificação flexível que permite a geração de texto em uma variedade de tarefas, como modelagem de linguagem, tradução automática e geração de texto criativo. Isso é alcançado através do uso de técnicas como beam search e sampling durante o processo de geração de texto.
  5. Aproveitamento de Contexto Global: Ao contrário de abordagens baseadas em modelos de n-gram ou redes neurais recorrentes, que processam texto de forma sequencial e incremental, as LLMs podem aproveitar o contexto global da sequência de entrada durante a geração de texto. Isso permite que o modelo faça previsões mais informadas e precisas sobre a próxima palavra, levando em consideração todo o contexto fornecido.


Então, as LLMs não entendem ou conhecem sobre um determinado tema ou conversa?

Embora as LLMs possam gerar texto de maneira impressionante e até mesmo fornecer respostas relevantes/surprendentes em muitos casos, é importante entender que elas NÃO possuem uma compreensão real do significado das palavras ou do contexto em que são usadas. Isto é, elas não são tão ou mais inteligentes que um humano, ou tem o QI (próximo) de Albert Einstein, nem nada do que em algum momento a sociedade especulou.

Isso significa que, enquanto as LLMs podem produzir texto que soa natural e relevante em uma ampla variedade de tópicos, elas não têm conhecimento substancial sobre nenhum tópico em particular.

Portanto lembre que, ao usar aplicações de LLMs como ChatGPT e outros, é importante que você como humano e ser pensante possa interpretar com cautela as respostas que um algoritmico que usa probabilidades lhe oferece. Espero que o artigo de hoje leve você a entender melhor o porque não deve atribuir às LLMs um nível de compreensão ou conhecimento que elas não possuem.

Na próxima publicação, daremos uma olhada nas LLMs existentes na literatura (e no mercado) e compararemos o desempenho delas.



Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos