Skip to content

carisio/IA368-DD_deep_learning_busca

Repository files navigation

Repositório para a disciplina IA368-DD: Deep Learning aplicado a sistemas de buscas

Leandro Carísio Fernandes


0. Seleção para aluno especial

Projeto: Foi solicitada a construção de um sistema de recuperação de informação usando o algoritmo BM25, com resultados sendo avaliados na base de dados CISI.


Aula 1. Buscador Simples: Booleano, TF-IDF, BM25

Leitura: Seção 1 do artigo "Pretrained Transformers for Text Ranking: BERT and Beyond"

Projeto: (1) Usar o BM25 implementado pelo pyserini para buscar queries no TREC-DL 2020; (2) Implementar um buscador booleano/bag-of-words; (3) Implementar um buscador com TF-IDF; (4) Avaliar implementações 1, 2, e 3 no TREC-DL 2020 e calcular o nDCG@10.

Entregas:


Aula 2. Classificador binário: Análise de Sentimento e Ranqueamento

Leitura: Seção 3 (até 3.2.2) do artigo "Pretrained Transformers for Text Ranking: BERT and Beyond"

Projeto: Reranqueamento usando um modelo estilo-BERT com o treinamento no dataset do MS MARCO e avaliação no TREC-DL 2020


Aula 3. Aplicar LLM's Zero e Few-shot (aplicação escolhida pelo aluno)

Leitura: GPT-3: Language Models are Few-Shot Learners

Projeto: (1) Escolher uma tarefa para resolver de maneira zero ou few-shot. (2) É importante ter uma função de avaliação da qualidade das respostas do modelo few-shot. (3) É possível criar um pequeno dataset de teste manualmente. (4) Usar a API do LLAMA ou do ChatGPT (gpt-3.5-turbo).


Aula 4. Transformer avançado: Implementação e treinamento (modelagem de linguagem)

Leitura: A neural probabilistic language model ou GPT-2

Projeto: Treinar um modelo de linguagem em dados em português e avaliar o modelo usando perplexidade.


Aula 5. Modelo seq2seq: T5 para expansão de documentos (doc2query)

Projeto: Treinar um modelo seq2seq (a partir do T5-base) na tarefa de expansão de documentos.


Aula 6. Buscadores Densos: DPR

Projeto: Finetuning de um buscador denso. Treino usando dataset tiny do MS-MARCO e avaliação no TREC-COVID. Comparar resultados com busca exaustiva e aproximada.


Aula 7. Buscadores Esparsos: SPLADE

Projeto: Implementar a fase de indexação e buscas de um modelo esparso.


Aula 8. InPars: Adaptação de modelos para novas tarefas

Projeto: Gerar dataset para treino de modelos de buscas usando a técnica do InPars e avaliar um modelo reranqueador treinado neste dataset no TREC-COVID.

A ideia é usar um LLM como gerador de queries para documentos do TREC-COVID. A partir daí, gerar exemplos negativos usando o BM25 e treinar um reranqueador para o TREC-COVID.


Aula 9. Destilação

Projeto:

O objetivo do exercício desta semana é construir alguns pipelines de busca e analisá-los em termos das seguintes métricas:

  • Qualidade dos resultados: nDCG@10
  • Latência (seg/query)
  • USD por query assumindo utilização "perfeita": assim que terminou de processar uma query, já tem outra para ser processada
  • USD/mês para deixar o sistema rodando para poucos usuários (ex: 100 queries/dia)
  • Custo de indexação em USD

Iremos avaliar os pipelines no TREC-COVID.

A latência precisa ser menor que 2 segundos por query.

Considerar:

  • 1,50 USD/hora por A100 ou 0,21 USD/hora por T4 ou 0,50 USD/hora por V100
  • 0,03 USD/hora por CPU core
  • 0,005 USD/hora por GB de CPU RAM

Dicas:

  • Utilizar modelos de busca "SOTA" já treinados no MS MARCO como parte do pipeline, como o SPLADE distil (esparso), contriever (denso), Colbert-v2 (denso), miniLM (reranker), monoT5-3B (reranker), doc2query minus-minus (expansão de documentos + filtragem com reranqueador na etapa de indexação)
  • Variar parametros como número de documentos retornados em cada estagio. Por exemplo, BM25 retorna 1000 documentos, um modelo denso ou esparso pode reranquea-los, e passar os top 50 para o miniLM/monoT5 fazer um ranqueamento final.


Aula 10. Multi-document QA: Visconde

Projeto:

Implementar um pipeline multidoc QA: dado uma pergunta do usuário, buscamos em uma grande coleção as passagens mais relevantes e as enviamos para um sistema agregador, que irá gerar uma resposta final.

  • Avaliar no dataset do IIRC
  • Métrica principal: F1
  • Usar o gpt-3.5-turbo como modelo agregador. Limitar dataset de teste para 50 exemplos para economizar.

Dicas:


Trabalho Final - Gerador de surveys

Autores: Leandro Carísio Fernandes e Gustavo Bartz Guedes

Primeira entrega:

Entrega final:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors