1. Conceitos Fundamentais de IA [0]

Esta seção explica os termos essenciais da IA, como Modelos de Linguagem Grandes (LLMs), tokenização, vetorização, atenção e aprendizagem autossupervisionada, que são cruciais para o processamento e a compreensão da linguagem humana.

1.1. Modelos de Linguagem Grandes (LLMs) e Processamento de Entrada [7]

  1. Um Modelo de Linguagem Grande (LLM) é uma rede neural treinada para prever a próxima palavra em uma sequência de entrada [7].
    1. Por exemplo, se a entrada for "tudo que reluz", o LLM pode prever "não é ouro", completando a frase [9].
  2. A tokenização é o processo de dividir o texto de entrada em partes menores chamadas tokens [13].
    1. Em vez de dividir apenas por espaços, a tokenização considera sufixos comuns como "ers" (em "glitters") ou "ing" (em "eating"), pois eles carregam significado [19].
    2. O objetivo é que o LLM compreenda a linguagem humana de forma eficaz [29].
  3. A vetorização converte esses tokens em vetores, que são representações numéricas do significado das palavras em um espaço multidimensional [31].
    1. Palavras com significados semelhantes são colocadas próximas umas das outras nesse espaço, permitindo que o LLM entenda o significado inerente das palavras e construa frases de forma eficaz [33].

1.2. Atenção e Aprendizagem Autossupervisionada [43]

  1. O mecanismo de atenção permite que os LLMs compreendam o significado de palavras ambíguas, considerando as palavras próximas que fornecem contexto [43].
    1. Por exemplo, a palavra "maçã" tem significados diferentes dependendo do contexto ("maçã saborosa" para a fruta, "receita da Apple" para a empresa) [46].
    2. A atenção ajusta o vetor de uma palavra ambígua na direção do seu significado contextual, combinando o vetor da palavra com o vetor de palavras próximas (como "saborosa" ou "receita") [52].
    3. Essa capacidade de derivar significado contextual foi um avanço significativo em 2017, tornando os LLMs muito populares e melhorando a qualidade das respostas [64].
  2. A aprendizagem autossupervisionada é um método de treinamento onde o modelo aprende a partir da estrutura dos próprios dados de entrada, sem a necessidade de rótulos humanos explícitos [71].
    1. O modelo é desafiado a prever partes ausentes ou futuras de uma sequência de entrada, como prever o próximo número em uma contagem ou a direção do olhar em uma imagem [74].
    2. Isso torna a obtenção de dados de treinamento muito mais barata, pois o modelo pode gerar seus próprios "quebra-cabeças" a partir de textos existentes, como aqueles raspados da internet [87].
    3. Se o modelo cometer um erro, ele é "penalizado", e os pesos da rede neural são atualizados para melhorar as previsões futuras [98].
    4. Essa abordagem é altamente escalável e é adotada por muitos modelos de IA, incluindo modelos de imagem que preveem partes ausentes de imagens [108].

2. Arquiteturas e Métodos de Treinamento de IA [116]

Esta seção explora a arquitetura Transformer, o processo de ajuste fino para especializar modelos e a técnica de prompting de poucas tentativas para melhorar as respostas dos LLMs.

2.1. Transformer e Ajuste Fino [116]

  1. Um Transformer é um algoritmo ou método específico usado por um LLM para prever o próximo token em uma sequência de entrada [116].
    1. Ele processa tokens de entrada através de blocos de atenção e redes neurais de feed-forward, que são empilhados em várias camadas [120].
    2. A primeira camada de atenção desambigua termos, enquanto camadas subsequentes podem encontrar relações mais complexas, como sarcasmo ou implicações [124].
    3. O objetivo é extrair todo o significado dos tokens de entrada e manipulá-los repetidamente para prever a próxima palavra [136].
    4. O Transformer é o "motor" de um LLM, que é o "produto" final, e pode ser substituído por outras arquiteturas no futuro [141].
  2. O ajuste fino (fine-tuning) é o processo de treinar um modelo base (inicialmente treinado de forma autossupervisionada) com conjuntos específicos de perguntas e respostas para que ele responda de uma maneira particular [145].
    1. Por exemplo, um LLM pode ser ajustado para usar termos médicos para diagnósticos ou termos financeiros para operações financeiras [147].
    2. Durante o ajuste fino, respostas indesejáveis, mesmo que não sejam tecnicamente erradas, são penalizadas para forçar o modelo a dar respostas diretas e úteis [156].
    3. O mesmo modelo base pode ser ajustado para criar vários modelos especializados, como um modelo Llama ajustado para responder a consultas específicas de clientes de uma empresa [165].

