บทที่ 2 จาก 9 · AI 101 — คู่มือเริ่มต้นสำหรับคนที่จะเอา AI ไปใช้งานจริง
อ่านรหัสชื่อโมเดลให้ออก
ชื่อโมเดลไม่ได้ตั้งมั่ว มันคือรหัสที่บอกเกือบทุกอย่างที่ต้องรู้ก่อนโหลด บทนี้แกะชื่อทีละส่วน พร้อมตาราง suffix รูปแบบไฟล์ และระดับ quantization ที่ตัดสินว่าโมเดลจะลงเครื่องคุณหรือไม่
ชื่อโมเดลไม่ได้ตั้งมั่ว มันคือรหัสที่บอกเกือบทุกอย่างที่ต้องรู้ก่อนกดโหลด อ่านออกแล้วจะประหยัดทั้งเวลาและพื้นที่ดิสก์ได้มาก
2.1 แกะชื่อทีละส่วน
Qwen3 - 30B - A3B - Instruct - 2507 - GGUF : Q4_K_M
│ │ │ │ │ │ │
│ │ │ │ │ │ └─ ระดับ quantization
│ │ │ │ │ └───────── รูปแบบไฟล์
│ │ │ │ └──────────────── รุ่นย่อย/วันที่ (ปี 25 เดือน 07)
│ │ │ └───────────────────────── ตัวแปร: ปรับมาให้ทำตามคำสั่งแล้ว
│ │ └───────────────────────────────── active params: ทำงานจริง 3B
│ │ ต่อ token แปลว่าเป็น MoE
│ └─────────────────────────────────────── ขนาดรวม 30 พันล้านพารามิเตอร์
└────────────────────────────────────────────── ตระกูลและรุ่นหลัก
ตัวอย่างอื่นที่เจอบ่อย:
| ชื่อ | อ่านว่า |
|---|---|
Llama-3.3-70B-Instruct-AWQ | Llama รุ่น 3.3, 70B, dense, quantize แบบ AWQ |
gemma-3-27b-it | Gemma 3, 27B, it = instruction-tuned เทียบเท่า Instruct |
Qwen3-VL-8B-Thinking | รับภาพได้, 8B, เป็นโมเดลที่คิดก่อนตอบ |
DeepSeek-R1-Distill-Qwen-14B | กลั่นความสามารถ reasoning จาก R1 ลงมาใส่ฐาน Qwen 14B |
bge-m3 | โมเดล embedding ไม่ใช่โมเดลคุย รองรับหลายภาษา |
Whisper-large-v3-turbo | ASR ถอดเสียง รุ่นเร่งความเร็ว |
FLUX.1-dev | โมเดลสร้างภาพ — dev คือใบอนุญาตไม่เชิงพาณิชย์ ต้องอ่านให้ดี |
2.2 Suffix ที่ต้องรู้จัก
| Suffix | ความหมายและผลต่อการใช้งาน |
|---|---|
| Base / ไม่มี | โมเดลดิบ ยังไม่ถูกปรับให้คุย ใช้ต่อข้อความเป็นหลัก ถ้าจะเอาไปคุยอย่าเลือกตัวนี้ เหมาะกับคนที่จะ fine-tune เอง |
| Instruct / it / Chat | ปรับมาให้ทำตามคำสั่งและสนทนาแล้ว เกือบทุกงานควรใช้ตัวนี้ |
| Thinking / Reasoning | คิดเป็นขั้นก่อนตอบ แม่นกว่ากับโจทย์ยาก แต่ช้ากว่าและกิน token มากกว่าหลายเท่า |
| Coder | ฝึกเน้นโค้ด มักเก่งกว่าโมเดลทั่วไปขนาดเดียวกันในงานเขียนโปรแกรม |
| VL / Vision | รับภาพได้ ต้องใช้ตัวรันที่รองรับ multimodal ด้วย ไม่ใช่ทุกตัวรันจะรองรับ |
| Distill | กลั่นจากโมเดลใหญ่ ได้ความสามารถใกล้เคียงในขนาดที่เล็กลง |
| Guard | ตัวจำแนกความปลอดภัย ไม่ใช่โมเดลคุย |
| Embedding / Reranker | ใช้ในระบบค้นหา คืนเวกเตอร์หรือคะแนน ไม่ได้คืนข้อความ |
| Abliterated / Uncensored | ถูกดัดแปลงให้ตัดการปฏิเสธออก อย่าใช้ในระบบที่มีผู้ใช้จริง คุณภาพมักลดลงด้วย และความรับผิดตกอยู่ที่คุณเต็ม ๆ |
| GGUF / AWQ / GPTQ / MLX / EXL3 | รูปแบบไฟล์และวิธี quantize ต้องเลือกให้ตรงกับตัวรันที่ใช้ |
2.3 รูปแบบไฟล์โมเดล
| รูปแบบ | ใช้กับตัวรัน | ปลอดภัยไหม | หมายเหตุ |
|---|---|---|---|
| safetensors | Transformers, vLLM, SGLang | ปลอดภัย | เก็บแค่ตัวเลขกับ metadata ไม่มีโค้ดฝังได้ ควรบังคับใช้เป็นค่าตั้งต้น |
| GGUF | llama.cpp, Ollama, LM Studio | ค่อนข้างปลอดภัย | ไฟล์เดียวจบ รวม tokenizer มาด้วย เหมาะกับเครื่องส่วนตัว ยังมีความเสี่ยงจากบั๊กของตัวอ่านไฟล์ |
| .bin / .pt / .pth / .ckpt | PyTorch แบบเดิม | อันตราย | ใช้ pickle ซึ่งรันโค้ด Python ตอนโหลด หลีกเลี่ยงถ้ามีทางเลือกอื่น |
| .h5 / Keras | TensorFlow / Keras | ระวัง | Lambda layer ห่อโค้ด Python ได้ และถูกรันตอนโหลดโมเดลผ่าน Keras โดยตรง |
| ONNX | ONNX Runtime, edge devices | ปานกลาง | พกพาข้ามแพลตฟอร์มดี เหมาะกับงานฝังในอุปกรณ์และ CPU |
| TensorRT engine | TensorRT-LLM | ปลอดภัย | คอมไพล์แล้ว เร็วที่สุดบน NVIDIA แต่ผูกกับรุ่นการ์ดและเวอร์ชันไดรเวอร์ |
| MLX | Mac (Apple Silicon) | ปลอดภัย | เร็วที่สุดบน Mac |
2.4 Quantization — ตัวเลขที่กำหนดว่าโมเดลจะลงเครื่องคุณไหม
Quantization คือการลดจำนวนบิตที่ใช้เก็บน้ำหนักแต่ละตัว จาก 16 บิตเหลือ 8, 4 หรือน้อยกว่า ทำให้ไฟล์เล็กลงและโหลดเข้า VRAM ได้ แลกกับความแม่นที่ลดลง
| ระดับ | บิตต่อน้ำหนัก | ขนาดโมเดล 8B โดยประมาณ | คุณภาพและการใช้งาน |
|---|---|---|---|
| FP32 | 32 | ~32 GB | ใช้ตอนฝึกยุคเก่า ไม่ใช้รันแล้ว |
| BF16 / FP16 | 16 | ~16 GB | คุณภาพเต็ม เป็นฐานที่ใช้เทียบ |
| FP8 / INT8 | 8 | ~8 GB | คุณภาพต่างจากเต็มแทบไม่รู้สึก จุดคุ้มค่าที่ดีมากถ้า VRAM พอ |
| Q6_K | ~6.6 | ~6.6 GB | ใกล้เคียงต้นฉบับมาก เหมาะเมื่อ VRAM เหลือนิดหน่อย |
| Q5_K_M | ~5.7 | ~5.7 GB | สมดุลดี ใช้ได้กับงานทั่วไปเกือบทั้งหมด |
| Q4_K_M | ~4.8 | ~4.9 GB | จุดที่คนใช้มากที่สุด คุณภาพลดเล็กน้อยแต่ขนาดลดครึ่ง |
| NVFP4 / AWQ 4-bit | ~4 | ~4.5 GB | 4 บิตแบบมีการปรับสเกล คุณภาพดีกว่า 4 บิตธรรมดา รองรับบนการ์ดใหม่ |
| Q3_K / IQ3 | ~3.4 | ~3.5 GB | เริ่มเห็นความเสื่อมชัด ใช้เมื่อจำเป็นจริง ๆ |
| Q2_K | ~2.6 | ~2.8 GB | คุณภาพตกมาก มักไม่คุ้ม |
กฎที่ใช้ตัดสินใจได้เร็ว
ถ้าต้องเลือกระหว่างโมเดลใหญ่ที่ quantize หนัก กับโมเดลเล็กที่ quantize เบา ในขนาดไฟล์เท่ากัน ส่วนใหญ่โมเดลใหญ่ที่ Q4_K_M ชนะ เช่น 14B ที่ Q4_K_M มักดีกว่า 7B ที่ Q8 ทั้งที่ไฟล์ขนาดใกล้กัน แต่กฎนี้พังเมื่อลงต่ำกว่า Q3 เพราะที่จุดนั้นความเสื่อมจะกินข้อได้เปรียบของขนาดจนหมด
2.5 สูตรประมาณขนาดอย่างเร็ว
ขนาดไฟล์โดยประมาณ (GB) ≈ จำนวนพารามิเตอร์ (พันล้าน) × บิตต่อน้ำหนัก ÷ 8
| โมเดล | คำนวณ | ได้ |
|---|---|---|
| 8B ที่ Q4_K_M | 8 × 4.8 ÷ 8 | ≈ 4.8 GB |
| 32B ที่ Q4_K_M | 32 × 4.8 ÷ 8 | ≈ 19 GB |
| 70B ที่ Q4_K_M | 70 × 4.8 ÷ 8 | ≈ 42 GB |
| 70B ที่ BF16 | 70 × 16 ÷ 8 | ≈ 140 GB |
VRAM ที่ต้องใช้จริงคือ ขนาดไฟล์ + KV cache + overhead เผื่อไว้อย่างน้อย 15–25% เหนือขนาดไฟล์สำหรับ context สั้น ถ้าใช้ context ยาว KV cache อาจใหญ่กว่าตัวโมเดลเสียอีก ซึ่งจะคำนวณจริงในบทที่ 5
สำหรับ MoE ขนาดไฟล์คิดจากพารามิเตอร์ทั้งหมด ไม่ใช่ active
Qwen3-30B-A3Bที่ Q4_K_M ประมาณ 18 GB ไม่ใช่ 1.8 GB แต่ความเร็วจะใกล้เคียงโมเดล 3B และนี่คือข้อดีของ MoE
สรุปบทนี้
ชื่อโมเดลบอกตระกูล ขนาด ว่าเป็น MoE หรือไม่ ตัวแปรที่ปรับมา รูปแบบไฟล์ และระดับ quantization ครบในบรรทัดเดียว อ่านชื่อให้ออกก่อนโหลด แล้วคำนวณขนาดด้วยสูตรง่าย ๆ จะรู้ทันทีว่าโมเดลนั้นลงเครื่องหรือไม่
บทถัดไปว่าด้วยฮาร์ดแวร์ ว่าเลขตัวไหนบนสเปกการ์ดจอที่กำหนดว่ารันอะไรได้ และเลขตัวไหนที่กำหนดว่ามันเร็วแค่ไหน