Caracal_instruct is an instruction-tuned model, produced as part of the AfriLLMQuant pilot project. It was trained via full Quantization-Aware Training (QAT).
The underlying small language model (SLM) backbone for this QAT process was Inkuba-0.4B, continued-pretrained on African-language data and then instruction-tuned to produce Caracal_instruct. The recommended use of this model is for fine-tuning on specific task.
Base model
theophilusowiti/Caracal_GPT
Training method
Full Quantization-Aware Training (QAT)
Quantization
INT4
Memory footprint (INT8)
~1.17 GB
QAT training time
~3 days on 1x NVIDIA A100 80GB
License
Apache 2.0
Training Dataset
Muri Dataset
Authors & Acknowledgments
Author
Theophilus Lincoln Owiti — Carnegie Mellon University Africa
Acknowledgments
We gratefully acknowledge OpenToken and their infrastructure partner Leafcloud for providing the GPU compute resources that made training this model possible.
Citation
If you use this model or its outputs in your research, please cite:
bibtex
1@misc{owiti2026caracal,
2 title = {Caracal Instruct},
3 author = {Owiti, Theophilus Lincoln},
4 year = {2026},
5 publisher = {Hugging Face},
6 journal = {Hugging Face Repository},
7 howpublished = {\url{[https://huggingface.co/theophilusowiti/Caracal_instruct](https://huggingface.co/theophilusowiti/Caracal_instruct)}},
8 institution = {Carnegie Mellon University Africa},
9 note = {GPU compute provided by OpenToken and Leafcloud}
10}
Usage
python
1from transformers import AutoModelForCausalLM, AutoTokenizer
23model_id ="theophilusowiti/Caracal_instruct"45tokenizer = AutoTokenizer.from_pretrained(model_id)6model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")78prompt ="<s><Input>\nWho is the president of Kenya?\n</Input>\n<Answer>\n"9inputs = tokenizer(prompt, return_tensors="pt").to(model.device)10output = model.generate(**inputs, max_new_tokens=64)11print(tokenizer.decode(output[0], skip_special_tokens=True))
Expected output
The model expects the <Input>...</Input> / <Answer>...</Answer> instruction format used during SFT, e.g.:
<Input>
Who is the president of Kenya?
</Input>
<Answer>
William Ruto
William Ruto</Answer>
Top Performing Languages
Based on instruction following and PPL, these languages conform to instruction, especially when used with context/RAG:
East Africa: Swahili (swa), Amharic (amh), Luganda (lug), Kinyarwanda (kin)
West Africa: Hausa (hau), Yoruba (yor), Igbo (ibo)
Central Africa: Lingala (lin)
Southern Africa: Xhosa (xho)
Training Procedure
Training hyperparameters
The following hyperparameters were used during training:
learning_rate: 5e-05
train_batch_size: 16
eval_batch_size: 16
seed: 42
gradient_accumulation_steps: 2
total_train_batch_size: 32
optimizer: Adam (betas=(0.9, 0.999), epsilon=1e-08)