Amplified Access logoHomeDesign and development by Asiimwe Grace Noble

Open language models for local languages and contexts

Luganda-gemma-1B-it

Fine-tuned Gemma 3 1B Instruct for English to Luganda and Luganda to English Translation

Overview

A fine-tuned version of Google Gemma 3 1B Instruct for English to Luganda, Luganda to English translation and Luganda conversational AI. Trained with QLoRA (4-bit quantization + LoRA adapters) runs on consumer GPUs. Only 52 MB adapter on top of the 1B base model, trained primarily on the Sunbird SALT parallel corpus covering agriculture, health, and society topics.

Performance metrics

13.85

BLEU score

46.59

chrF++ score

13.05M

Trainable parameters

256 tokens

Context length

Capabilities

  • English to Luganda translation
  • Luganda to English translation
  • Luganda conversational AI
  • Educational tools for Luganda language learning
  • Low-resource African language NLP research

Key achievements

  • BLEU 13.85 on English to Luganda translation, up from 0.06 on the base model
  • chrF++ 46.59 strong character level accuracy for morphologically rich Luganda
  • Only 52 MB adapter on top of the 1B base model
  • Runs on consumer GPUs with QLoRA (4-bit quantization and LoRA adapters)

Usage example

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch

base_model_id = "google/gemma-3-1b-it"
adapter_id = "AmplifiedAccess/Luganda-gemma-1b-it"

tokenizer = AutoTokenizer.from_pretrained(base_model_id)

model = AutoModelForCausalLM.from_pretrained(
    base_model_id,
    quantization_config=BitsAndBytesConfig(
        load_in_4bit=True,
        bnb_4bit_quant_type="nf4",
        bnb_4bit_compute_dtype=torch.bfloat16,
    ),
    device_map={"": 0},
)
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()

# Translate civic content English → Luganda
prompt = "Translate to Luganda:\nA community officer can help residents complete forms, check eligibility, and even process applications offline."
messages = [{"role": "user", "content": prompt}]
inputs = tokenizer.apply_chat_template(
    messages, return_tensors="pt", return_dict=True, add_generation_prompt=True
).to(model.device)

with torch.no_grad():
    outputs = model.generate(**inputs, max_new_tokens=128, do_sample=False)

prompt_len = inputs["input_ids"].shape[1]
response = tokenizer.decode(outputs[0][prompt_len:], skip_special_tokens=True).strip()
print(response)
Coming Soon

Swahili-gemma-1B-it

Fine-tuned Gemma 3 1B Instruct for English to Swahili and Swahili to English Translation

Overview

A large language model fine-tuned specifically for Kiswahili, one of Africa's most widely spoken languages. Designed to understand and generate natural, culturally relevant Swahili text across a wide range of tasks including translation, conversational AI, and document understanding.

Technology stack

Base model

Gemma 3

Training method

QLoRA (4-bit)

Framework

HuggingFace PEFT

Training data

Swahili parallel corpus

Key features

  • Native Kiswahili understanding and generation
  • English to Kiswahili and Kiswahili to English translation
  • Cultural context awareness for East and Central Africa
  • Support for both formal and informal Swahili registers
  • Optimized for low-resource deployment

Explore our language models

Explore our language models built around African languages, local knowledge, and community priorities. Designed to help communities shape and benefit from AI on their own terms.