--- language: - pt license: apache-2.0 library_name: mlx tags: - gemma3 - fine-tuned - lora-fused - mlx - brazilian-portuguese - dialect - periferia - financial-education - cpt - sft - dpo base_model: mlx-community/gemma-3-1b-it-bf16 pipeline_tag: text-generation model-index: - name: MLK-de-Vila-1.0-1.3B results: - task: type: text-generation name: Financial Education in Brazilian Periferia Dialect metrics: - name: Functional Responses type: accuracy value: 100 verified: false - name: Dialect Usage (DPO) type: accuracy value: 100 verified: false --- # MLK de Vila 1.0-1.3B
LLM de educação financeira que fala a língua da periferia brasileira
**MLK de Vila** é um modelo de linguagem fine-tuned para ser um educador financeiro que compreende e responde no dialeto da periferia brasileira. Treinado inteiramente em hardware acessível (8GB de memória, GPU integrada, processador ARM). ## Model Details | Attribute | Value | |-----------|-------| | **Base Model** | [mlx-community/gemma-3-1b-it-bf16](https://huggingface.co/mlx-community/gemma-3-1b-it-bf16) (Gemma 3 1B IT) | | **Architecture** | Gemma3ForCausalLM | | **Parameters** | 1,301,875,840 (~1.3B) | | **Format** | bf16 (safetensors) | | **Framework** | MLX (Apple Silicon) | | **Size** | ~2.6 GB | | **Training Pipeline** | CPT → fuse → SFT → fuse → DPO → fuse | | **Training Data** | ~842,000 tokens | | **Peak Memory** | 5.08 GB | | **Total Training Time** | ~4 hours | | **Hardware** | 8GB RAM, GPU integrada, ARM | ## Training Pipeline ``` Gemma 3 1B IT ──CPT──→ Dialeto bruto ──SFT──→ Dialeto + Conteúdo ──DPO──→ Modelo Final ↓ ↓ ↓ ↓ Vocabulário Como falar O que falar Qual estilo e estruturas da periferia sobre finanças preferir ``` ### Continuous Pre-Training (CPT) - **Data:** 302k tokens — 99 transcrições YouTube, artigos, textos sintéticos em dialeto - **Config:** LoRA rank 32, scale 20.0, 10 layers, LR 2e-5, 500 iters - **Result:** Val loss 4.362 → 3.258 (25% reduction) ### Supervised Fine-Tuning (SFT) - **Data:** 180k tokens — 558 instruction-response pairs (94 financial topics, 64 slang terms) - **Config:** LoRA rank 16, scale 10.0, 12 layers, LR 1e-5, 1950 iters - **Result:** Val loss 4.518 → 1.587 ### Direct Preference Optimization (DPO) - **Data:** 360k tokens — 564 preference pairs (dialect chosen vs formal rejected) - **Config:** LoRA rank 4, 4 layers, 479K params, beta 0.3, LR 1e-6, 300 iters - **Result:** Loss 0.693 → 0.495 ## Results ### Benchmark (16 questions: 8 formal + 8 dialect) | Stage | Functional Responses | Uses Dialect | |-------|---------------------|-------------| | Base (Gemma 3 1B IT) | 16/16 | 0/16 | | After CPT | 16/16 | Partial | | After SFT | 16/16 | 14/16 | | **After DPO (this model)** | **16/16** | **16/16** | ### Interpretability Test Input (100% slang): > "Ae parceiro, to no busão chegando na quebrada, mano esse bagulho de grana é embaçado, você dá mó trampo e essa parada de inflação engole sua grana. Na moral, papo reto memo, você precisa pegar a visão de investir." **Model response:** > "Vou te **passar a visão** de investir, mas é importante entender que não é pra ser feito no seu bolso. Se você é um estudante, um jovem de 17 anos, tem que ter um plano. O dinheiro que você ganha no mês é pra ser usado com responsabilidade. Por exemplo, se você é MEI e tem R$ 1.200 por mês, é melhor que você anote cada centavo que recebe e distribua para despesas fixas, como aluguel, contas, e depois deixar um monte pra investir." The model: (1) understood the intent, (2) responded in dialect ("passar a visão"), (3) provided concrete financial advice contextualized for a young person. ## How to Use ### With MLX (recommended for Apple Silicon) ```python from mlx_lm import load, generate model, tokenizer = load("lbertolino/MLK-de-Vila-1.0-1.3B") # IMPORTANT:"Quando o jovem da quebrada pergunta 'Mano, como organizar a grana do mês?' e o modelo responde com orientação financeira concreta no dialeto dele — isso não é tradução. É comunicação."