CoolFace
Datasetpublic

AOYPSK/lao_pairs_final

🇱🇦 Lao SFT Pairs Final A cleaned and merged Lao-language instruction-tuning dataset for supervised fine-tuning (SFT) of large language models — specifically built to improve Lao language capability in models like Gemma 4. Dataset Summary Split File Examples Train lao_train_final.jsonl 57,088 Validation lao_val_final.jsonl 2,978 Total 60,066 Data Sources This dataset merges two sources: 1. Lao continuation corpus (32.5%) Real… See the full description on the dataset page: https://huggingface.co/datasets/AOYPSK/lao_pairs_final.

sourceHugging Facecc-by-4.0updated 4mo agoView on Hugging Face
0likes12downloads
Dataset Card

🇱🇦 Lao SFT Pairs Final

A cleaned and merged Lao-language instruction-tuning dataset for supervised fine-tuning (SFT) of large language models — specifically built to improve Lao language capability in models like Gemma 4.

Dataset Summary

SplitFileExamples
Trainlao_train_final.jsonl57,088
Validationlao_val_final.jsonl2,978
Total60,066

Data Sources

This dataset merges two sources:

1. Lao continuation corpus (32.5%) Real Lao text from Lao Wikipedia, Lao news sites (KPL, Vientiane Times), and other Lao web sources — normalized, cleaned, and formatted as text-continuation pairs. Teaches the model Lao fluency, vocabulary, and sentence structure.

2. Saillab Alpaca Lao (67.5%) Instruction-following pairs from `saillab/alpaca-lao-cleaned`, cleaned and filtered. Teaches the model to follow instructions and answer questions in Lao.

Task Types

TaskExamples%
Write / compose23,76139.7%
Text continuation15,05025.2%
Explain5,6309.4%
Q&A factual2,2933.8%
List / enumerate2,1423.6%
Classify1,4162.4%
Code / Math1,3262.2%
Summarize1,2222.0%
Compare1,0351.7%
Translate8981.5%

Data Format

Each example is a JSON object with 5 fields:

json
{
  "instruction": "ນະຄອນຫຼວງຂອງ ສປປ ລາວ ແມ່ນຫຍັງ?",
  "input": "",
  "output": "ນະຄອນຫຼວງຂອງ ສາທາລະນະລັດ ປະຊາທິປະໄຕ ປະຊາຊົນລາວ ແມ່ນວຽງຈັນ.",
  "text": "### Instruction:\nນະຄອນຫຼວງຂອງ ສປປ ລາວ ແມ່ນຫຍັງ?\n\n### Input:\n\n### Response:\nນະຄອນຫຼວງຂອງ ສາທາລະນະລັດ ປະຊາທິປະໄຕ ປະຊາຊົນລາວ ແມ່ນວຽງຈັນ.",
  "source": "saillab_alpaca_lao"
}

The text field is the pre-formatted string for SFTTrainer — pass it directly via dataset_text_field="text".

Cleaning Applied

The following examples were removed before training:

  • —English-only outputs — 554 removed (outputs with 0 Lao characters)
  • —Copy examples — 160 removed (output identical to input)
  • —`nan` inputs — cleaned (pandas artifact from source dataset)
  • —Duplicates — 112 removed (same instruction + output)
  • —Train/val leakage — 6 removed from val

Final Lao script ratio: 90% in instructions, 81% in outputs.

Usage

python
from datasets import load_dataset

ds = load_dataset("AOYPSK/lao_pairs_final")

# For SFTTrainer — use the pre-built text field
trainer = SFTTrainer(
    ...
    dataset_text_field = "text",
)

Or load locally:

python
from datasets import load_dataset

ds = load_dataset("json", data_files={
    "train":      "lao_train_final.jsonl",
    "validation": "lao_val_final.jsonl",
})

Intended Use

This dataset is designed for fine-tuning Gemma 4 (or similar models) to improve Lao language understanding and generation. It is best used as the SFT stage after continued pre-training (CPT) on a Lao corpus.

Recommended base model: `AOYPSK/gemma-4-lao-cpt-v1`

Training Example

python
from unsloth import FastLanguageModel
from datasets import load_dataset
from trl import SFTTrainer, SFTConfig
import torch

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name     = "AOYPSK/gemma-4-lao-cpt-v1",
    max_seq_length = 4096,
    load_in_4bit   = False,
    dtype          = torch.bfloat16,
)

model = FastLanguageModel.get_peft_model(
    model, r=64, lora_alpha=64,
    target_modules=["q_proj","k_proj","v_proj","o_proj",
                    "gate_proj","up_proj","down_proj"],
)

ds = load_dataset("AOYPSK/lao_pairs_final")

trainer = SFTTrainer(
    model         = model,
    tokenizer     = tokenizer,
    train_dataset = ds["train"],
    eval_dataset  = ds["validation"],
    args = SFTConfig(
        num_train_epochs   = 3,
        learning_rate      = 1e-4,
        bf16               = True,
        dataset_text_field = "text",
        max_seq_length     = 4096,
    ),
)
trainer.train()

Limitations

  • —Instructions are a mix of pure Lao (~77%) and Lao-English mixed (~23%)
  • —Content topics are general/global — limited Lao-specific cultural knowledge
  • —Not suitable for tasks requiring deep Lao legal, medical, or government knowledge without additional domain-specific data

Contact

Dataset prepared by @AOYPSK. Portfolio : @AOYPSK PORTFOLIO.