Edit model card

Modelo Tiny Llama com Fine Tuning (LORA)

Este repositório contém um modelo de linguagem Tiny Llama 1 treinado com Fine Tuning pelo uso do LORA. Esse modelo está especializado em responder perguntas relacionadas a legislação da Universidade Federal do Amazonas.

O repositório contém os dados do modelo, uma pasta Relatórios, em que se encontram os relatórios de pré processamento, desempenho do modelo e de eficácia do sistema. Além disso, a pasta Notebooks, é onde temos todos os notebooks utilizados para realizar o fine tuning desse modelo, desde o pré processamento até o uso do RAG.

Pré Processamento

No pré processamento, foi utilizado o OCR para extrair as informações dos PDFs das legislações e armazenar elas em um arquivo de texto. Com os textos extraídos, geramos uma base de dados sintética de instruções, fazendo requisições para a API do modelo Llama-3-70B-Instruct e usando um prompt em inglês.

LORA

O LORA está sendo utilizado da seguinte forma:

  • Configuração do LORA:

    lora_r, lora_alpha, lora_dropout: Esses parâmetros controlam o tamanho e a complexidade das matrizes de baixo rank adicionadas a cada camada. peft_config: Essa configuração define os parâmetros do LORA para o modelo.

  • Carregamento do modelo base:

    O modelo pré-treinado TinyLlama-1.1B-Chat-v1.0 é carregado com a configuração de quantização para economizar memória.

  • Criação do modelo fine-tuned:

    O modelo base é combinado com a configuração LORA para criar um novo modelo que será treinado nos dados específicos.

  • Treinamento:

    O modelo fine-tuned é treinado nos dados de treinamento, ajustando os parâmetros do LORA para a tarefa específica de responder perguntas sobre legislação.

RAG

O rag pode ser utilizado rodando o notebook 'rag.ipynb' presente na pasta Notebooks. Todos os detalhes da implementação são comentados no relatório correspondente. Porém o notebook segue a seguinte estrutura:

  • Segmentação:

    Carregamento da base de dados e quebra do conteúdo em chunks.

  • Indexação:

    Salvar os embeddings e o conteúdo usando FAISS

  • Recuperação:

    Carregar o Modelo fine-tuned, o tokenizador e as configs. Preparar o pipeline para interação com a doc_chain. Criar retriever para recuperar os dados da base. Criar retriever chain para conseguirmos "buscar" na base de dados.

  • Geração:

    Testes de geração no final do notebook.

Avaliação

Para avaliar o modelo, fizemos no notebook do Lora um dataframe que agrupa os resultados previstos pelo modelo e os resultados reais (pelos dados separados para teste), permitindo uma análise comparativa acerca do desempenho do modelo.

Downloads last month
0
Inference API
Unable to determine this model’s pipeline type. Check the docs .

Model tree for bonfimr/PLN_TP3_TinyLoraFineTuned

Adapter
(509)
this model