Ganda Gemma 1B - LiteRT
LiteRT (formerly TensorFlow Lite) optimized version of Ganda Gemma 1B - a fine-tuned Gemma 3 1B instruction model specialized for English-to-Luganda translation and Luganda conversational AI.
This repository contains MediaPipe task bundles optimized for mobile deployment on Android and iOS devices.
π Translation Performance
FLORES-200 Evaluation Results
Our Ganda Gemma 1B model demonstrates strong performance in English-to-Luganda translation:
| Metric | Score | Ranking | 
|---|---|---|
| BLEU | 6.99 | 2nd out of 5 models | 
| chrF++ | 40.32 | 2nd out of 5 models | 
Model Comparison
| Model | Parameters | BLEU | chrF++ | Efficiency* | 
|---|---|---|---|---|
| Gemma 3 4B | 4B | 1.1 | 20.05 | 0.28 | 
| Gemma 3 27B | 27B | 3.65 | 31.37 | 0.14 | 
| GPT-5 Mini | N/A | 5.14 | 36.55 | N/A | 
| Ganda Gemma 1B | 1B | 6.99 | 40.32 | 6.99 | 
| Gemini 2.0 Flash | Large | 7.94 | 43.38 | N/A | 
*Efficiency = BLEU Score / Parameters (in billions)
Key Performance Insights
π― Efficiency Leader: Achieves the highest BLEU-to-parameter ratio (6.99 BLEU per billion parameters)
π Size Advantage: Outperforms Gemma 3 4B (4x larger) by 535% on BLEU score
π Competitive Quality: Outperforms GPT-5 Mini by 36% on BLEU score with known parameter count
β‘ Practical Deployment: Runs efficiently on consumer hardware while maintaining quality  
Evaluation Details
- Dataset: FLORES-200 EnglishβLuganda (1,012 translation pairs)
 - Metrics: BLEU (bilingual evaluation understudy) and chrF++ (character F-score)
 - Evaluation: Zero-shot translation performance
 - Model: ganda-gemma-1b checkpoint with GRPO enhancement
 
π± Available Models
| File | Size | Quantization | Use Case | 
|---|---|---|---|
ganda-gemma-1b-instruct.task | 
~978MB | FP16 | Recommended - Instruction following format with MediaPipe bundling | 
ganda-gemma-1b.tflite | 
~973MB | FP16 | Raw TFLite model - requires custom tokenizer integration | 
π Quick Start
Android (MediaPipe)
import com.google.mediapipe.tasks.genai.llminference.LlmInference
// Load the model
val options = LlmInference.LlmInferenceOptions.builder()
    .setModelPath("/path/to/ganda-gemma-1b-instruct.task")
    .build()
val llmInference = LlmInference.createFromOptions(context, options)
// Generate response
val response = llmInference.generateResponse("Translate to Luganda: Good morning")
println(response)
iOS (MediaPipe)
import MediaPipeTasksGenAI
// Load the model
let options = LlmInference.Options()
options.modelPath = "/path/to/ganda-gemma-1b-instruct.task"
let llmInference = try LlmInference(options: options)
// Generate response
let response = try llmInference.generateResponse(inputText: "Translate to Luganda: Good morning")
print(response)
Web (MediaPipe)
import { LlmInference } from '@mediapipe/tasks-genai';
const llm = await LlmInference.createFromModelPath(
  '/path/to/ganda-gemma-1b-instruct.task'
);
const response = await llm.generateResponse('Translate to Luganda: Good morning');
console.log(response);
π Language Capabilities
- Input Languages: English + Luganda
 - Output Language: Luganda only
 - Primary Focus: English-to-Luganda translation and Luganda conversation
 
π¦ Model Variants Guide
	
		
	
	
		1. ganda-gemma-1b-instruct.task (RECOMMENDED)
	
Best for: Most mobile applications - ready-to-use MediaPipe bundle
Input format: Natural instructions
Translate to Luganda: Hello, how are you?
MediaPipe formats as:
### Instruction:
Translate to Luganda: Hello, how are you?
### Response:
	
		
	
	
		2. ganda-gemma-1b.tflite
	
