Redes Neurais

Básico de LLM (Large Language Models) e O Modelo Estatístico

Prof. Jodavid Ferreira

UFPE

Evolução da IA


Cronologia Específica dos LLMs



Expandindo a linha do tempo para Modelos de Linguagem (Patriota, 2024):


  • 1966: Chatbot Eliza (Baseado em regras: “se X, então Y”).
  • 1993: Modelos de linguagem baseados em frequências simples (n-grams).
  • 2013: Embeddings (Representação vetorial de palavras - Word2Vec).
  • 2017: Transformers (O mecanismo de atenção - “Attention is all you need”).
  • 2018-19: GPT-1 e GPT-2 (Generative Pretrained models).
  • 2020-Atual: GPT-3, GPT-4, Llama, Gemini, Grok (Modelos reflexivos, multimodais).

Inteligência Artificial


(fonte: AI Experience - Google)

Inteligência Artificial



Inteligência Artificial
Machine Learning
Deep Learning
IA Generativa

Inteligência Artificial



Inteligência Artificial
Machine Learning
Deep Learning
IA Generativa

Inteligência Artificial


Mas o que estão por trás da IA Generativa?

LLMs - Large Language Models
  • inicialmente foram definidos como modelos projetados para compreender e gerar linguagem natural;
  • atualmente são treinados em grandes quantidades de dados, como livros, imagens, vídeos;
  • o “large”“ em LLM refere-se ao número de parâmetros que o modelo possui, geralmente na casa dos bilhões. Geralmente utilizados em soluções que necessitam ter contexto similar a interação entre humanos.
SLMs - Small Language Models
  • são modelos menores, no sentido que posuem menos parâmetros, geralmente na faixa de milhões;
  • continuam utilizando grandes quantidades de dados como textos, imagens e vídeos;
  • necessitam de menos recursos computacionais para treinamento e inferência, logo, são mais viáveis para uso em dispositivos com recursos limitados, como:
    • smartphones e sistemas embarcados.

Definição Formal - Modelo de Linguagem



Segundo Patriota (2024), um modelo de linguagem é uma função que processa, relaciona e gera continuações coerentes com base em padrões aprendidos.


Entrada (Contexto): É o argumento da função (texto inicial). Saída: Um vetor de probabilidades para a próxima ‘palavra’, dado o contexto.

\[ f(\text{contexto}) = \begin{pmatrix} P_\hat{\theta}(\text{1ª palavra} | \text{contexto}) \\ \vdots \\ P_\hat{\theta}(\text{Vª palavra} | \text{contexto}) \end{pmatrix} \]

Onde \(V\) é o tamanho do vocabulário fixado.

O Modelo Probabilístico Informal



Imagine o contexto: “Recife é uma”. O modelo calcula as probabilidades condicionais:

  • \(P_\hat{\theta}(\text{ "cidade" } | \text{ "Recife é uma" }) = 1.1\%\)
  • \(P_\hat{\theta}(\text{ "capital" } | \text{ "Recife é uma" }) = 1.0\%\)
  • \(P_\hat{\theta}(\text{ "país" } | \text{ "Recife é uma" }) = 0.00001\%\)


O modelo atribui probabilidades altas para continuações plausíveis e baixas para incoerentes. Estas probabilidades são estimadas via métodos estatísticos (e.g., Máxima Verossimilhança).

Inteligência Artificial


Alguns dos modelos em alta do momento?

  • OpenAI:
    • DALL-E - modelo de geração de imagens;
    • ChatGPT - modelo de linguagem natural - multimodal;
    • SORA - modelo de texto-para-vídeo;
    • Whisper - modelo de audio-para-texto;
  • Meta:
    • Llama3.1 - modelo de linguagem natural;
  • Google:
    • GEMINI - modelo multimodal;
  • Maritaca:
    • Sabiá 31 - modelo de linguagem natural;
    • Sabiá 2 - modelo de linguagem natural;
      • baseado no LLaMA;

Introdução à Inteligência Artificial



Algumas informações sobre os modelos:

Legenda:

Link: https://docs.google.com/spreadsheets/d/1kc262HZSMAWI6FVsh0zJwbB-ooYvzhCHaHcNUiA0_hY/edit?gid=484905095#gid=484905095

Os “dados de treinamento especial” são conjuntos de dados de alta qualidade, cuidadosamente selecionados e organizados. Eles podem incluir dados diversificados e representativos, dados enriquecidos com anotações ou metadados, dados sintéticos, e dados privados ou proprietários. Esses dados são valiosos para criar modelos mais precisos e especializados, capazes de entender nuances e aplicar conhecimento em contextos específicos, como saúde, direito, ou finanças.

Introdução à Inteligência Artificial


Detalhando as duas arquiteturas dos modelos de LLMs, temos:

Arquitetura Dense

é uma arquitetura onde cada neurônio em uma camada é conectado aos demais neurônios na camada seguinte. Essa conectividade total é também conhecida como fully connected.

Arquitetura MoE

é uma arquitetura de rede neural onde o modelo é dividido em vários “experts” (sub-modelos) especializados em diferentes partes do espaço de entrada. Possui uma camada denominada gating que determina quais experts serão ativados para uma dada entrada.

Tokens e Embeddings



  • Tokens e Embeddings são a base dos modelos de LLMs.


A tokenização é o processo de pegar o texto e transformar as sequências de entrada para números.

  • O texto pode ser representado por caracteres ou subpalavras (tokens).
  • Exemplo (Subpalavras): “Pedro”, “\(\,\)”, “é”, “\(\,\)”, “pro”, “fessor”.
  • Com os tokens, formamos um Vocabulário de tamanho \(V\) (e.g., \(V=50.257\) no GPT-2).
  • Tokens especiais: <PAD>, <UNK>, <EOS> (End of Sentence).

Representação One-Hot



Para tratamento matemático, representamos cada token como um vetor de zeros com um 1 na posição correspondente ao token no vocabulário.


Considere um vocabulário \(\{A, B, C, D\}\). A sequência \(A, A, B\) seria:

\[ \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix}_A, \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix}_A, \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}_B \]

Denotamos o token observado como vetor \(\mathbf{\dot{x}}\) e a versão aleatória como \(\mathbf{x}\). Esta é a forma mais adequada para representar vetores aleatórios em estatística multivariada.

Tokens e Embeddings


Apesar da referência, palavras grandes podem ser divididas em subtokens menores, sendo assim, em 1.000 tokens de palavras em português correspondem aproximadamente a 700 a 750 palavras do nosso idioma.

O Modelo Estatístico (Multinomial)



Seja \(V\) o tamanho do vocabulário e \(k\) o contexto máximo. A distribuição do próximo token \(X_{s+1}\) dado o contexto \(\dot{\mathbf{x}}_{1:s}\) é modelada como:

\[ X_{s+1} | \mathbf{x}_{1:s} = \dot{\mathbf{x}}_{1:s} \sim \text{Multinomial}_V(1, \boldsymbol{p}_\theta^{(s)}(\dot{\mathbf{x}}_{1:s})) \]


Onde \(\boldsymbol{p}_\theta^{(s)}\) é o vetor de probabilidades condicionais calculadas pelo modelo (rede neural) dados os tokens anteriores.


Esta formulação trata a geração de texto como um processo estocástico sequencial.

Função de Verossimilhança



Para “treinar” o modelo, precisamos estimar os parâmetros \(\boldsymbol{\theta}\). Utilizamos a Função de Verossimilhança (Likelihood). Para uma sequência observada \(\dot{\mathbf{x}}\), buscamos maximizar:


\[ L(\boldsymbol{\theta}, \dot{\mathbf{x}}) = \prod_{s=1}^{k} \prod_{i=1}^{V} p_{\theta, i}^{(s)}(x_{1:s})^{x_{i, s+1}} \]