2.2. Prompting de Poucas Tentativas [167]

  1. O prompting de poucas tentativas (few-shot prompting) melhora a qualidade das respostas de um LLM, adicionando exemplos à consulta de entrada [167].
    1. Durante o tempo de inferência (quando o modelo está gerando uma resposta), o servidor envia a consulta original do usuário junto com exemplos para o modelo, fornecendo contexto adicional [170].
    2. Isso permite que o modelo use esses exemplos como referência para gerar uma resposta mais apropriada e de maior qualidade [171].

3. Aprimoramento de Contexto e Interação com Modelos de IA [176]

Esta seção aborda técnicas para fornecer contexto adicional aos LLMs, como Geração Aumentada por Recuperação (RAG), bancos de dados de vetores, Protocolo de Contexto do Modelo (MCP) e engenharia de contexto, que permitem que os modelos interajam com dados externos e mantenham conversas mais longas e personalizadas.

3.1. Geração Aumentada por Recuperação (RAG) e Bancos de Dados de Vetores [176]

  1. A Geração Aumentada por Recuperação (RAG) aprimora as respostas dos LLMs, fornecendo documentos relevantes e exemplos junto com a consulta do usuário [176].
    1. O servidor recupera documentos relevantes (como políticas da empresa ou termos e condições) em tempo real e os envia ao LLM, juntamente com exemplos de como responder (prompting de poucas tentativas) e a consulta do usuário [184].
    2. Isso permite que o LLM gere respostas de alta qualidade, com contexto específico da empresa e no formato desejado [188].
  2. Um banco de dados de vetores é usado para armazenar documentos e encontrar aqueles que são mais relevantes para uma consulta de entrada [201].
    1. Quando um usuário expressa uma emoção (como "chateado") ou uma necessidade (como "reembolso"), o banco de dados de vetores pode encontrar documentos que encapsulam significados semanticamente semelhantes (como "baixa avaliação" ou "desistência do usuário"), mesmo que as palavras exatas não estejam presentes [204].
    2. Isso é possível porque os vetores representam o significado semântico, e documentos com palavras semelhantes terão vetores próximos no espaço multidimensional [215].
    3. O documento mais próximo da consulta é então adicionado ao contexto do LLM para gerar uma resposta [219].
    4. Bancos de dados de vetores são eficientes para buscas de similaridade e podem armazenar documentos internos da empresa para fornecer contexto [196].

3.2. Protocolo de Contexto do Modelo (MCP) e Engenharia de Contexto [228]

  1. O Protocolo de Contexto do Modelo (MCP) permite que os LLMs se conectem a ferramentas ou bancos de dados externos para obter contexto que não está dentro do sistema [228].
    1. Um cliente MCP envia a consulta inicial do usuário ao LLM, que decide se precisa de ferramentas externas [231].
    2. O cliente MCP então se conecta a servidores MCP externos (como os de companhias aéreas) para obter informações em tempo real (por exemplo, detalhes de voos) [234].
    3. Essas informações externas são enviadas de volta ao LLM, que as usa para tomar decisões e até mesmo executar ações (como reservar um voo) através de chamadas de API para o servidor MCP externo [240].
    4. Isso torna os LLMs muito mais poderosos, permitindo que eles não apenas forneçam informações, mas também executem tarefas completas para o usuário [250].
  2. A engenharia de contexto é um termo abrangente que inclui o uso de prompting de poucas tentativas, RAG e MCP para adicionar contexto a uma consulta de LLM [254].
    1. Ela enfrenta desafios como gerenciar as preferências do usuário e resumir o histórico de conversas (context summarization) [259].
    2. Técnicas como janelas deslizantes (enviar as últimas 100 conversas e resumir as anteriores) ou focar em palavras-chave são usadas para resumir o contexto e limitar a quantidade de dados enviados ao LLM [261].
    3. A engenharia de contexto difere da engenharia de prompt porque a engenharia de prompt é para um único prompt e é sem estado, enquanto a engenharia de contexto evolui com as preferências do usuário e o histórico de conversas [273].

4. Agentes, Aprendizagem por Reforço e Modelos de Raciocínio [277]

Esta seção explora agentes como processos de longa duração com múltiplas capacidades, a aprendizagem por reforço para treinar modelos com feedback humano, e os modelos de raciocínio que usam a cadeia de pensamento para resolver problemas passo a passo.

