Este repositĂłrio contĂ©m um pipeline completo para treinamento, inferĂŞncia e avaliação de modelos de linguagem (LLMs) adaptados ao domĂnio futebolĂstico. O projeto utiliza dados reais extraĂdos da API do Sofascore, organizados para tarefas supervisionadas de classificação e question answering (QA) no estilo Alpaca.
├── get_players.ipynb # Extrai estatĂsticas individuais de jogadores
├── get_teams.ipynb # Extrai estatĂsticas agregadas por time
├── get_tables.ipynb # Extrai e converte tabelas de classificação por campeonato
├── train_model.ipynb # Realiza o fine-tuning supervisionado com Unsloth (LoRA 4-bit)
├── evaluate_model.ipynb # Avalia os modelos (fine-tuned, base e GPT-4o) com métricas automáticas
├── /dados_rag_new # Pasta com os arquivos CSV gerados (Google Drive ou local)
└── README.md # Este arquivo
- Extrai estatĂsticas individuais por jogador em partidas encerradas.
- Filtra jogadores com base em posição e estatĂsticas mĂnimas.
- Gera um dataset para classificação de desempenho: bom, mediano ou ruim.
- Salva os dados como CSVs para cada campeonato e um consolidado para fine-tuning.
- Coleta estatĂsticas de time por evento (posse, finalizações, precisĂŁo de passes etc.).
- Classifica o desempenho de cada time por critĂ©rios heurĂsticos (xG, posse, chutes).
- Gera dataset supervisionado para classificação do time por partida.
- Acessa diretamente endpoints da Sofascore para obter as classificações por temporada.
- Gera exemplos de QA baseados em tabelas:
- Cell selection, Superlative, Aggregation, Difference, Average, Thresholds.
- Salva exemplos balanceados para uso no fine-tuning multitarefa.
- Usa o framework Unsloth com LLaMA 3.1 8B quantizado (4bit).
- Aplica LoRA para ajuste eficiente com baixo uso de memĂłria.
- Treina com
SFTTrainer
por 60 steps (ajustável). - Salva e publica os adaptadores LoRA no Hugging Face Hub.
- Compara 3 modelos:
Fine-Tuned
,Base
(LLaMA 3.1) eGPT-4o
. - Métricas usadas:
- BLEU, ROUGE, BERTScore, METEOR, GPT-4 Score
- Gera gráfico comparativo de desempenho entre os modelos.
- Exibe outputs lado a lado para análise qualitativa.
- Python 3.10+
- GPU com suporte a CUDA (mĂnimo: 12 GB VRAM para fine-tuning)
- Pacotes principais:
unsloth
,transformers
,peft
,trl
,datasets
,huggingface_hub
sacrebleu
,rouge-score
,bert-score
,nltk
,playwright
,cloudscraper
Os datasets gerados estĂŁo estruturados em CSVs:
processed_player_data_multi_championship.csv
team_performance_<campeonato>.csv
hierarchical_qa_dataset_balanced_all_seasons.csv
player_performance_analysis_dataset.csv
VocĂŞ pode adaptar o script para salvar os dados localmente ou em um diretĂłrio montado do Google Drive.
Modelo | BLEU | ROUGE-L | BERT-F1 | METEOR | GPT-4 Score |
---|---|---|---|---|---|
Fine-Tuned | 71.3 | 77.4 | 84.2 | 68.1 | 88.5 |
Base | 59.2 | 64.8 | 75.6 | 58.7 | 71.2 |
GPT-4o | 84.1 | 82.3 | 89.3 | 72.9 | 93.4 |
O modelo fine-tuned Ă© publicado em:
👉 guilhermemoraisr/llama3-1-8B-4bit-lora-football-low-steps