A fim de buscar melhorar a performance em tarefas de sumarização do dataset contendo diálogos de atendimento ao cliente pelo Twitter, realizamos o fine-tuning de forma local de um modelo disponibilizado na Hugging Face.
| model | rouge1 | rouge2 | rougeL | rougeLsum |
|---|---|---|---|---|
| Falconsai/text_summarization "tunado" | 0.407386 | 0.180734 | 0.337834 | 0.337445 |
| Falconsai/text_summarization (original) | 0.263383 | 0.10831 | 0.215001 | 0.213951 |
Após o fine-tuning, criamos uma app local simples com o Gradio para facilitar na interação via interface gráfica. Abaixo temos exemplos da sumarização realizada pelo modelo treinado.
Conteúdo
-
Prepara datasets de treino, validação e teste, unindo diálogos no Twitter referentes ao atendimento de clientes e uma sumarização humana deste diálogo.
-
Aplica modelos de sumarização (sem fine-tuning) aos diálogos dos datasets pré-processados e avalia a performance com a métrica ROUGE.
-
De forma local, realiza o fine-tuning de modelos disponibilizados na Hugging Face para sumarização.
-
Compara performance do modelo "tunado" com a versão padrão.
-
Cria aplicação com Gradio, disponibilizando o modelo "tunado" para tarefa de sumarização via navegador web.
-
Testa o app sumarizador via localhost.
Datasets
-
https://www.kaggle.com/datasets/thoughtvector/customer-support-on-twitter
- twcs.csv (516.6 MB)
-
https://github.com/guyfe/Tweetsumm
- final_train_tweetsum.jsonl (1.9 MB)
- final_valid_tweetsum.jsonl (246.6 kB)
- final_test_tweetsum.jsonl (249.3 kB)
Preparamos um dataset contendo posts no Twitter com diálogos de atendimento ao cliente, incluindo uma sumarização abstrativa humana. Aplicamos três modelos de IA generativa para tarefa de sumarização do diálogo. Comparamos dois modelos especializados na tarefa de sumarização (T5 e Falconsai) e um não especializado nesta tarefa. A performance dos modelos foi medida com a métrica ROUGE, que em linhas gerais mensura à sobreposição de n-gramas entre o texto da sumarização gerada pelos modelos de IA e a sumarização gerada por um humano (ground truth).
Conteúdo
-
Constrói dataset contendo diálogos de atendimento ao cliente pelo Twitter e sumarização humana.
-
Aplica modelos disponilizados na Hugging Face para sumarização dos diálogos.
-
Calcula métrica ROUGE para cada um dos modelos e compara resultados.
Datasets
-
https://www.kaggle.com/datasets/thoughtvector/customer-support-on-twitter
twcs.csv(516.6MB)
-
https://github.com/guyfe/Tweetsumm
final_train_tweetsum.jsonl(1.9MB)
Construímos um sistema RAG que é capaz de responder perguntas sobre um artigo científico. Para esta tarefa, inicialmente extraímos o conteúdo das páginas em PDF do artigo. Em seguida, utilizando modelos disponibilizados pela Hugging Face, preparamos o dataset e usamos um modelo LLM local que limita suas respostas ao contexto fornecido.
Conteúdo
-
Extrai informações de PDFs correspondentes as páginas do artigo.
-
Prepara dataset para base vetorial FAISS.
-
Constrói RAG especialista no artigo científico usado como input.
-
Realiza testes.
Dataset
A partir do uso de diferentes técnicas de ML, buscamos melhorar as métricas de performance obtidas para a tarefa de classificar se um cliente realizará um depósito, após um contato de telemarketing. Usamos LLM para analisar os resultados.
Conteúdo
-
Construção de um modelo baseline utilizando AutoML.
-
Feature engineering para criação de novos atributos.
-
Uso de PCA para gerar features.
-
Comparação entre as métricas de performance do modelo baseline e dos modelos candidatos.
-
Explicação dos resultados de performance com ajuda de um LLM.
Dataset
Modelagem anterior
No trabalho "Measuring the Persuasiveness of Language Models" é estudado como argumentos persuasivos, gerados por LLM, podem afetar as avaliações feitas por pessoas.
Em um primeiro momento, os participantes do estudo precisam avaliar uma alegação em uma escala Likert de 1 a 7 (rating_initial). Após essa avaliação, é pedido que novamente as pessoas façam uma avaliação (rating_final), agora levando em conta argumentos gerados por modelos LLMs (compactos e de fronteira). Os autores consideram uma forma simples de medir o efeito persuasivo deste argumento na resposta, utilizando a seguinte métrica: persuasiveness_metric = rating_final - rating_initial.
Motivado por este estudo, cujo dataset é disponibilizado na Hugging Face (Anthropic/persuasion), realizamos testes para checar o efeito dos argumentos persuasivos (argument) nas avaliações que um modelo de LLM, escolhido para testes, realiza das alegações (claim) disponibilizadas na base de dados.
Será que o modelo LLM usado nos testes, após levar em conta argumentos persuasivos em seu contexto, muda sua avaliação inicial? Que fatores podem influenciar nessa possível mudança?
Conteúdo
-
Checa algumas informações sobre o dataset
Anthropic/persuasion, seguindo o artigo: "Measuring the Persuasiveness of Language Models". -
Realiza testes com modelos LLM em subconjunto de amostras para um estudo inicial.
-
Prepara dataset para testes considerando os argumentos persuasivos gerados pelo modelo
Claude 3 Opusde acordo com os seguintes tipos de prompt, descritos no artigo:-
Compelling Case(convincente): o modelo gera um argumento convincente, buscando convencer alguém em cima do muro. -
Logical Reasoning(lógico): o modelo elabora argumentos usando raciocínio lógico, tentando trazer clareza e transparência nos seus argumentos. -
Expert Writer Rhetorics(retórico): o modelo cria argumentos persuasivos como um especialista em retórica, utilizando-se de pathos (apelo às emoções do leitor; por ex., contar uma história emocionante para gerar empatia), logos (apelo à lógica e razão; por ex., apresentar estatísticas na argumentação) e ethos (apelo à credibilidade ou autoridade; por ex., citar especialistas numa certa área). -
Deceptive(falacioso): o modelo formula argumentos que parecem verossímeis, mas são amparados por fatos e fontes inventadas, de forma que o argumento criado seja o mais convincente possível.
-
-
Roda localmente um modelo LLM disponibilizado na Hugging Face para classificar as alegações humanas com e sem a presença dos argumentos persuasivos.
-
Usa a estrutura do artigo para classificação das alegações feitas pelo
modelo LLM de testes:-
1 - Strongly oppose -
2 - Oppose -
3 - Somewhat oppose -
4 - Neither oppose nor support -
5 - Somewhat support -
6 - Support -
7 - Strongly support
-
-
Gera gráficos para análise dos resultados
Notebooks
Classificar se um cliente irá (ou não) realizar um depósito, levando em conta informações de campanhas de marketing via telefone.
Conteúdo
-
Uso de auto ML para análise exploratória (EDA) e treinamento de modelos de machine learning.
-
Análise de correlação de features; geração de gráficos e visualizações para EDA.
-
Geração de relatórios automatizados em html, contendo informações sobre a qualidade do dataset de treino.
-
Cálculo de métricas de performance para o modelo ótimo.
-
Uso de LLM para explicar os resultados obtidos.
Dataset
A partir de uma base de reviews de artigos (UCI) e Langchain, criamos uma chain com três agentes para analisar questões sobre um tema escolhido por um usuário. A partir deste input, o mini sistema de multi-agentes busca esclarecer a questão/tópico questionado: um deles responde as questões de forma generalista; outro busca responder usando o contexto do dataset disponibilizado (RAG); e outro realiza uma busca de vídeos no Youtube para complementar a resposta.
Conteúdo
-
Criação de vector store (FAISS) a partir de embbedings calculados com um modelo disponibilizado na Hugging Face.
-
Buscas por similaridade e prompts com retrievers.
-
Testes com elementos do Langchain: prompt template, tools, retrievers, chains e runnable parallel.
-
Implementação de multi-agentes com tools e RAG.
Neste lab testamos a extração de conteúdo de texto via OCR de uma imagem de cardápio. Realizamos o parsing do texto OCR com LLM e implementamos uma agente com RAG simples para responder questões sobre o cardápio fornecido.
Conteúdo
-
Usa OCR (Tesseract) para extrair informações de um cardápio na forma de imagem (PNG).
-
Realiza o parsing das informações extraídas usando uma LLM.
-
Exporta as informações estruturadas com CSV e JSON.
-
Gera embedding a partir de informações da imagem do cardápio estruturadas, usando modelo disponibilizado pela Hugging Face.
-
Cria banco vetorial (FAISS) e realiza buscas semânticas.
-
Realiza sessão de perguntas e respostas sobre o cardápio fornecido.








