πŸ‡°πŸ‡­ Khmer Text Summarization Adapters (Gemma)

QLoRA adapters fine-tuned for Khmer text summarization.

Trained using the Unsloth framework for efficient 4-bit fine-tuning.


πŸ“‚ Variants

Variant Subfolder Description
Title-based title_based/ Trained on raw Khmer news dataset
Synthetic synthetic/ Trained on synthetic dataset

πŸš€ Usage (Unsloth)

from unsloth import FastLanguageModel
import torch

ALPACA_PROMPT = """αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž€αž·αž…αŸ’αž…αž€αžΆαžšαž˜αž½αž™αŸ” αžŸαžΌαž˜αž•αŸ’αžαž›αŸ‹αž…αž˜αŸ’αž›αžΎαž™αž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž–αŸαž‰αž›αŸαž‰ αž“αž·αž„αž„αžΆαž™αž™αž›αŸ‹αŸ”  

### Instruction:
αž…αžΌαž›αžŸαž„αŸ’αžαŸαž” αž’αžαŸ’αžαž”αž‘αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡
### Input:
{}
### Response:
"""

# βœ… Load base model + adapter in ONE call
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/gemma-2b-bnb-4bit",             # base model
    max_seq_length=8192,
    load_in_4bit=True,
    adapter_name="ChilyRan/gemma-khmer-adapters",  # your HF adapter
    adapter_kwargs={"subfolder": "synthetic"}       # or "title_based"
)
FastLanguageModel.for_inference(model)
# model.eval()

# Prepare input
text = "αž”αž‰αŸ’αž…αžΌαž›αž’αžαŸ’αžαž”αž‘αžαŸ’αž˜αŸ‚αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž‘αžΈαž“αŸαŸ‡..."
prompt = ALPACA_PROMPT.format(text)

inputs = tokenizer(prompt, return_tensors="pt", truncation=True).to("cuda")

# Generate summary
with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=128,
        use_cache=True,
        do_sample=True,
        temperature=0.3,
        top_p=0.85
    )

decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)
summary = decoded.split("### Response:")[-1].strip()
print(summary)
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for CADT-IDRI/gemma-khmer-text-sum-adapters

Adapter
(20)
this model