324 lines
15 KiB
Markdown
324 lines
15 KiB
Markdown
|
|
---
|
||
|
|
license: apache-2.0
|
||
|
|
language:
|
||
|
|
- th
|
||
|
|
- en
|
||
|
|
metrics:
|
||
|
|
- accuracy
|
||
|
|
base_model:
|
||
|
|
- ThaiLLM/ThaiLLM-8B
|
||
|
|
- Qwen/Qwen3-8B
|
||
|
|
pipeline_tag: text-generation
|
||
|
|
tags:
|
||
|
|
- heretic
|
||
|
|
- uncensored
|
||
|
|
- decensored
|
||
|
|
- abliterated
|
||
|
|
---
|
||
|
|
# This is a decensored version of [openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview](https://huggingface.co/openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview), made using [Heretic](https://github.com/p-e-w/heretic) v1.2.0
|
||
|
|
|
||
|
|
## Abliteration parameters
|
||
|
|
|
||
|
|
| Parameter | Value |
|
||
|
|
| :-------- | :---: |
|
||
|
|
| **direction_index** | per layer |
|
||
|
|
| **attn.o_proj.max_weight** | 1.50 |
|
||
|
|
| **attn.o_proj.max_weight_position** | 25.51 |
|
||
|
|
| **attn.o_proj.min_weight** | 0.31 |
|
||
|
|
| **attn.o_proj.min_weight_distance** | 19.67 |
|
||
|
|
| **mlp.down_proj.max_weight** | 1.44 |
|
||
|
|
| **mlp.down_proj.max_weight_position** | 31.39 |
|
||
|
|
| **mlp.down_proj.min_weight** | 0.80 |
|
||
|
|
| **mlp.down_proj.min_weight_distance** | 14.07 |
|
||
|
|
|
||
|
|
## Performance
|
||
|
|
|
||
|
|
| Metric | This model | Original model ([openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview](https://huggingface.co/openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview)) |
|
||
|
|
| :----- | :--------: | :---------------------------: |
|
||
|
|
| **KL divergence** | 0.0030 | 0 *(by definition)* |
|
||
|
|
| **Refusals** | 156/300 | 199/300 |
|
||
|
|
|
||
|
|
-----
|
||
|
|
|
||
|
|
|
||
|
|
# OpenThaiGPT-ThaiLLM-8b-instruct-v0.7.2-research-preview
|
||
|
|
|
||
|
|
โมเดลภาษาไทย **ทดลอง** ขนาด 8 พันล้านพารามิเตอร์ พัฒนาต่อยอดจาก ThaiLLM-8B โดยทีม OpenThaiGPT ร่วมกับ ThaiLLM มุ่งเน้นการตอบคำถามเกี่ยวกับความรู้ไทย ประวัติศาสตร์ วัฒนธรรม และหน่วยงานภาครัฐ
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## รายละเอียดโมเดล
|
||
|
|
|
||
|
|
| รายการ | ข้อมูล |
|
||
|
|
|--------|--------|
|
||
|
|
| **ชื่อโมเดล** | OpenThaiGPT-ThaiLLM-8b-instruct-v0.7.2-research-preview |
|
||
|
|
| **โมเดลพื้นฐาน** | ThaiLLM/ThaiLLM-8B และ Qwen/Qwen3-8B |
|
||
|
|
| **จำนวนพารามิเตอร์** | 8 พันล้าน (8B) |
|
||
|
|
| **ภาษาที่รองรับ** | ไทย, อังกฤษ |
|
||
|
|
| **ประเภทงาน** | Text Generation, Question Answering, Thai FAQ |
|
||
|
|
| **License** | Apache 2.0 |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## คำอธิบายโมเดล
|
||
|
|
|
||
|
|
โมเดลภาษาไทย **ทดลอง** ขนาด 8 พันล้านพารามิเตอร์ พัฒนาต่อยอดจาก ThaiLLM-8B โดยทีม OpenThaiGPT ร่วมกับ ThaiLLM มุ่งเน้นการตอบคำถามเกี่ยวกับความรู้ไทย ประวัติศาสตร์ วัฒนธรรม และหน่วยงานภาครัฐ ผ่านกระบวนการ Supervised Fine-tuning บนชุดข้อมูลคุณภาพสูงที่มี Chain-of-Thought Reasoning ในรูปแบบ `<think>...</think>` พร้อมเทคนิค Paraphrase Augmentation เพื่อให้โมเดลสามารถเข้าใจคำถามได้หลากหลายรูปแบบ โมเดลนี้เหมาะสำหรับงาน Thai FAQ และการตอบคำถามเกี่ยวกับบริบทไทยโดยเฉพาะ
|
||
|
|
|
||
|
|
### Model Description (English)
|
||
|
|
|
||
|
|
An experimental 8-billion parameter Thai language model, fine-tuned from Qwen3-8B by OpenThaiGPT in collaboration with ThaiLLM. Specializes in Thai knowledge Q&A, including history, culture, and government information. Trained using Supervised Fine-tuning with high-quality Chain-of-Thought reasoning data (`<think>...</think>` format) and Paraphrase Augmentation technique to ensure robust understanding across diverse question phrasings. Optimized for Thai FAQ and Thai context question-answering tasks.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## จุดเด่นของโมเดล
|
||
|
|
|
||
|
|
- **ความรู้ไทยเชิงลึก**: ตอบคำถามเกี่ยวกับประวัติศาสตร์ วัฒนธรรม หน่วยงานภาครัฐ และบริบทไทยได้อย่างแม่นยำ
|
||
|
|
- **Chain-of-Thought Reasoning**: รองรับการคิดวิเคราะห์แบบเป็นขั้นตอนในรูปแบบ `<think>...</think>`
|
||
|
|
- **Paraphrase Robust**: เข้าใจคำถามได้หลากหลายรูปแบบ ไม่จำกัดเฉพาะประโยคที่ตรงเป๊ะ
|
||
|
|
- **สองภาษา**: รองรับทั้งภาษาไทยและอังกฤษ
|
||
|
|
- **IFEval สูง**: ปฏิบัติตามคำสั่งได้อย่างแม่นยำ (IFEval 87.6%) และ (IFEval-TH สูงถึง 75.5%)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ผลการทดสอบ (Benchmark Results)
|
||
|
|
|
||
|
|
| Benchmark | OTG-ThaiLLM v7.2 | Qwen3-8B-Instruct | หมายเหตุ |
|
||
|
|
|-----------|------|----------------|-------------------|
|
||
|
|
| AIME24 | 0.3333 | **0.6667** | คณิตศาสตร์แข่งขัน |
|
||
|
|
| AIME24-TH | 0.0667 | **0.6667** | คณิตศาสตร์แข่งขัน (ไทย) |
|
||
|
|
| Language Accuracy | **0.986** | 0.974 | ตอบถูกภาษา |
|
||
|
|
| LiveCodeBench | 0.575 | **0.87** | การเขียนโค้ด |
|
||
|
|
| LiveCodeBench-TH | 0.2125 | **0.2312** | การเขียนโค้ด (ไทย) |
|
||
|
|
| MATH500 | 0.85 | **0.926** | คณิตศาสตร์ทั่วไป |
|
||
|
|
| MATH500-TH | 0.496 | **0.63** | คณิตศาสตร์ทั่วไป (ไทย) |
|
||
|
|
| OpenThaiEval | 0.6964 | **0.7541** | ความรู้ภาษาไทย |
|
||
|
|
| HellaSwag | **0.706** | 0.6853 | Common Sense |
|
||
|
|
| HellaSwag-TH | 0.4993 | **0.5387** | Common Sense (ไทย) |
|
||
|
|
| IFEval | 0.876 | **0.9197** | การปฏิบัติตามคำสั่ง |
|
||
|
|
| IFEval-TH | 0.755 | **0.8512** | การปฏิบัติตามคำสั่ง (ไทย) |
|
||
|
|
| **AVERAGE** | 0.5877 | **0.7261** | ค่าเฉลี่ยรวม |
|
||
|
|
|
||
|
|
**หมายเหตุ**: โมเดลนี้ถูกออกแบบมาเพื่องาน Thai FAQ และความรู้ไทยโดยเฉพาะ ไม่ได้มุ่งเน้นคณิตศาสตร์แข่งขันหรือการเขียนโค้ด
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## รายละเอียดทางเทคนิค
|
||
|
|
|
||
|
|
| พารามิเตอร์ | ค่า |
|
||
|
|
|-------------|-----|
|
||
|
|
| Base Model | Qwen3-v5IFEval-SLERP Merged |
|
||
|
|
| Training Type | Full SFT (Supervised Fine-tuning) |
|
||
|
|
| Learning Rate | 5e-7 |
|
||
|
|
| Epochs | 3 |
|
||
|
|
| Max Length | 8,192 tokens |
|
||
|
|
| Batch Size | 2 per GPU |
|
||
|
|
| Gradient Accumulation | 4 |
|
||
|
|
| Hardware | 8x NVIDIA H100 80GB |
|
||
|
|
| Framework | ms-swift |
|
||
|
|
| DeepSpeed | ZeRO Stage 3 |
|
||
|
|
|
||
|
|
## การใช้งาน
|
||
|
|
|
||
|
|
### ติดตั้ง Dependencies
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pip install transformers torch accelerate
|
||
|
|
```
|
||
|
|
|
||
|
|
### ใช้งานกับ Transformers
|
||
|
|
|
||
|
|
```python
|
||
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||
|
|
|
||
|
|
model_name = "openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview"
|
||
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||
|
|
model = AutoModelForCausalLM.from_pretrained(
|
||
|
|
model_name,
|
||
|
|
torch_dtype="auto",
|
||
|
|
device_map="auto"
|
||
|
|
)
|
||
|
|
|
||
|
|
messages = [
|
||
|
|
{"role": "user", "content": "OpenThaiGPT คืออะไร"}
|
||
|
|
]
|
||
|
|
|
||
|
|
text = tokenizer.apply_chat_template(
|
||
|
|
messages,
|
||
|
|
tokenize=False,
|
||
|
|
add_generation_prompt=True
|
||
|
|
)
|
||
|
|
|
||
|
|
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
|
||
|
|
|
||
|
|
generated_ids = model.generate(
|
||
|
|
**model_inputs,
|
||
|
|
max_new_tokens=2048,
|
||
|
|
do_sample=True,
|
||
|
|
temperature=0.7,
|
||
|
|
top_p=0.9
|
||
|
|
)
|
||
|
|
|
||
|
|
response = tokenizer.batch_decode(
|
||
|
|
generated_ids[:, model_inputs.input_ids.shape[-1]:],
|
||
|
|
skip_special_tokens=True
|
||
|
|
)[0]
|
||
|
|
|
||
|
|
print(response)
|
||
|
|
```
|
||
|
|
|
||
|
|
### ใช้งานกับ vLLM
|
||
|
|
|
||
|
|
```python
|
||
|
|
from vllm import LLM, SamplingParams
|
||
|
|
|
||
|
|
llm = LLM(
|
||
|
|
model="openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview",
|
||
|
|
tensor_parallel_size=1,
|
||
|
|
trust_remote_code=True
|
||
|
|
)
|
||
|
|
|
||
|
|
sampling_params = SamplingParams(
|
||
|
|
temperature=0.7,
|
||
|
|
top_p=0.9,
|
||
|
|
max_tokens=2048
|
||
|
|
)
|
||
|
|
|
||
|
|
prompts = ["OpenThaiGPT คืออะไร"]
|
||
|
|
outputs = llm.generate(prompts, sampling_params)
|
||
|
|
|
||
|
|
for output in outputs:
|
||
|
|
print(output.outputs[0].text)
|
||
|
|
```
|
||
|
|
|
||
|
|
### ใช้งานกับ Ollama
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# สร้าง Modelfile
|
||
|
|
cat > Modelfile << 'EOF'
|
||
|
|
FROM openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview
|
||
|
|
|
||
|
|
PARAMETER temperature 0.7
|
||
|
|
PARAMETER top_p 0.9
|
||
|
|
|
||
|
|
SYSTEM "คุณคือ OpenThaiGPT ผู้ช่วย AI ภาษาไทยที่พัฒนาโดยทีม OpenThaiGPT"
|
||
|
|
EOF
|
||
|
|
|
||
|
|
# สร้างโมเดล
|
||
|
|
ollama create openthaigpt -f Modelfile
|
||
|
|
|
||
|
|
# ใช้งาน
|
||
|
|
ollama run openthaigpt "OpenThaiGPT คืออะไร"
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ตัวอย่างการใช้งาน
|
||
|
|
|
||
|
|
### คำถามเกี่ยวกับ OpenThaiGPT
|
||
|
|
|
||
|
|
**คำถาม:** OpenThaiGPT คืออะไร
|
||
|
|
|
||
|
|
**คำตอบ:**
|
||
|
|
```
|
||
|
|
<think>
|
||
|
|
ผู้ใช้ถามเกี่ยวกับ OpenThaiGPT ซึ่งเป็นโครงการที่ฉันเป็นส่วนหนึ่ง
|
||
|
|
ฉันควรอธิบายว่า OpenThaiGPT คืออะไร ใครพัฒนา และมีจุดประสงค์อะไร
|
||
|
|
</think>
|
||
|
|
|
||
|
|
OpenThaiGPT เป็นโครงการพัฒนาโมเดลภาษาไทยขนาดใหญ่ (Large Language Model)
|
||
|
|
แบบโอเพ่นซอร์ส พัฒนาโดยสมาคมปัญญาประดิษฐ์แห่งประเทศไทย (AIEAT)
|
||
|
|
ร่วมกับ iApp Technology และพันธมิตร มีเป้าหมายเพื่อสร้างโมเดล AI
|
||
|
|
ที่เข้าใจและสื่อสารภาษาไทยได้อย่างเป็นธรรมชาติ
|
||
|
|
พร้อมเผยแพร่ให้ชุมชนนักพัฒนาไทยนำไปใช้และต่อยอดได้ฟรี
|
||
|
|
```
|
||
|
|
|
||
|
|
### คำถามเกี่ยวกับหน่วยงานภาครัฐ
|
||
|
|
|
||
|
|
**คำถาม:** กระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม มีหน้าที่อะไร
|
||
|
|
|
||
|
|
**คำตอบ:**
|
||
|
|
```
|
||
|
|
<think>
|
||
|
|
ผู้ใช้ถามเกี่ยวกับกระทรวง DE ซึ่งเป็นหน่วยงานภาครัฐที่ดูแลด้านดิจิทัล
|
||
|
|
ฉันควรอธิบายภารกิจหลักและขอบเขตงานของกระทรวง
|
||
|
|
</think>
|
||
|
|
|
||
|
|
กระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม (Ministry of Digital Economy and Society)
|
||
|
|
หรือ กระทรวง DE มีภารกิจหลักในการ:
|
||
|
|
|
||
|
|
1. กำหนดนโยบายและแผนด้านดิจิทัลเพื่อเศรษฐกิจและสังคม
|
||
|
|
2. พัฒนาโครงสร้างพื้นฐานดิจิทัลของประเทศ
|
||
|
|
3. ส่งเสริมการใช้เทคโนโลยีดิจิทัลในภาคธุรกิจและประชาชน
|
||
|
|
4. กำกับดูแลกิจการโทรคมนาคมและการสื่อสาร
|
||
|
|
5. พัฒนาทักษะดิจิทัลของประชาชน
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ข้อจำกัด
|
||
|
|
|
||
|
|
1. **ไม่เหมาะกับคณิตศาสตร์ขั้นสูง**: โมเดลไม่ได้ถูกออกแบบมาสำหรับโจทย์คณิตศาสตร์แข่งขันระดับ AIME
|
||
|
|
2. **การเขียนโค้ดจำกัด**: ความสามารถด้านการเขียนโค้ดต่ำกว่าโมเดลที่เน้นด้านนี้โดยเฉพาะ
|
||
|
|
3. **ความรู้มีขอบเขต**: ความรู้ถูกจำกัดตามข้อมูลที่ใช้ฝึกสอน อาจไม่ครอบคลุมข้อมูลล่าสุด
|
||
|
|
4. **Hallucination**: อาจสร้างข้อมูลที่ไม่ถูกต้องในบางกรณี โปรดตรวจสอบข้อมูลสำคัญเสมอ
|
||
|
|
---
|
||
|
|
|
||
|
|
## ประวัติเวอร์ชัน
|
||
|
|
|
||
|
|
| เวอร์ชัน | วันที่ | การเปลี่ยนแปลงหลัก |
|
||
|
|
|----------|--------|-------------------|
|
||
|
|
| v1 | 13 ธ.ค. 2567 | LoRA SFT ครั้งแรก (Thai instruction only) |
|
||
|
|
| v2 | 14 ธ.ค. 2567 | Full SFT + Math/Code datasets |
|
||
|
|
| v3 | 15 ธ.ค. 2567 | Thinking-only datasets |
|
||
|
|
| v4 | 16 ธ.ค. 2567 | Balanced Thai:English (2:1) |
|
||
|
|
| v5 | 17 ธ.ค. 2567 | GRPO Math + Coding + IFEval |
|
||
|
|
| v6 | 18 ธ.ค. 2567 | IFEval-focused + DPO Final |
|
||
|
|
| v7 | 20 ธ.ค. 2567 | Thai Knowledge SFT on SLERP Merge |
|
||
|
|
| v7.1 | 21 ธ.ค. 2567 | 100x Identity Repetition |
|
||
|
|
| **v7.2** | **22 ธ.ค. 2567** | **Paraphrase Augmentation (Current)** |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ผู้พัฒนา
|
||
|
|
|
||
|
|
- **OpenThaiGPT** - สมาคมปัญญาประดิษฐ์แห่งประเทศไทย (AIEAT)
|
||
|
|
- **ThaiLLM** - โครงการพัฒนาโมเดลภาษาไทย
|
||
|
|
- **Siam AI Corperation** - ผู้สนับสนุนทรัพยากรและโครงสร้างพื้นฐาน
|
||
|
|
- **iApp Technology Co., Ltd.** - ผู้ร่วมพัฒนา
|
||
|
|
---
|
||
|
|
|
||
|
|
## ลิงก์ที่เกี่ยวข้อง
|
||
|
|
|
||
|
|
| รายการ | ลิงก์ |
|
||
|
|
|--------|-------|
|
||
|
|
| **OpenThaiGPT Project** | https://openthaigpt.aieat.or.th/ |
|
||
|
|
| **ThaiLLM HuggingFace** | https://huggingface.co/ThaiLLM |
|
||
|
|
| **Base Model (ThaiLLM-8B)** | https://huggingface.co/ThaiLLM/ThaiLLM-8B |
|
||
|
|
| **AIEAT** | https://aieat.or.th/ |
|
||
|
|
| **iApp Technology** | https://iapp.co.th/ |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## การอ้างอิง
|
||
|
|
|
||
|
|
หากนำโมเดลนี้ไปใช้ในงานวิจัยหรือโครงการ กรุณาอ้างอิงดังนี้:
|
||
|
|
|
||
|
|
```bibtex
|
||
|
|
@misc{openthaigpt-thaillm-8b-v7p2-research-preview,
|
||
|
|
author = {OpenThaiGPT and ThaiLLM Team},
|
||
|
|
title = {OpenThaiGPT-ThaiLLM-8B-v7.2-Research-Preview: A Thai Knowledge-focused Language Model},
|
||
|
|
year = {2025},
|
||
|
|
publisher = {HuggingFace},
|
||
|
|
howpublished = {\url{https://huggingface.co/openthaigpt/openthaigpt-thaillm-8b-instruct-v0.7.2-research-preview}}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
โมเดลนี้เผยแพร่ภายใต้ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
*อัปเดตล่าสุด: 23 ธันวาคม 2567*
|