Translation
PEFT
Safetensors
Hausa
English
african-languages
scientific-translation
afriscience-mt
lora
llama
Eval Results (legacy)
Instructions to use dsfsi/afriquellama_8b-lora-r4-hau-eng with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use dsfsi/afriquellama_8b-lora-r4-hau-eng with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("McGill-NLP/AfriqueLlama-8B") model = PeftModel.from_pretrained(base_model, "dsfsi/afriquellama_8b-lora-r4-hau-eng") - Notebooks
- Google Colab
- Kaggle
| library_name: peft | |
| base_model: afriquellama_8b | |
| language: | |
| - ha | |
| - en | |
| tags: | |
| - translation | |
| - african-languages | |
| - scientific-translation | |
| - afriscience-mt | |
| - lora | |
| - peft | |
| - llama | |
| license: apache-2.0 | |
| pipeline_tag: translation | |
| # afriquellama_8b-lora-r4-hau-eng | |
| [](https://huggingface.co/AfriScience-MT/afriquellama_8b-lora-r4-hau-eng) | |
| This is a **LoRA adapter** for the AfriScience-MT project, enabling efficient scientific machine translation for African languages. | |
| ## Adapter Description | |
| | Property | Value | | |
| |----------|-------| | |
| | **Base Model** | [afriquellama_8b](https://huggingface.co/afriquellama_8b) | | |
| | **Translation Direction** | Hausa → English | | |
| | **LoRA Rank (r)** | 4 | | |
| | **LoRA Alpha** | 8 | | |
| | **Training Method** | QLoRA (4-bit quantization) | | |
| | **Domain** | Scientific/Academic texts | | |
| ### Why LoRA? | |
| LoRA (Low-Rank Adaptation) enables efficient fine-tuning by training only a small number of additional parameters. This adapter adds only **~2.0M parameters** to the base model while achieving strong translation performance. | |
| ## Usage | |
| ### Quick Start | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig | |
| from peft import PeftModel | |
| import torch | |
| # Configure 4-bit quantization (recommended for memory efficiency) | |
| bnb_config = BitsAndBytesConfig( | |
| load_in_4bit=True, | |
| bnb_4bit_compute_dtype=torch.bfloat16, | |
| bnb_4bit_quant_type="nf4", | |
| bnb_4bit_use_double_quant=True, | |
| ) | |
| # Load base model | |
| base_model = AutoModelForCausalLM.from_pretrained( | |
| "afriquellama_8b", | |
| quantization_config=bnb_config, | |
| device_map="auto", | |
| torch_dtype=torch.bfloat16, | |
| ) | |
| tokenizer = AutoTokenizer.from_pretrained("afriquellama_8b") | |
| # Load LoRA adapter | |
| adapter_name = "AfriScience-MT/afriquellama_8b-lora-r4-hau-eng" | |
| model = PeftModel.from_pretrained(base_model, adapter_name) | |
| model.eval() | |
| # Prepare translation prompt | |
| source_text = "Climate change significantly impacts agricultural productivity in sub-Saharan Africa." | |
| instruction = "Translate the following Hausa scientific text to English." | |
| # Format prompt | |
| prompt = f"""### Instruction: | |
| {instruction} | |
| ### Input: | |
| {source_text} | |
| ### Response: | |
| """ | |
| # Generate translation | |
| inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| **inputs, | |
| max_new_tokens=256, | |
| num_beams=5, | |
| early_stopping=True, | |
| pad_token_id=tokenizer.pad_token_id, | |
| ) | |
| # Decode only the generated part | |
| generated = outputs[0][inputs["input_ids"].shape[1]:] | |
| translation = tokenizer.decode(generated, skip_special_tokens=True) | |
| print(translation) | |
| ``` | |
| ### Without Quantization (Full Precision) | |
| ```python | |
| # For GPUs with sufficient memory (>24GB for larger models) | |
| base_model = AutoModelForCausalLM.from_pretrained( | |
| "afriquellama_8b", | |
| device_map="auto", | |
| torch_dtype=torch.bfloat16, | |
| ) | |
| model = PeftModel.from_pretrained(base_model, "AfriScience-MT/afriquellama_8b-lora-r4-hau-eng") | |
| ``` | |
| ### Hardware Requirements | |
| | Configuration | VRAM Required | | |
| |---------------|---------------| | |
| | 4-bit (QLoRA) | ~8-12 GB | | |
| | 8-bit | ~16-20 GB | | |
| | Full precision | ~24-40 GB | | |
| ## Reproducibility | |
| To reproduce this adapter: | |
| ```bash | |
| # Clone the AfriScience-MT repository | |
| git clone https://github.com/afriscience-mt/afriscience-mt.git | |
| cd afriscience-mt | |
| # Install dependencies | |
| pip install -r requirements.txt | |
| # Run LoRA training | |
| python -m afriscience_mt.scripts.run_lora_training \ | |
| --data_dir ./data \ | |
| --source_lang hau \ | |
| --target_lang eng \ | |
| --model_name afriquellama_8b \ | |
| --model_type llama \ | |
| --lora_rank 4 \ | |
| --output_dir ./output \ | |
| --num_epochs 3 \ | |
| --batch_size 4 \ | |
| --load_in_4bit | |
| ``` | |
| ## Limitations | |
| - **Domain Specificity**: Optimized for scientific/academic texts; may underperform on casual or colloquial language. | |
| - **Language Direction**: Only supports Hausa → English translation. | |
| - **Base Model Required**: Must be used with the [afriquellama_8b](https://huggingface.co/afriquellama_8b) base model. | |
| - **Context Length**: Maximum context is model-dependent; longer texts should be chunked. | |
| ## Citation | |
| If you use this adapter, please cite the AfriScience-MT project: | |
| ```bibtex | |
| @inproceedings{afriscience-mt-2025, | |
| title={AfriScience-MT: Machine Translation for African Scientific Literature}, | |
| author={AfriScience-MT Team}, | |
| year={2025}, | |
| url={https://github.com/afriscience-mt/afriscience-mt} | |
| } | |
| ``` | |
| ## License | |
| This adapter is released under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). | |
| ## Acknowledgments | |
| - Base model: [afriquellama_8b](https://huggingface.co/afriquellama_8b) | |
| - LoRA implementation: [PEFT](https://github.com/huggingface/peft) | |
| - Evaluation: [SSA-COMET](https://huggingface.co/McGill-NLP/ssa-comet-stl) for African language assessment | |