Views
No views yet
Files/txt/Carvalho_1987_DicTupiAntigo-Port_OCR.pdfTUPI2LLM/
├── .venv/ # Ambiente virtual Python
├── Files/
│ └── txt/ # Arquivos de texto fonte (PDF, TXT bruto)
│ ├── Carvalho_1987_DicTupiAntigo-Port_OCR.pdf
│ └── Carvalho_1987_DicTupiAntigo-Port_OCR.txt
├── output/ # Arquivos gerados pelo processamento
│ ├── alfabeto/ # Processamento da seção do alfabeto/gramática
│ │ ├── alfabeto_bruto.txt
│ │ └── alfabeto_tratato.txt
│ ├── Arquivos_treinamento/ # Datasets formatados para LLM e logs
│ │ ├── alfabeto_tratado.jsonl # Instruções de Gramática
│ │ ├── dicionario_estruturado_final_vX.json # JSON estruturado (usar versão final, ex: v8)
│ │ ├── dataset_instrucao_vX_final.jsonl # Dataset principal de instruções (definições)
│ │ ├── train_dataset.jsonl # Dataset de Treino (divisão do JSONL de instrução)
│ │ └── validation_dataset.jsonl # Dataset de Validação (divisão do JSONL de instrução)
│ │ └── dataset_tupi_vX_final.txt # (Opcional) Dataset de texto Tupi puro
│ │ └── dataset_paralelo_vX_final.csv # (Opcional) Dataset CSV Tupi-Definição
│ └── Brutos/ # Arquivos de log ou erros
│ └── entradas_com_erro_vX.txt # Logs de erro da extração/pós-processamento
│ └── arquivo_pre_filtrado_debug.txt # Texto após pré-filtragem (opcional)
├── Python/
│ └── Notebooks/ # Código fonte do processamento e testes
│ ├── BookParsing.ipynb # Notebook para parsing do dicionário (provavelmente)
│ ├── split_dataset.py # Script para dividir o JSONL em treino/validação
│ └── inference_test.py # Script/Notebook para testar o modelo fine-tuned
├── tupi-gemma-2b-lora-v8/ # Diretório de SAÍDA do Axolotl com adaptadores LoRA <<< AJUSTE O NOME
│ ├── adapter_config.json
│ ├── adapter_model.safetensors
│ └── ... (outros arquivos salvos pelo Axolotl/Trainer)
├── .gitattributes
├── config.yaml # Arquivo de configuração do Axolotl para fine-tuning
└── Readme.md # Este arquivovX pela versão final utilizada nos nomes dos arquivos. Ajuste o nome do diretório de saída do Axolotl)verbete_tupi, classe_gramatical, definicoes, etc.) para um arquivo JSON (dicionario_estruturado_final_vX.json).alfabeto_tratado.jsonl.dataset_instrucao_vX_final.jsonl), adequado para fine-tuning de instrução..jsonl foi dividido (~90%/10%) usando split_dataset.py para criar train_dataset.jsonl e validation_dataset.jsonl.tupi_llm) com Python 3.10.pytorch (com suporte a CUDA), transformers, datasets, accelerate, peft, trl, bitsandbytes, sentencepiece.build-essential no WSL para permitir a compilação do bitsandbytes.huggingface-cli login) e aceite dos termos do modelo base.google/gemma-2b-it (escolhido por ser pequeno e bom em instruções).config.yaml): Ajustes específicos para baixa VRAM, incluindo sequence_len: 256, load_in_4bit: true, micro_batch_size: 1, gradient_accumulation_steps: 8, lora_r: 8, gradient_checkpointing: true.accelerate launch -m axolotl.cli.train config.yaml../tupi-gemma-2b-lora-v8 (ou nome similar).pip install ...).gemma-2b-it) com quantização QLoRA.inference_test.py) para gerar definições para palavras Tupi e avaliar qualitativamente as respostas.verbete_tupi da classe/definição foi o maior desafio da extração.sequence_len baixo (256), micro_batch_size 1 e gradient_checkpointing para conseguir rodar o fine-tuning do Gemma 2B.build-essential para bitsandbytes e configurar corretamente o DNS para acesso ao Hugging Face Hub.huggingface-cli login).KeyError devido a possíveis problemas com device_map e quantização, necessitando ajustes na forma de carregar modelo + adaptadores para inferência.re, json, csv, os, pandas, PyPDF2/PyMuPDF, sklearn, torch, transformers, datasets, accelerate, peft, bitsandbytes, trl, sentencepieceaxolotloutput/Arquivos_treinamento/dicionario_estruturado_final_vX.json: JSON estruturado (versão final usada como base).output/Arquivos_treinamento/alfabeto_tratado.jsonl: Instruções de gramática.output/Arquivos_treinamento/train_dataset.jsonl: Dataset de treino para LLM.output/Arquivos_treinamento/validation_dataset.jsonl: Dataset de validação para LLM.tupi-gemma-2b-lora-v8/ (ou similar): Diretório contendo os adaptadores LoRA resultantes do fine-tuning.Python/Notebooks/inference_test.py: Script/Notebook para carregar e testar o modelo fine-tuned.config.yaml: Arquivo de configuração do Axolotl usado para o treinamento.inference_test.py para testar uma gama maior de palavras (incluindo as que falharam na extração ou estavam no set de validação) e analisar a qualidade, coerência e precisão das definições geradas.limpar_texto_robusto) e extração (Passo 5 da v8) para gerar um JSON de entrada melhor e retreinar. Corrigir os problemas remanescentes no isolamento do verbete e limpeza das definições é crucial.num_epochs: 2 ou 3 no config.yaml), ajustar a taxa de aprendizado, ou o rank do LoRA (lora_r).alfabeto_tratado.jsonl ao treinamento. Buscar outras fontes textuais.dicionario_estruturado_final_vX.json: Fonte para análise e geração de novos formatos de dataset.train/validation_dataset.jsonl: Usados diretamente para retreinar/continuar o fine-tuning com Axolotl ou TRL.tupi-gemma-2b-lora-v8/ (Adaptadores): Carregar junto com o modelo base google/gemma-2b-it para realizar inferência, usando o inference_test.py como exemplo. Compartilhar esta pasta (ou subir para o Hugging Face Hub) permite que outros usem seu modelo fine-tuned.config.yaml: Documenta os parâmetros usados e pode ser modificado para novos treinamentos.bfloat16 (ex: T4, A100)config.json com model_typetransformerspeftbitsandbytestorchmeta-llama/Llama-2-7b-hf (ou equivalente)peterson047/Tupi2LLM💡 Dica: Os adaptadores devem ser compatíveis com o modelo base!