สวัสดีครับ! นี่คือบทความสรุปการเดินทางของเราในการพยายามรันโมเดล Typhoon 2.5 (ทั้ง 30B และ 4B) บน Google Colab Free Tier ครับ เราได้ลองผิดลองถูกมาหลายวิธี และนี่คือบทเรียนทั้งหมดที่เราพบ ตั้งแต่ความล้มเหลวไปจนถึง Config ที่ดีที่สุดครับ
บทเรียนที่ 1: Typhoon 30B "ใหญ่เกินไป" สำหรับ Colab ฟรี
ความฝันของเราคือการรันโมเดลเรือธง 30B แต่ความจริงก็คือ:
Ollama (บน T4 GPU): รอดแบบเฉียดฉิว! ใช้ VRAM 14.3 GB จาก 15 GB ที่มีให้ นี่คือการรัน "จนเต็มขีดจำกัด" ของ T4
-
Transformers (เขียนโค้ด Python): ล่มโดยสิ้นเชิง!
- บน T4 (GPU): เจอปัญหา "Disk is almost full" (Disk 112GB ไม่พอโหลดโมเดล 60-70GB)
- บน TPU (v5e-1): แก้ปัญหา Disk ได้ แต่เจอ "Time Out" (แค่โหลดโมเดลก็ 40 นาที จนค้าง)
บทเรียนที่ 2: Typhoon 4B "คุณภาพ" คือคำตอบ เมื่อ 30B ไม่รอด เราจึงหันมาที่ "น้องเล็ก" 4B แต่คำถามคือ "จำเป็นต้องใช้ GPU T4 ไหม?"
- Ollama (บน CPU Runtime): รันได้! ใช้ System RAM ~3.5GB และ CPU 100%
...แต่ (จุดเปลี่ยน): เมื่อทดสอบ เราพบว่า "คุณภาพคำตอบ (Quality) ดร็อปอย่างชัดเจน" คำตอบมักจะสั้น, เหตุผลเพี้ยน, หรือไม่ดีเท่าที่ควร
3. "พระเอก" ของงาน: 4-bit Quantization (โค้ด Transformers)
นี่คือวิธีรัน 4B บน T4 GPU เพื่อให้ได้ "คุณภาพสูงสุด" โดยใช้ VRAM น้อยที่สุดครับ
Quantization คืออะไร? คือการ "บีบอัด" โมเดล (เหมือนบีบไฟล์ RAW เป็น .JPG) เราใช้ 4-bit Quantization เพื่อลดขนาดโมเดลใน VRAM ลง 4 เท่า! (จาก 16-bit)
นี่คือโค้ดหลักที่เราใช้:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
# 1. เลือกโมเดล 4B
model_id = "scb10x/typhoon2.5-qwen3-4b"
# 2. นี่คือหัวใจสำคัญ! (เราจะเทียบ NF4 vs FP4)
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4", # หรือ "fp4"
bnb_4bit_compute_dtype=torch.bfloat16
)
# 3. โหลดโมเดล
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
quantization_config=quantization_config,
torch_dtype=torch.bfloat16,
device_map="auto"
)
วิธีนี้ ทำให้เราใช้ VRAM ไปเพียง ~4.0 GB (จากการทดลองใน Part 2) และได้คุณภาพคำตอบที่ดีเยี่ยม!
4. บทเรียนที่ 3: Benchmark 8-bit vs 4-bit... ใครชนะ?
เรารู้ว่า 4-bit ดี แต่แบบไหนดีที่สุด? เราจึงทดสอบ 3 Configs บน T4 GPU (จากผลทดลองจริง):
🏆 บทสรุป (The Final Verdict): Config ที่ดีที่สุด
4-bit Quantization ชนะ 8-bit ขาดลอย!
สรุป Part 3: “Benchmark” เทียบ 8-bit vs 4-bit (NF4 vs FP4)
- เร็วกว่า 2.5 เท่า! (12 Tok/s vs 4.6 Tok/s)
- ประหยัด VRAM กว่า 35% (2.71 GB vs 4.19 GB)
ศึกชิงที่ 1: NF4 vs FP4
- VRAM: ใช้เท่ากัน (2.71 GB)
- Speed: FP4 เร็วกว่า NF4 เล็กน้อย (ประมาณ 3-4%)
- Quality: NF4 (Normal Float) ถูกออกแบบมาเพื่อ "รักษาคุณภาพ" ได้ดีกว่า FP4 (Float Point) ที่เน้น "ความเร็ว"
คำแนะนำสุดท้าย: สำหรับ Google Colab T4:
4-bit NF4 (bnb_4bit_quant_type="nf4") คือ "จุดสมดุล" (The Sweet Spot) ที่ดีที่สุด
คุณจะได้โมเดลที่ ประหยัด VRAM ที่สุด (2.71 GB), เร็วมาก (11.68 Tok/s), และ รักษาคุณภาพคำตอบ ไว้ได้ใกล้เคียงต้นฉบับที่สุดครับ!
Top comments (0)