Gemma 4 Thai Performance Marketing (Fine-tuned via Unsloth)
นี่คือโมเดลภาษาขนาดใหญ่ (LLM) สถาปัตยกรรม Gemma 4 E2b ที่ผ่านการทำ Fine-tuning (QLoRA) เพื่อปรับจูนความเชี่ยวชาญเฉพาะทางด้าน Performance Marketing (การตลาดออนไลน์ที่เน้นผลลัพธ์) โดยเฉพาะการวิเคราะห์คоขวดของการยิงโฆษณา (Meta Ads, TikTok Ads) และการวิเคราะห์ข้อมูลทางธุรกิจในรูปแบบโครงสร้างคำแนะนำแบบมีเหตุมีผล (IF-THEN Actionable Insights) เป็นภาษาไทย
🚀 จุดเด่นของโมเดล (Model Highlights)
- Expert in Performance Marketing: ถูกจูนด้วยชุดข้อมูลการวิเคราะห์โฆษณาขั้นลึก พร้อมการให้คำแนะนำแบบเจาะลึก Root Cause และแผนปฏิบัติการ (Actionable Steps)
- Optimized Framework: พัฒนาและแปลงระบบการคำนวณผ่าน Unsloth Core ทำให้อินเฟอเรนซ์และประมวลผลคำตอบภาษาไทยได้รวดเร็ว
- Multiple Formats: รองรับการใช้งานทั้งแบบ LoRA Adapter (อยู่ในโฟลเดอร์
/lora) และโมเดลรวมร่างตัวเต็ม (Merged 16-bit) ในหน้าแรก
📊 ข้อมูลการเทรน (Training Data)
โมเดลนี้ได้รับการฝึกฝนผ่านชุดข้อมูล: yothinS/Thai_performance_marketing ซึ่งผ่านการคลีนและจัดโครงสร้างในรูปแบบ OpenAI Chat Format บันทึกบทสนทนาแนวคิดและตัวเลขสถิติทางการตลาดออนไลน์ (CPM, CTR, CPC, CVR, ROAS)
🛠️ ไฮเปอร์พารามิเตอร์ (Hyperparameters)
กระบวนการจูนใช้การตั้งค่าพารามิเตอร์ที่มีความเสถียรสูงสุดสำหรับการ์ดจอ T4 GPU ดังนี้:
- Framework: Unsloth + SFTTrainer (trl)
- Method: QLoRA (4-bit quantization base)
- LoRA Rank (r): 16
- LoRA Alpha: 32
- LoRA Target Modules: ครบถ้วนทุกเลเยอร์ (
q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj) - Total Training Steps: 150 Steps (~2 Epochs)
- Effective Batch Size: 8 (Batch Size 2 x Gradient Accumulation 4)
- Learning Rate: 2e-4 (Linear Scheduler)
- Optimizer: adamw_8bit
💻 วิธีการเรียกใช้งาน (Usage Guide)
1. เรียกใช้งานในรูปแบบโมเดลตัวเต็ม (Merged 16-bit) ผ่าน Transformers
เนื่องจากโมเดลในหน้าแรกถูกรวมร่าง (model.safetensors) เรียบร้อยแล้ว คุณสามารถดึงไปใช้ผ่านไลบรารีดั้งเดิมได้ทันที:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "yothinS/gemma4-thai-marketing"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto"
)
# จัดฟอร์แมตข้อความแบบ Chat Template ของ Gemma 4 (Multimodal Input Format)
messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "แคมเปญ E-commerce งบ 5,000 บาท/วัน CTR 2.4% แต่ CVR ต่ำมากเพียง 0.2% ควรวิเคราะห์คอขวดอย่างไร"
}
]
}
]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=1024, temperature=0.7, top_p=0.95)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
2. เรียกใช้งานตัว LoRA Adapter ผ่าน Unsloth (แนะนำสำหรับสเปกประหยัด VRAM)
หากต้องการดึงเฉพาะไฟล์น้ำหนักตัวเสริมไปประกบกับ Gemma 4 ตัวดั้งเดิม:
from unsloth import FastLanguageModel
import torch
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/gemma-4-E2b-it",
lora_model = "yothinS/gemma4-thai-marketing",
subfolder = "lora", # ดึงจากโฟลเดอร์ย่อย lora
max_seq_length = 2048,
load_in_4bit = True
)
⚠️ ข้อจำกัดและคำแนะนำ (Limitations & Disclaimer)
- Domain Specific: โมเดลนี้ถูกจูนให้น้ำหนักความสำคัญและรูปแบบการตอบเอนเอียงไปทางกลุ่ม Performance Marketing สูง ข้อความวิเคราะห์ทั่วไปที่ไม่ใช่เรื่องธุรกิจอาจมีสไตล์การพิมพ์แบบเป็นทางการหรือติดโครงสร้าง IF-THEN มาด้วย
- Verification: คำแนะนำและตัวเลขทางสถิติเป็นเพียงการประมวลผลจากข้อมูลที่เรียนรู้มา ผู้ใช้งานควรนำคำวินิจฉัยไปตรวจสอบร่วมกับหน้า Dashboard โฆษณาจริง (Meta/TikTok Event Manager) อีกครั้งก่อนตัดสินใจปรับเปลี่ยนงบประมาณทางธุรกิจ