LusoLLM-v2 — Modelo de Linguagem Lusófono
NZINGA AI Research · Site · Organização HuggingFace
O primeiro modelo de linguagem fine-tuned especificamente para os 9 países da CPLP
Descrição
O LusoLLM-v2 é um Large Language Model fine-tuned sobre o Tucano-1b1 (1.1B parâmetros), especializado para a língua portuguesa nas suas variantes lusófonas — com foco particular nos países africanos de língua portuguesa (PALOP) e na Comunidade dos Países de Língua Portuguesa (CPLP).
Este modelo foi treinado com o objectivo de compreender e gerar texto em português de Angola, Moçambique, Cabo Verde, Guiné-Bissau, São Tomé e Príncipe, Timor-Leste, Brasil e Portugal — cobrindo registos formais, jurídicos, jornalísticos e coloquiais.
⚠️ Nota de desenvolvimento: Este é um modelo em desenvolvimento activo (V2). Pode gerar informação factual incorrecta em perguntas específicas. Recomenda-se uso com RAG (Retrieval-Augmented Generation) para aplicações profissionais. O V3 com corpus expandido está em preparação.
Corpus de Treino
O modelo foi treinado com 185.531 exemplos (~94MB de dados SFT) provenientes de múltiplas fontes lusófonas:
| Fonte | Tipo | País/Região |
|---|---|---|
| Diário da República Electrónico (DRE) | Legislação | Portugal |
| Legis-PALOP | Legislação | Angola, MZ, CV, GB, ST |
| Debates Parlamentares | Texto político formal | Portugal |
| Wikipedia PT | Enciclopédico | Pan-lusófono |
| Transcrições Whisper (manuais) | Voz transcrita | Angola, Moçambique, Cabo Verde |
| Comentários YouTube | Coloquial/social | PALOP |
| Dados sintéticos SiliconFlow | SFT instrução | Pan-lusófono |
| GigaVerbo | Texto geral PT | Pan-lusófono |
Total estimado: ~500M tokens de texto lusófono bruto
Especificações Técnicas
| Parâmetro | Valor |
|---|---|
| Modelo base | TucanoBR/Tucano-1b1 |
| Parâmetros totais | 1.125.279.744 |
| Parâmetros treináveis (LoRA) | 25.231.360 (2.24%) |
| Método de treino | QLoRA + Unsloth |
| Exemplos de treino | 185.531 |
| Épocas | 3 |
| Steps totais | 34.788 |
| Batch size efectivo | 16 |
| GPU | NVIDIA RTX 4090 |
| Runtime | |
| Loss inicial | 2.723 |
| Loss final | 2.182 |
| Formato GGUF | Q4_K_M |
Como Usar
Opção 1 — llama.cpp (local, sem GPU)
# Instalar llama.cpp
brew install llama.cpp # macOS
# ou compilar: https://github.com/ggerganov/llama.cpp
# Correr o modelo
llama-cli -hf DenioNG/LusoLLM-v2-GGUF --jinja \
-p "Explica o que é a CPLP e quais são os seus países membros."
Opção 2 — Ollama (recomendado para uso local)
# Instalar Ollama: https://ollama.ai
ollama run hf.co/DenioNG/LusoLLM-v2-GGUF
Opção 3 — Python com llama-cpp-python
from llama_cpp import Llama
llm = Llama.from_pretrained(
repo_id="DenioNG/LusoLLM-v2-GGUF",
filename="Tucano-1b1.Q4_K_M.gguf",
n_ctx=2048,
)
response = llm.create_chat_completion(
messages=[
{
"role": "user",
"content": "Qual a diferença entre o direito civil angolano e o português?"
}
]
)
print(response["choices"][0]["message"]["content"])
Opção 4 — Transformers (versão LoRA)
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model = AutoModelForCausalLM.from_pretrained("TucanoBR/Tucano-1b1")
model = PeftModel.from_pretrained(base_model, "DenioNG/LusoLLM-v2")
tokenizer = AutoTokenizer.from_pretrained("DenioNG/LusoLLM-v2")
Exemplos de Uso
# Pergunta jurídica lusófona
prompt = "O que estabelece o Código do Trabalho angolano sobre férias?"
# Contexto cultural
prompt = "Explica o significado de 'musseque' no contexto de Luanda."
# Comparação legislativa
prompt = "Quais as diferenças entre o regime fiscal de Portugal e Moçambique?"
# Texto em português angolano
prompt = "Escreve uma notícia informal sobre a economia de Angola."
Limitações Conhecidas
- Factos específicos: O modelo pode alucirar em perguntas factuais muito específicas sobre os PALOP. Recomenda-se RAG com corpus actualizado para uso profissional.
- Contexto limitado: 2048 tokens de contexto — documentos longos devem ser chunked.
- Tamanho: 1.1B parâmetros — adequado para tarefas de geração e compreensão, mas com capacidade de raciocínio limitada em comparação com modelos maiores.
- Línguas africanas: O modelo foi treinado em português, não em línguas bantu (Kimbundu, Kikongo, Umbundu, etc.).
Roadmap
| Versão | Estado | Descrição |
|---|---|---|
| V1 | ✅ Publicado | Prova de conceito — corpus inicial |
| V2 | ✅ Actual | Corpus expandido 185k exemplos, GGUF |
| V3 | 🔧 Em preparação | + UN Corpus + EUR-Lex + Jurisprudência DGSI |
| Lex V1 | 📋 Planeado | Modelo jurídico especializado pan-lusófono |
Citação
Se usar este modelo em investigação académica, por favor cite:
@misc{lusollm2025,
author = {Negrão, Denio},
title = {LusoLLM-v2: A Fine-tuned Language Model for Lusophone Communities},
year = {2025},
publisher = {HuggingFace},
url = {https://huggingface.co/DenioNG/LusoLLM-v2-GGUF},
note = {NZINGA AI Research}
}
Sobre o Projecto NZINGA AI
O NZINGA AI é um projecto de investigação dedicado ao desenvolvimento de modelos de linguagem soberanos para os 280 milhões de falantes de português lusófono — com foco nos países africanos historicamente sub-representados nos grandes corpora de treino.
O nome homenageia a Rainha Ana de Sousa Nzinga Mbande (1583–1663), símbolo de resistência e soberania angolana.
Contacto: nzingaai.vercel.app
Licença
Apache 2.0 — uso livre para investigação e aplicações comerciais com atribuição.
O corpus de treino inclui dados do Diário da República Electrónico (DRE). Verificar os termos de uso do DRE antes de usar este modelo em produtos comerciais que redistribuam o conteúdo legislativo directamente.
- Downloads last month
- 21
4-bit
Model tree for DenioNG/LusoLLM-v2-GGUF
Base model
TucanoBR/Tucano-1b1