๓03ฮาร์ดแวร์ที่ต้องมี
Hardware you need
TL;DR — สรุปใน 30 วินาทีtldr
สมองของระบบคือ Mac Mini M4 Pro หน่วยความจำ 48GB (CPU 14 คอร์, GPU 20 คอร์, unified memory) — จุดหวานคือรันโมเดลระดับ 27B ได้สบาย พร้อม embeddings เปิดคู่กันตลอดเวลา โดยไม่แตะ swap เลย
กฎเหล็กของ 48GB: โมเดลใหญ่ resident ได้ทีละหนึ่งตัวเท่านั้น — ไม่ใช่สอง ไม่ว่ากรณีใด
เมื่อไหร่ควรใช้ / When to usewhen to use
คุณจำเป็นต้องมีอะไรบ้าง?
| ชิ้น | จำเป็น? | หมายเหตุ |
|---|---|---|
| Mac Mini M4 Pro 48GB | จำเป็น (แกนระบบ) | 48GB คือจุดหวาน — 36GB ได้ถ้ายอมลด context เหลือ ≤16k, 24GB ไม่พอ |
| VPS เล็ก | จำเป็น (หน้าบ้าน) | 4 vCPU / 8GB ก็เพียงพอ — ~$10–15/เดือน |
| เครื่องการ์ดจอ NVIDIA | เสริม (ภาพ/เสียง) | i9 + 2× RTX 5060 Ti 16GB ของเราคือของเก่าที่มีอยู่ — เริ่ม Mac-only ได้ก่อน |
| NAS / เครื่อง Linux 24/7 | เสริม (ออโตเมชัน) | Synology DS725+ รัน n8n + เฝ้าระวัง |
| Smart plug วัดไฟ | แนะนำ | เพื่อเก็บใบเสร็จค่าไฟของคุณเอง — ~300 บาท/ชิ้น |
วิธีทำ / How-tohow to
แผนที่หน่วยความจำจริงบนเครื่องเรา (โมเดล 27B แบบ nvfp4 + embeddings):
48 GB รวม
- 23 GB โมเดลหลัก 27B nvfp4 (context 32768) — resident ใหญ่กว่าไฟล์ 18GB
เพราะ KV cache + บัฟเฟอร์รันไทม์อยู่ใน unified memory เดียวกัน
- ~1 GB bge-m3 embeddings (+ nomic) ตัวเล็ก อุ่นตลอด
- ~8 GB macOS + Ollama runtime + ส่วนเผื่อ
= ~16 GB เหลือ -> memory pressure เขียว, swap = 0ถ้าดูแลกฎ "หนึ่งโมเดลต่อหนึ่งช่วงเวลา" ตารางนี้จะนิ่งมาตลอด
เหตุการณ์ swap ที่สอนเราครั้งใหญ่ — ครั้งหนึ่งเราเก็บโมเดลที่สอง (16GB) resident ไว้ด้วย keep-alive 24 ชม. ผลคือ:
- หน่วยความจำพุ่งไป 47.7GB + swap 3.8GB
- TTFT (เวลาโผล่ตัวอักษรแรก) บานจาก ~0.04 วินาที เป็น 28–60 วินาที
- ไล่โมเดลที่สองออก (keep_alive: 0) ครบ 27 นาที swapout หยุดสนิท
ตั้งแต่วันนั้น kit ทั้งหมดเข้ารหันกันกันไว้แล้ว: KEEP_ALIVE 24 ชม. ได้หนึ่งตัว, health check ห้าม sweep โหลดโมเดลเดิมกลับมา, cron อุ่นเฉพาะโมเดลหลัก
ถ้าติดตรงไหน → บทที่ ๑๖
ตัวอย่างการตั้งค่า / Config exampleconfig example
ความเร็วที่วัดได้จริงบนเครื่องนี้ (คำสั่งวัดอยู่ใน benchmarks/ ของ repo):
| ตัวชี้วัด | GGUF Q4_K_M | MLX nvfp4 | ส่วนต่าง |
|---|---|---|---|
| ความเร็ว decode (เฉลี่ย 5 prompt) | 7.85 tok/s | 30.23 tok/s | +285% |
| TTFT (อุ่นแล้ว) | 0.288 วิ | 0.040 วิ | เร็วขึ้น 7 เท่า |
| RAM ที่กิน | 18 GB | 23 GB | +5 GB (แลกกับความเร็ว — คุ้ม) |
| Swap | 0 | 0 | — |
สาเหตุที่ MLX เร็วกว่า: M4 Pro มีแบนด์วิดท์หน่วยความจำ ~273 GB/s — การอนุมาน LLM คือการอ่านน้ำหนักโมเดลถี่ ๆ ยิ่งอ่านเร็วยิ่งตอบเร็ว (M4 ธรรมดาที่ 120 GB/s จะได้ประมาณครึ่งเดียวของตัวเลขนี้) ดูเพิ่มที่ MLX ในอภิธานศัพท์
Pro tip — เคล็ดลับจากสนามจริงpro tip
คำถามที่พบบ่อย / FAQfaq
ถาม: ใช้ PC Windows + การ์ดจอแทน Mac ได้ไหม? — รัน LLM ได้ แต่การ์ด 16GB ใบเดียวใส่โมเดล 27B ไม่พอ ต้องลดขนาดโมเดล แลกกับคุณภาพ — ส่วนใหญ่เราใช้เครื่อง PC เป็น "ครัวภาพ/เสียง" แทน (บทที่ ๑๑)
ถาม: Mac ดับ bot ตายไหม? — ไม่ตาย Tier 2 บน VPS รับต่อทันที (บทที่ ๒)
คำถามอื่น ๆ ดูที่ FAQ
ดูเพิ่ม / See alsosee also
- บทที่ ๕ · Mac Mini = สมอง — ติดตั้ง Ollama และโมเดล
- บทที่ ๑๒ · สูตรภาษาไทย — จูนพารามิเตอร์บนเครื่องนี้
- docs/hardware.md — ฉบับอังกฤษเต็ม