4.1. Agentes e Aprendizagem por Reforço [277]

  1. Um agente é um processo de longa duração que pode consultar LLMs, sistemas externos e outros agentes para atender aos requisitos do usuário [278].
    1. Por exemplo, um agente de viagens pode reservar voos e hotéis, e até gerenciar e-mails, tomando decisões com base nas preferências do usuário e em oportunidades (como voos baratos) [283].
  2. A aprendizagem por reforço (reinforcement learning) é um método para treinar modelos a se comportarem de uma maneira específica, usando feedback para reforçar bons resultados [287].
    1. Em plataformas como o ChatGPT, os usuários escolhem a melhor resposta entre várias opções, e a resposta escolhida recebe uma pontuação positiva (+1), enquanto as outras recebem uma pontuação negativa (-1) [289].
    2. Isso cria um "espaço de vetores" onde caminhos que levam a respostas positivas são reforçados, e caminhos que levam a respostas negativas são evitados, otimizando o modelo para gerar resultados que satisfaçam o usuário [293].
    3. A aprendizagem por reforço com feedback humano (RLHF) é uma técnica poderosa que usa o feedback humano para reforçar bons resultados, semelhante ao condicionamento clássico (como o cão de Pavlov) [319].
    4. No entanto, a aprendizagem por reforço não pode construir modelos mentais ou compreender a física subjacente de um evento (como a probabilidade de uma moeda justa), apenas aprende com os resultados observados [330].

4.2. Cadeia de Pensamento e Modelos de Raciocínio [350]

  1. A cadeia de pensamento (chain of thought) é um conceito poderoso onde o modelo é treinado para explicar seu processo de raciocínio passo a passo [350].
    1. Isso permite que o modelo resolva novos problemas, mesmo com parâmetros diferentes, porque ele aprendeu a raciocinar de forma dedutiva [352].
    2. A qualidade das respostas geradas por meio da cadeia de pensamento é geralmente muito maior do que as respostas diretas, e o modelo pode adicionar mais etapas de raciocínio conforme a dificuldade do problema aumenta [354].
  2. Modelos de raciocínio são modelos que podem descobrir como resolver um problema passo a passo, usando a cadeia de pensamento ou outros algoritmos (como "árvore de pensamento" ou "grafo de pensamento") [364].
    1. Exemplos incluem os modelos DeepS e OpenAI da série O [371].

5. Modelos Multimodais e Otimização de Modelos [373]

Esta seção aborda modelos multimodais que processam diferentes tipos de dados, modelos de linguagem pequenos (SLMs) para aplicações específicas, o processo de destilação para criar SLMs eficientes e a quantização para reduzir os custos de inferência.

5.1. Modelos Multimodais e Modelos de Linguagem Pequenos [373]

  1. Modelos multimodais são modelos que podem aceitar e gerar diferentes tipos de dados, como texto, imagens e vídeos, ao contrário da maioria dos LLMs que operam apenas com texto [373].
    1. Eles têm aplicações significativas em áreas como marketing e mídias sociais, onde podem analisar e modificar imagens ou criar vídeos, reduzindo os custos de produção [377].
    2. O desempenho desses modelos é geralmente melhor do que os modelos treinados apenas em texto, pois eles têm uma compreensão mais profunda do significado dos objetos ao serem treinados com diferentes modalidades de dados [382].
  2. Modelos de linguagem pequenos (SLMs) são modelos com menos parâmetros (3 milhões a 300 milhões) em comparação com os LLMs (3 a 300 bilhões), o que os torna mais rápidos e mais fáceis de hospedar [393].
    1. Eles são úteis porque podem ser treinados com dados específicos da empresa ou da tarefa, tornando-os especialistas em casos de uso específicos, como gerenciamento de consultas de clientes ou vendas [398].
    2. As empresas buscam SLMs para ter mais controle sobre o que geram e manter seus dados proprietários [389].

5.2. Destilação e Quantização [407]

  1. A destilação é o processo de construir SLMs usando um LLM como "professor" [407].
    1. O LLM (professor) e o SLM (aluno) recebem a mesma entrada, e o SLM tenta imitar a saída do professor [408].
    2. Se as saídas não corresponderem, os pesos internos do SLM são ajustados para melhorar seu desempenho, mas com um número limitado de pesos [412].
    3. O objetivo é condensar a informação de uma rede neural complexa em uma representação mais razoável, reduzindo significativamente os custos de execução e tornando o SLM mais rápido em tempo de inferência [415].
  2. A quantização é uma técnica para reduzir o custo de execução de um modelo em produção, convertendo os pesos da rede neural (que são números de 32 bits) em representações de menor bit (como 8 bits) [419].
    1. Isso pode economizar até 75% da memória, embora não reduza os custos de treinamento, pois a quantização é aplicada após o modelo ser completamente treinado [423].
    2. O principal benefício é a redução do custo de inferência (execução do modelo em produção) [427].