Redes Neurais

Básico de LLM (Large Language Models)

Prof. Jodavid Ferreira

UFPE

Evolução da IA


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.

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



Algunas informações sobre os modelos:

Legenda:

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.

  • é um mapeamento direto de palavras para números, a mesma palavra vai receber o mesmo token (pode ser modelado, mas rapidamente se torna muito grande).
  • os tokens geralmente são palavras, mas também podem ser frases, sinais de pontuação ou até caracteres individuais.
  • A tokenização é o primeiro passo no processamento de linguagem natural (NLP) e é essencial para a pré-processamento de texto.
  • ela ajuda a preparar os dados textuais para análise, tornando-os mais estruturados e fáceis de trabalhar.

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.

Essa contagem de palavras em um texto pode variar bastante dependendo da linguagem, do tamanho das palavras e do uso de pontuações.

Tokens e Embeddings


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

  • Os embeddings é o processo de transformar o mapeamento do vetor de texto de entrada na matriz de embeddings1.

  • Os embeddings faz uma representação mais rica do relacionamento entre os tokens (pode limitar o tamanho e pode ser aprendida).

  • Os embeddings conseguem capturar a estrutura semântica das palavras ou frases e suas relações no texto.

  • Atualmente, elas são criadas usando técnicas de machine learning, como Word2Vec ou GloVe e deep learning, como BERT, GPT-3, e os modelos mais atuais de LLMs.

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, focando em texto, é a associação de número inteiro único para cada palavra ou sub-palavra;

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

  • Camadas de Encoder: são responsáveis por processar e refinar os embeddings;

  • Self-Attention Mechanism: Cada token na sequência avalia a importância de todos os outros tokens, permitindo a incorporação de contexto global em cada embedding.

  • Saída do Encoder: O resultado das camadas de encoder é um conjunto de embeddings contextuais, onde cada token embedding contém informações sobre todo o contexto da sequência.

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

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)

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:

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.

Referências


  • 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.

  • Hirschberg, J. and C. D. Manning (2015). Advances in natural language processing. Sci- ence 349 (6245), 261–266.

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: