--- license: other license_name: aidctech license_link: LICENSE tags: - unsloth datasets: - Phonepadith/laos-long-content language: - lo base_model: - google/gemma-3-12b-it new_version: Phonepadith/aidc-llm-laos-10k-gemma-3-12b-it-v2 pipeline_tag: summarization --- --- # ๐Ÿง  Lao Summarization Model เบชเบปเบ™เบ—เบฐเบ™เบฒ - เบชเบฐเบซเบฅเบธเบšเป€เบ™เบทเป‰เบญเบซเบฒเบชเบณเบฅเบฑเบšเบžเบฒเบชเบฒเบฅเบฒเบง - Fine-tuned Gemma 3 12B IT (24,000 Pairs, Laos Content Input-Output) This is a **Lao language summarization model** fine-tuned on the [`Phonepadith/laos_word_dataset`](https://huggingface.co/datasets/Phonepadith/laos_word_dataset), using the base model [`google/gemma-3-12b-it`](https://huggingface.co/google/gemma-3-12b-it). The model is designed to generate concise summaries from Lao language text. **Scope**: - ๐Ÿ“š เบชเบฐเบซเบฅเบธเบšเบ‚เปˆเบฒเบง - ๐Ÿ“š เบชเบฐเบซเบฅเบธเบšเป€เบญเบเบฐเบชเบฒเบ™เบžเบฒเบเบฅเบฑเบ” - ๐Ÿ“š เบชเบฐเบซเบฅเบธเบšเบเบญเบ‡เบ›เบฐเบŠเบธเบก --- # ๐Ÿง  Lao AIDC-24K Fine-tuned Gemma-3-12B-IT **Model ID**: `Phonepadith/aidc-llm-laos-24k-gemma-3-12b-it` **Base Model**: [`google/gemma-3b-it`](https://huggingface.co/google/gemma-3b-it) **Fine-tuned By**: [Phonepadith Phoummavong](https://huggingface.co/Phonepadith) --- ## ๐Ÿ“Œ Model Description This model is a fine-tuned version of **Gemma-3-12B-IT-**, specifically adapted to understand and generate responses in **Lao language** ๐Ÿ‡ฑ๐Ÿ‡ฆ. It was trained using a curated dataset of over **5,000 high-quality Lao input-output pairs**, primarily focused on **AIDC (Artificial Intelligence and Digital Community)** topics. **Key Features:** - ๐Ÿ—ฃ๏ธ Fine-tuned for Lao language generation - ๐Ÿ“š Suitable for summarization, question answering, general chat - ๐Ÿง  Based on Google's powerful Gemma 3-12B Instruct model --- ## ๐Ÿงพ Training Details | Detail | Value | |----------------------|-----------------------------------| | Base Model | Gemma 3-12B Instruct | | Fine-tuning Method | LoRA with PEFT (Unsloth) | | Dataset | 24,000 Laos supervised samples | | Sequence Length | 2048 | | Batch Size | 2 (with gradient accumulation) | | Optimizer | AdamW | | Epochs | 3โ€“5 (early stopping enabled) | | Format | GGUF (F16, Q8_0) | --- ## ๐Ÿ“ฅ How to Use (LM Studio) 1. **Install LM Studio**: [https://lmstudio.ai](https://lmstudio.ai) 2. **Import the Model**: - Via Hugging Face: Search for `Phonepadith/aidc-llm-laos-24k-gemma-3-12b-it` - Or drag the `.gguf` file into LM Studio 3. **Set System Prompt**: ## ๐Ÿ“Œ Model Details - **Base Model**: [`google/gemma-3-12b-it`](https://huggingface.co/google/gemma-3-12b-it) - **Fine-tuned by**: [Phonepadith](https://huggingface.co/Phonepadith) - **Language**: Lao (`lo`) - **Task**: Text Generation - **Library**: `adapter-transformers` - **License**: Apache 2.0 --- ## ๐Ÿ“Š Metrics - **Evaluation Metric**: Fine-Tuning ![Demo image](./fig_01.png) --- ## ๐Ÿ› ๏ธ How to Use You can load and use the model with Hugging Face Transformers and `adapter-transformers`: ```python from transformers import AutoTokenizer, AutoModelForCausalLM model_id = "Phonepadith/aidc-llm-laos-24k-gemma-3-12b-it" # change to your actual model name tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id) input_text = "เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ เบเบญเบ‡เบ—เบฑเบšเบ›เบฐเบŠเบฒเบŠเบปเบ™เบฅเบฒเบง เบกเบตเบเบฒเบ™เบ›เบฐเบเบญเบšเบงเบฑเบ”เบ–เบธเป€เบ•เบฑเบเบ™เบดเบเบ—เบฑเบ™เบชเบฐเป„เปเบชเบปเบกเบ„เบงเบ™, เบชเบฒเบกเบฒเบ”เบ•เบญเบšเบชเบฐเปœเบญเบ‡ เปƒเบซเป‰เปเบเปˆเบงเบฝเบเบ‡เบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบŠเบฒเบ” เปƒเบ™เป„เบฅเบเบฐเปƒเปเปˆ เป„เบ”เป‰เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™; เป„เบ”เป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™เบขเปˆเบฒเบ‡เบ•เบฑเป‰เบ‡เปœเป‰เบฒเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™, เบ„เบงเบšเบ„เบธเบกเป„เบžเบžเบดเบšเบฑเบ” เปเบฅเบฐ เบŠเปˆเบงเบเป€เบซเบฅเบทเบญเบ›เบฐเบŠเบฒเบŠเบปเบ™ เบœเบนเป‰เบ›เบฐเบชเบปเบšเป„เบžเบžเบดเบšเบฑเบ”เบ—เบณเบกเบฐเบŠเบฒเบ”เบ•เปˆเบฒเบ‡เป†เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบปเปˆเบงเบ›เบฐเป€เบ—เบ”. เบžเป‰เบญเบกเบ™เบฑเป‰เบ™, เบเปเป„เบ”เป‰เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบเบฒเบ™เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเปเปˆเบชเป‰เบฒเบ‡เบžเบทเป‰เบ™ เบ–เบฒเบ™เบเบฒเบ™เป€เบกเบทเบญเบ‡, เบเปเปˆเบชเป‰เบฒเบ‡เบ—เปˆเบฒเบชเบฐเปœเบฒเบกเบชเบปเบ‡เบ„เบฒเบกเบ›เบฐเบŠเบฒเบŠเบปเบ™ 3 เบ‚เบฑเป‰เบ™ เบ•เบดเบ”เบžเบฑเบ™เบเบฑเบšเบงเบฝเบเบ‡เบฒเบ™ 3 เบชเป‰เบฒเบ‡ เบขเบนเปˆเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ•เบฒเบก 4 เป€เบ™เบทเป‰เบญเปƒเบ™ 4 เบ„เบฒเบ”เปเบฒเบ เปเบฅเบฐ เบชเบทเบšเบ—เบญเบ”เบกเบนเบ™เป€เบŠเบทเป‰เบญเบ„เบงเบฒเบกเบชเบฒเบกเบฑเบเบ„เบต เบเบฑเบšเบเบญเบ‡เบ—เบฑเบšเบ›เบฐเป€เบ—เบ”เป€เบžเบทเปˆเบญเบ™เบกเบดเบ” เบชเบฒเบเบปเบ™, เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบฐเป‚เบเบšเบฒเบเป€เบžเบตเปˆเบกเบกเบดเบ”เบซเบฅเบธเบ”เบœเปˆเบญเบ™เบชเบฑเบ”เบ•เบน, เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš เบ‚เบญเบ‡เบฅเบฐเบšเบญเบšเบเบฒเบ™ เป€เบกเบทเบญเบ‡, เบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบชเบฐเบซเบ‡เบปเบšเบ›เบญเบ”เป„เบžเบ•เบฒเบกเบŠเบฒเบเปเบ”เบ™" inputs = tokenizer(input_text, return_tensors="pt") summary_ids = model.generate(**inputs, max_new_tokens=100) summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True) print(summary)