lubzo/marathi-alpaca-cleaned-translated
Marathi Alpaca Cleaned Translated A Marathi translation of the 51,760-row Alpaca-Cleaned instruction-tuning dataset — Unsloth's hosted fork of yahma/alpaca-cleaned, which fixes hallucinations, empty outputs, and formatting errors found in the original Stanford Alpaca-52k dataset. Translated using Meta's facebook/nllb-200-distilled-600M model. Built to reproduce and evaluate the Marathi instruction-tuning experiment from Khade et al., CHiPSAL 2025. The original paper translated… See the full description on the dataset page: https://huggingface.co/datasets/lubzo/marathi-alpaca-cleaned-translated.
Marathi Alpaca Cleaned Translated
A Marathi translation of the 51,760-row Alpaca-Cleaned instruction-tuning dataset — Unsloth's hosted fork of yahma/alpaca-cleaned, which fixes hallucinations, empty outputs, and formatting errors found in the original Stanford Alpaca-52k dataset.
Translated using Meta's facebook/nllb-200-distilled-600M model. Built to reproduce and evaluate the Marathi instruction-tuning experiment from Khade et al., CHiPSAL 2025. The original paper translated the uncleaned Alpaca-52k using Google Translate; this version starts from the cleaned source and uses an open translation model.
Dataset Description
Each row contains an (instruction, input, output) triple from unsloth/alpaca-cleaned, with all three fields translated into Marathi. The input field is often empty, matching the structure of the source dataset.
- Source dataset: `unsloth/alpaca-cleaned` (51,760 rows, English)
- Translation model: `facebook/nllb-200-distilled-600M`
- Source language code:
eng_Latn - Target language code:
mar_Deva(Marathi) - Rows translated: 51,760 / 51,760
- Companion GitHub repository: lubzo/gemma-marathi-lora-reproduction
Dataset Creation & Translation Details
Translation Scripts
Translation was executed primarily with CTranslate2, with a reference PyTorch implementation also included in the repository:
- Primary Script ([`src/translate_ct2.py`](https://github.com/lubzo/gemma-marathi-lora-reproduction/blob/main/src/translate_ct2.py)):
- Uses the CTranslate2 engine (
float16/int8compute types) with greedy decoding (beam_size=1) and target prefix tokenmar_Deva. - Reference Script ([`src/translate.py`](https://github.com/lubzo/gemma-marathi-lora-reproduction/blob/main/src/translate.py)):
- Standard Hugging Face
transformersimplementation usingAutoModelForSeq2SeqLM(torch.float16) with greedy search.
Token Limits
Translation was performed with the following generation limits:
instruction:max_decoding_length = 256tokensinput:max_decoding_length = 256tokensoutput:max_decoding_length = 512tokens
No manual review or post-editing was performed on the translated text.
Note on Reproduction Fidelity
The original paper (Khade et al., CHiPSAL 2025) translated uncleaned tatsu-lab/alpaca using Google Translate.
Using unsloth/alpaca-cleaned and nllb-200-distilled-600M is a deliberate deviation:
- Starts from cleaned data with fewer upstream errors.
- Uses an open-weights translation model instead of a commercial API.
Dataset Structure
{
"instruction": "खालील शब्दांचे विरुद्धार्थी शब्द सांगा.",
"input": "आनंद",
"output": "आनंद या शब्दाचा विरुद्धार्थी शब्द 'दुःख' असा आहे."
}How to Use
from datasets import load_dataset
# Load the translated dataset
ds = load_dataset("lubzo/marathi-alpaca-cleaned-translated")
# Inspect a training example
print(ds["train"][0])Example Prompt Formatting
def format_prompt(example):
instruction = example["instruction"]
user_input = example.get("input", "").strip()
response = example["output"]
if user_input:
prompt = f"### Instruction:\n{instruction}\n\n### Input:\n{user_input}\n\n### Response:\n{response}"
else:
prompt = f"### Instruction:\n{instruction}\n\n### Response:\n{response}"
return {"text": prompt}
formatted_ds = ds["train"].map(format_prompt)Limitations
- Machine-Translated: This is raw machine translation without human review. Expect translation artifacts, occasional awkward phrasing, or literal translations of idioms.
- Translation Model Size: Translated with
nllb-200-distilled-600Mfor practical compute constraints; larger checkpoints or dedicated Indic translation models may produce higher-quality output. - No Filtering Applied: No quality, length-ratio, or semantic filters were applied to the translations.
- Upstream Dataset: The data derives from Alpaca and naturally carries any foundational biases or limitations present in the original dataset.
Licensing & Terms of Use
This dataset combines two upstream sources:
- Source Text ([`unsloth/alpaca-cleaned`](https://huggingface.co/datasets/unsloth/alpaca-cleaned)): Derived from Stanford Alpaca-52k, generated via OpenAI's API. Governed by OpenAI's Terms of Use (non-commercial/research use). While the repository tag lists
cc-by-4.0, the dataset card specifiesCC-BY-NC 4.0. - Translation Model ([`facebook/nllb-200-distilled-600M`](https://huggingface.co/facebook/nllb-200-distilled-600M)): Released by Meta AI under CC-BY-NC 4.0.
Takeaway: This dataset is released under CC-BY-NC 4.0 for non-commercial research use.
Citation
@inproceedings{khade2025challenges,
title={Challenges in Adapting Multilingual LLMs to Low-Resource Languages using LoRA PEFT Tuning},
author={Khade, Omkar and Jagdale, Shruti and Phaltankar, Abhishek and Takalikar, Gauri and Joshi, Raviraj},
booktitle={Proceedings of the First Workshop on Challenges in Processing South Asian Languages (CHiPSAL 2025)},
pages={217--222},
year={2025}
}
@misc{alpaca-cleaned,
author = {Gene Ruebsamen},
title = {Alpaca-Cleaned: A curated, cleaned version of the Alpaca dataset},
year = {2023},
howpublished = {\url{https://github.com/gururise/AlpacaDataCleaned}}
}