em que \(x_{i, s+1} = 1\) se o token \(i\) é o próximo token na posição \(s+1\), e 0 caso contrário.

  • O aprendizado ocorre ao maximizar essa função com respeito a \(\boldsymbol{\theta}\).
  • Na prática, minimizamos a Cross-Entropy Loss (log-verossimilhança negativa).
  • Algoritmos usados: SGD, Adam, AdamW (otimização por batches).
  • As derivadas são obtidas por Backpropagation e AutoGrad.

Tokens e Embeddings



Embeddings são vetores numéricos obtidos dos tokens e representam palavras, frases ou documentos.


  • No modelo estatístico, cada token do vocabulário é mapeado para um vetor numérico em um espaço de dimensão \(m\).
    • GPT-2: \(m = 768\)
    • GPT-3: \(m = 12.288\)
  • Os embeddings fazem uma representação mais rica do relacionamento entre os tokens.
  • O número de parâmetros apenas na camada de embedding pode ser gigante (Ex: \(V=50.257 \times m=768 \approx 39\) milhões de parâmetros).

Tokens e Embeddings


Tokens e Embeddings



  • As word embeddings transformam os valores inteiros únicos obtidos a partir do tokenizador em um array \(n\)-dimensional.

  • Por exemplo, a palavra ‘gato’ pode ter o valor ‘20’ a partir do tokenizador, mas a camada de embedding utilizará todas as palavras no seu vocabulário associadas a ‘gato’ para construir o vetor de embeddings. Ela encontra “dimensões” ou características, como “ser vivo”, “felino”, “humano”, “gênero”, etc.

  • Assim, a palavra ‘gato’ terá valores diferentes para cada dimensão/característica.

Tokens e Embeddings


Vamos ver um exemplo em python!1

Detalhes importantes:

Similaridade do Cosseno (\(Sim_{cos}\)):

  • Maior valor (próximo de 1): Maior similaridade.
  • Menor valor (próximo de -1): Maior dissimilaridade.

Distância do Cosseno (\(D_{cos} = 1 - Sim_{cos}\)):

  • Maior valor (próximo de 2): Maior dissimilaridade.
  • Menor valor (próximo de 0): Maior similaridade.



Inteligência Artificial - LLMs



Alguns conceitos importantes quando se trabalha com algoritmos de LLMs, são:

  • Tokenização: Os dados de entrada são divididos em tokens;

  • Embedding: cada token é transformado em um vetor denso;

  • Camadas de Encoder: processam e refinam os embeddings;

  • Self-Attention Mechanism: Cada token avalia a importância de todos os outros.

  • Saída do Encoder: Conjunto de embeddings contextuais.

Modelo de Arquitetura de um Transformer. fonte: (Vaswani et al., 2017)

O Decoder do Transformer

como Função Probabilística



De forma simplificada, o Decoder do Transformer é a função \(\boldsymbol{p_\theta}\) que estimamos. Ele pode ser representado por:

\[ \underbrace{\mathbf{\dot{x}}}_{\text{input}} \to \underbrace{x^{(1)}}_{\text{Emb + Pos}} \to \left[ \underbrace{x^{(2l)}}_{\text{Att}} \to \underbrace{x^{(3l)}}_{\text{FFN}} \right]_{l=1}^N \to \underbrace{x^{(4)}}_{\text{Final}} \to \underbrace{\boldsymbol{p_\theta}(\mathbf{x})}_{\text{softmax}} \]


Cada camada introduz mais parâmetros. É uma espécie de regressão logística multivariada sofisticada (Patriota, 2024).

Inteligência Artificial - LLMs


