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 676 minutos (11h15)
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
GGUF
Model size
1B params
Architecture
llama
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DenioNG/LusoLLM-v2-GGUF

Quantized
(2)
this model