Skip to content

Este repositório é um tutorial completo e prático que explora metodologias avançadas para a classificação de sentimentos e emoções em textos, utilizando Modelos de Linguagem de Grande Porte (LLMs). O projeto foi desenvolvido para ser acessível, com todos os exemplos executáveis em ambientes gratuitos como o Google Colab.

Notifications You must be signed in to change notification settings

Assaoka/Guide-to-Advanced-LLM-Techniques

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Guia Prático de Técnicas Avançadas com LLMs para Classificação de Texto 🤖
UNIFESP João Victor Assaoka

   Este repositório é um tutorial completo e prático que explora metodologias avançadas para a classificação de sentimentos e emoções em textos, utilizando Modelos de Linguagem de Grande Porte (LLMs). O projeto foi desenvolvido para ser acessível, com todos os exemplos executáveis em ambientes gratuitos como o Google Colab.

🎯 Objetivo

   O objetivo deste guia é desmistificar e centralizar o conhecimento sobre técnicas de LLMs, oferecendo um caminho claro e progressivo para estudantes, pesquisadores e desenvolvedores. Através de uma tarefa prática de análise de sentimentos em notícias financeiras brasileiras, demonstramos e comparamos abordagens como:

  • Engenharia de Prompt: Zero-Shot, Few-Shot e Chain-of-Thought (CoT).
  • Ensembles de LLMs: Votação Majoritária e Negociação entre modelos.
  • Fine-Tuning Eficiente: Ajuste fino com QLoRA (Quantized Low-Rank Adaptation).
  • Destilação de Conhecimento: Treinamento de um modelo menor a partir de um modelo "professor" maior.

🚀 Como Começar

Todos os notebooks foram projetados para serem executados de forma independente no Google Colab. Não é necessário configurar um ambiente local. Basta clicar nos links abaixo para abrir e executar cada módulo diretamente no seu navegador.

📚 Módulos do Tutorial

O guia é dividido em quatro módulos progressivos.

Neste módulo, construímos a fundação para interagir com LLMs de forma programática. Abordamos a configuração de APIs (Groq e Sabiá), a orquestração com LangChain e a importância de gerar saídas estruturadas (JSON) para integrar os modelos em aplicações reais.

Aqui, aprofundamos as estratégias para guiar o comportamento dos LLMs. Comparamos as abordagens Zero-Shot, Few-Shot e a poderosa técnica de Chain-of-Thought (CoT), que incentiva o modelo a "pensar passo a passo" para melhorar a precisão em tarefas complexas.

Este módulo explora como combinar as predições de múltiplos modelos para obter resultados mais robustos. Implementamos duas estratégias de ensemble: a Votação Majoritária (incluindo a técnica de Self-Consistency) e a Negociação, que simula um debate estruturado entre modelos para alcançar um consenso.

No módulo final, adaptamos o próprio modelo à nossa tarefa específica. Demonstramos como realizar o fine-tuning de um LLM de forma eficiente em uma GPU gratuita, utilizando a técnica QLoRA. Além disso, introduzimos a destilação de conhecimento como uma forma de criar modelos menores e mais rápidos, treinados para imitar o comportamento de um "professor" maior.

   Para ajudar na escolha da metodologia mais adequada para o seu projeto, o artigo associado a este guia oferece um guia de decisão prático, com base em prioridades como precisão, interpretabilidade e latência.

Sinta-se à vontade para explorar, executar e adaptar os notebooks para seus próprios projetos!

About

Este repositório é um tutorial completo e prático que explora metodologias avançadas para a classificação de sentimentos e emoções em textos, utilizando Modelos de Linguagem de Grande Porte (LLMs). O projeto foi desenvolvido para ser acessível, com todos os exemplos executáveis em ambientes gratuitos como o Google Colab.

Topics

Resources

Stars

Watchers

Forks