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

Adapter
(13)
this model

Dataset used to train Datchthana/typhoon-7b-thai-toxic-cpt