Best for: Custom integrations requiring direct TFLite model access
Requirements: You need to handle tokenization manually Use case: Advanced users who want to integrate with custom tokenizers or frameworks
π― Capabilities
- Translation: English-to-Luganda translation
 - Conversational AI: Natural dialogue in Luganda
 - Summarization: Text summarization in Luganda
 - Writing: Creative and informational writing in Luganda
 - Question Answering: General knowledge responses in Luganda
 
π‘ Generation Parameters
Optimal settings for mobile deployment:
// JavaScript/Web
const response = await llm.generateResponse(prompt, {
  temperature: 0.3,
  topK: 40,
  randomSeed: 42
});
// Android
val response = llmInference.generateResponse(
    inputText = prompt,
    temperature = 0.3f,
    topK = 40,
    randomSeed = 42
)
// iOS
let options = LlmInference.Options()
options.temperature = 0.3
options.topK = 40
options.randomSeed = 42
let response = try llmInference.generateResponse(
    inputText: prompt,
    options: options
)
π± Mobile Integration
Memory Requirements
- RAM: Minimum 3GB recommended for optimal performance
 - Storage: ~1.2GB per task bundle
 - CPU: ARMv8 or newer recommended
 
Performance Tips
- Preload models during app initialization
 - Use appropriate quantization: FP16 provides good quality for mobile
 - Cache responses for repeated queries
 - Batch processing for multiple translations
 
π Related Models
- Original Model: CraneAILabs/ganda-gemma-1b - Full precision HuggingFace model
 - GGUF Quantizations: CraneAILabs/ganda-gemma-1b-GGUF - Optimized for llama.cpp/Ollama
 - Ollama: crane-ai-labs/ganda-gemma-1b - Ready-to-run with Ollama
 
π¨ Use Cases
- Mobile Translation Apps: Offline English-Luganda translation
 - Language Learning: Practice Luganda with instant feedback
 - Cultural Apps: Create culturally aware Luganda content
 - Educational Tools: Luganda learning assistants for mobile
 - Offline AI: No internet required after model download
 - Edge Computing: Run AI locally on mobile devices
 
β οΈ Limitations
- Language Output: Responds only in Luganda
 - Mobile Resources: Requires significant RAM and storage
 - Context Length: Optimized for shorter inputs on mobile
 - Quantization: FP16 requires more memory than INT4/INT8
 - Platform Support: Requires MediaPipe Tasks GenAI support
 
π οΈ Development Setup
Android
dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}
iOS
// Add to Package.swift
.package(url: "https://github.com/google/mediapipe", from: "0.10.0")
Web
npm install @mediapipe/tasks-genai
π License
This model is released under the Gemma Terms of Use. Please review the terms before use.
π Acknowledgments
- Google: For the Gemma 3 base model, support and guidance.
 - Community: For Luganda language resources and datasets
 - Gilbert Korir (Msingi AI, Nairobi, Kenya)
 - Alfred Malengo Kondoro (Hanyang University, Seoul, South Korea)
 
Citation
If you use these LiteRT models in your research or mobile applications, please cite:
@misc{crane_ai_labs_2025,
    author    = {Bakunga Bronson and Kato Steven Mubiru and Lwanga Caleb and Gimei Alex and Kavuma Lameck and Roland Ganafa and Sibomana Glorry and Atuhaire Collins and JohnRoy Nangeso and Tukamushaba Catherine},
    title     = {Ganda Gemma: A Fine-tuned Gemma 3 1B Model for Luganda conversational AI},
    year      = {2025},
    url       = {https://huggingface.co/CraneAILabs/ganda-gemma-1b},
    organization = {Crane AI Labs}
}
Built with β€οΈ by Crane AI Labs
Ganda Gemma - Your helpful Luganda AI companion, now on mobile!
- Downloads last month
 - 47
 
