Text Generation
Transformers
Safetensors
Ganda
qwen3
luganda
kintu
minimind
dpo
conversational
text-generation-inference

Kintu-2.0-30M-Instruct

Parameters Context License

A 30M-parameter Luganda chat model: Kintu-2.0-30M, further fine-tuned on multi-turn Luganda chats and then preference-tuned with DPO. The architecture and tokenizer are unchanged.

Training

  1. SFT: luganda-chats and luganda-lima, with long chats split into windows of whole exchanges that fit 512 tokens, each keeping its system message: 2,327 training sequences. 5 epochs, 32 sequences per step, learning rate 5e-5 with cosine decay, fp16, on 1× T4 in 3 minutes. Training loss went from 2.64 to about 1.19.
  2. DPO: luganda-ultrafeedback-dpo, keeping only pairs where the chosen reply scores at least 1 point higher, neither reply contains code, and both fit 512 tokens: 13,659 of 44,496 pairs. 1 epoch, β = 0.1, learning rate 1e-6, 32 pairs per step, fp16, on 1× T4 in 10 minutes. DPO loss went from 0.69 to about 0.65.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("henryhale/Kintu-2.0-30M-Instruct")
model = AutoModelForCausalLM.from_pretrained("henryhale/Kintu-2.0-30M-Instruct")

messages = [
    {"role": "system", "content": "Oli muyambi ow'amagezi ayamba abantu mu Luganda."},
    {"role": "user", "content": "Oli otya?"},
]
enc = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True)
out = model.generate(**enc, max_new_tokens=256, do_sample=True, temperature=0.4, top_p=0.8, repetition_penalty=1.2)
print(tok.decode(out[0, enc["input_ids"].shape[1]:], skip_special_tokens=True))

Limitations

At 30M parameters it often drifts off-topic and gets facts wrong, so don't rely on it for information, especially on health, money or farming. The fine-tuning data is mostly AI-written and machine-translated, and hasn't been fully reviewed by native speakers. Keep chats short: it saw at most 512 tokens at a time.

Downloads last month
462
Safetensors
Model size
30M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for henryhale/Kintu-2.0-30M-Instruct

Finetuned
(1)
this model

Datasets used to train henryhale/Kintu-2.0-30M-Instruct

Collection including henryhale/Kintu-2.0-30M-Instruct