typhoon-7b-thai-toxic-cpt
Continual Pre-Training (CPT) ของ typhoon-ai/typhoon-7b ด้วย QLoRA บน dataset ภาษาไทย tmu-nlp/thai_toxicity_tweet
หมายเหตุ: โมเดลนี้ไม่ใช่ toxicity classifier — เป็นการ adapt model ให้เรียนรู้สไตล์และรูปแบบภาษาของ Thai toxic tweet
Source Code: https://github.com/Datchthana1/typhoon-7b-thai-toxic-cpt
การใช้งาน
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE_MODEL_ID = "typhoon-ai/typhoon-7b"
ADAPTER_REPO = "Datchthana/typhoon-7b-thai-toxic-cpt"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL_ID)
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL_ID,
torch_dtype=torch.bfloat16,
device_map={"": 0}
)
model = PeftModel.from_pretrained(model, ADAPTER_REPO)
model.eval()
def generate(prompt, max_new_tokens=256, temperature=0.1, top_p=0.9):
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
input_len = inputs["input_ids"].shape[1]
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=max_new_tokens,
temperature=temperature,
top_p=top_p,
do_sample=True,
pad_token_id=tokenizer.eos_token_id,
repetition_penalty=1.1
)
return tokenizer.decode(outputs[0][input_len:], skip_special_tokens=True)
print(generate("รัฐบาลชุดนี้มัน..."))
Tips: prompt ที่ค้างกลางประโยคหรือมี
...ต่อท้ายจะได้ผลดีที่สุด
Training Details
| Parameter | ค่า |
|---|---|
| Base Model | typhoon-ai/typhoon-7b |
| Method | QLoRA (4-bit NF4) |
| LoRA rank (r) | 16 |
| LoRA alpha | 32 |
| Target modules | q/k/v/o/gate/up/down proj |
| Epochs | 3 |
| Learning rate | 5e-5 |
| LR Scheduler | cosine |
| Warmup ratio | 0.1 |
| Effective batch size | 16 (batch=1 × accum=16) |
| Max length | 256 tokens |
| Optimizer | paged_adamw_8bit |
| Framework | transformers + peft + trl |
Training Results
| Epoch | Train Loss | Eval Loss | Token Accuracy |
|---|---|---|---|
| 1 | 3.551 | 3.563 | 37.68% |
| 2 | 3.210 | 3.321 | 40.67% |
| 3 | 3.093 | 3.302 | 40.95% |
Checkpoint ที่ใช้: checkpoint-57 (epoch 3 — eval loss ต่ำสุด)
ข้อจำกัด
- เป็น next token prediction เท่านั้น ไม่ใช่ chatbot และไม่ตอบคำถาม
- ประโยคสมบูรณ์จะได้ output ว่าง เพราะ model generate EOS ทันที
- dataset มีภาษาหยาบและเนื้อหา sensitive — ใช้ด้วยความระมัดระวัง
- Downloads last month
- 38
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support
Model tree for Datchthana/typhoon-7b-thai-toxic-cpt
Base model
typhoon-ai/typhoon-7b