Alguns conceitos importantes quando se trabalha com algoritmos de LLMs, são:

  • Preparação da Entrada do Decoder: A entrada do decoder é preparada os embeddings contextuais do encoder;

  • Camada de Self-Attention do Decoder: Semelhante ao encoder, o decoder usa múltiplas cabeças de atenção para capturar diferentes aspectos da relação entre tokens, mas respeitando a ordem causal;

  • Camada de Atenção Encoder-Decoder: A camada de atenção encoder-decoder permite que o decoder se concentre em diferentes partes da entrada do encoder, dependendo do token que está sendo gerado.

  • Saída do Decoder: O resultado do decoder é um conjunto de embeddings contextuais finais, que são usados para prever o próximo token na sequência de saída.

  • Predição do Próximo Token: O modelo prediz o próximo token na sequência de saída com base nos embeddings contextuais finais.

Modelo de Arquitetura de um Transformer. fonte: (Vaswani et al., 2017)

Geração Autoregressiva de Texto



Após estimar os parâmetros, o texto é gerado de forma autoregressiva. O token gerado é inserido no contexto e o processo é repetido até gerar o token <EOS>.

\[ f(x_1, \dots, x_k) \to x_{k+1} \] \[ f(x_1, \dots, x_k, x_{k+1}) \to x_{k+2} \] \[ \vdots \]


Para escolher o próximo token a partir das probabilidades, usamos técnicas como greedy, top-k e top-p.

Inteligência Artificial - LLMs



  • Os modelos possuem alguns hiperparâmetros ajustáveis para inferência dos retornos.

    • Os principais são Temperatura, Top k e Top p (geralmente eles mantém essa ordem de execução no modelo).

Entretanto, vamos falar primeiramente definições de Top-k e Top-p e depois detalharemos sobre a Temperatura.


  1. Top-k
    O parâmetro top-k limita as previsões do modelo aos k tokens mais prováveis em cada etapa da geração. Ao definir um valor para k, você está instruindo o modelo a considerar apenas os k tokens mais prováveis. Isso pode ajudar a ajustar a saída gerada e garantir que ela siga padrões ou restrições específicas.

Inteligência Artificial - LLMs



  1. Top-p, também conhecido como amostragem por núcleo (nucleus sampling), controla a probabilidade cumulativa dos tokens gerados. O modelo gera tokens até que a probabilidade cumulativa exceda o limite escolhido (p). Essa abordagem permite um controle mais dinâmico sobre o comprimento do texto gerado e incentiva a diversidade na saída, incluindo tokens menos prováveis quando necessário.

O top-k proporciona uma aleatoriedade controlada ao considerar um número fixo de tokens mais prováveis, enquanto o top-p permite um controle dinâmico sobre o número de tokens considerados, resultando em diferentes níveis de diversidade no texto gerado.

Inteligência Artificial - LLMs


A probabilidade cumulativa refere-se ao somatório das probabilidades de um conjunto de eventos ou opções, somadas em ordem decrescente de probabilidade até que um certo limite seja atingido

Exemplo:

Suponha que o modelo tenha os seguintes tokens candidatos, com suas probabilidades associadas:

Token Probabilidade
Token A 0,40
Token B 0,30
Token C 0,15
Token D 0,10
Token E 0,05

Inteligência Artificial - LLMs



Agora, se você definir top-p = 0,85, o modelo irá selecionar tokens até que a probabilidade cumulativa atinja 0,85.


  1. Token A: 0,40 (probabilidade cumulativa = 0,40)
  2. Token B: 0,30 (probabilidade cumulativa = 0,40 + 0,30 = 0,70)
  3. Token C: 0,15 (probabilidade cumulativa = 0,70 + 0,15 = 0,85)


Assim, apenas os tokens A, B e C serão considerados, pois a soma de suas probabilidades atinge 0,85. Tokens com probabilidade mais baixa (como D e E) serão excluídos da escolha, a menos que top-p seja aumentado.

Inteligência Artificial - LLMs


  1. Temperatura: em geral é aplicada primeiro. Ela ajusta as probabilidades de todos os tokens candidatos, “suavizando” ou “acentuando” a distribuição de probabilidade.
  • Com uma temperatura baixa (próxima de 0), as probabilidades mais altas se destacam, e o modelo tende a ser mais conservador, escolhendo sempre os tokens mais prováveis. Com uma temperatura alta (próxima de 1), a distribuição fica mais uniforme, permitindo maior aleatoriedade.

Vamos relembrar…

Função de Ativação softmax:

Inteligência Artificial - LLMs


O parâmetro de temperatura é aplicado diretamente à função softmax.

Efeito da Temperatura

À medida que a temperatura se aproxima de 0, as probabilidades de saída se tornam mais “agudas”. Uma das probabilidades ficará próxima de 1.

Conforme a temperatura aumenta, as probabilidades de saída se tornam mais “planas” ou “uniformes”, reduzindo a diferença entre as probabilidades dos diferentes elementos.

O intervalo do parâmetro de temperatura é definido entre 0 e 1 na documentação da OpenAI. No contexto da Cohere, os valores de temperatura estão dentro do intervalo de 0 a 5.

Inteligência Artificial - LLMs


Código em python para analisar-mos a temperatura1:

Capacidades e Limitações

(Visão Moderna)



O que esses modelos modernos podem fazer (Patriota, 2024)?

  • Continuar texto mantendo coerência em diversas línguas.
  • Ajudar a provar teoremas (guiados por especialistas).
  • Escrever códigos (R, Python, C, etc.).
  • Explicar teorias, resolver quebra-cabeças, corrigir gramática.


Problemas:

  • O modelo ainda erra de forma confiante.

  • Não se sabe se apenas inserir módulos ou modificar o treinamento resolveria questões lógicas complexas.

Inteligência Artificial - LLMs



Em termos práticos, alguns problemas que temos com LLMs (SLMs) são:

  • Alucinações: o modelo gera informações que não estão presentes nos dados de treinamento;

  • Viés: o modelo pode reproduzir e amplificar preconceitos e estereótipos presentes nos dados de treinamento;

  • Insegurança: o modelo pode fornecer respostas incorretas ou enganosas, sem indicar que não tem certeza sobre a resposta;

  • Incapacidade de generalização: o modelo pode ter dificuldade em lidar com situações fora do conjunto de dados de treinamento.

Inteligência Artificial - LLMs


Duas alternativas para mitigar esses problemas são:

  • Fine-Tuning: ajustar o modelo para um conjunto de dados específico, para que ele possa aprender a tarefa desejada;

  • RAG (Retrieve and Generate): que é um modelo que combina a capacidade de recuperar informações de um grande banco de dados com a capacidade de gerar texto de um modelo de linguagem.

Recursos Adicionais



Para quem tem interesse em implementar modelos de linguagem no R, consulte o trabalho de Alexandre Patriota:


  • GPT4R: Modelo pequeno treinado em Shakespeare (https://github.com/AGPatriota/GPT4R).
  • ALGA-R: Adição em um modelo ultra pequeno.
  • Pesquisas em andamento: Demonstrações de teoremas (ZFC) e resumo de prontuários médicos.

Referências


  • Patriota, A. G. (2024). O modelo estatístico por trás dos Modelos de Linguagem Modernos. Apresentação para o V EPBEST.

  • Reid, Machel, et al. (2024). Gemini 1.5: Unlocking multimodal understanding across millions of tokens of context. arXiv preprint arXiv:2403.05530 .

  • Vaswani, A., N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin (2017). Attention is all you need. Advances in neural information processing systems 30.

  • Devlin, J., M.-W. Chang, K. Lee, and K. Toutanova (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.

Referências


Fontes das imagens utilizadas:




OBRIGADO!


Slide produzido com quarto





Lattes: http://lattes.cnpq.br/4617170601890026

LinkedIn: jodavidferreira

Site Pessoal: https://jodavid.github.io/

e-mail: