สารบัญ — บทที่ ๓ / ๑๖
PART 1 · รู้จัก
๑ · BOMLLM คืออะไร
๒ · สถาปัตยกรรม 4 เครื่อง
▸ ๓ · ฮาร์ดแวร์ที่ต้องมี
PART 2 · ติดตั้ง
๔ · เตรียมเครือข่าย
๕ · Mac Mini = สมอง
๖ · VPS = หน้าบ้าน
๗ · .env และ litellm.yaml
๘ · Virtual keys และงบประมาณ
PART 3 · ใช้งาน
๙ · Open WebUI ครั้งแรก
๑๐ · ลงโมเดลเพิ่มและส่วนเสริม
๑๑ · ภาพและเสียง (optional)
๑๒ · สูตรภาษาไทย
PART 4 · ต่อช่องทาง
๑๓ · LINE และ Telegram bot
๑๔ · MT5 EA อ่านอย่างเดียว และ content pipeline
PART 5 · ดูแล
๑๕ · ความปลอดภัยและ monitoring
๑๖ · อัปเกรดและแก้ปัญหา
PART 1 · รู้จัก

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_MMLX nvfp4ส่วนต่าง
ความเร็ว decode (เฉลี่ย 5 prompt)7.85 tok/s30.23 tok/s+285%
TTFT (อุ่นแล้ว)0.288 วิ0.040 วิเร็วขึ้น 7 เท่า
RAM ที่กิน18 GB23 GB+5 GB (แลกกับความเร็ว — คุ้ม)
Swap00

สาเหตุที่ MLX เร็วกว่า: M4 Pro มีแบนด์วิดท์หน่วยความจำ ~273 GB/s — การอนุมาน LLM คือการอ่านน้ำหนักโมเดลถี่ ๆ ยิ่งอ่านเร็วยิ่งตอบเร็ว (M4 ธรรมดาที่ 120 GB/s จะได้ประมาณครึ่งเดียวของตัวเลขนี้) ดูเพิ่มที่ MLX ในอภิธานศัพท์

Pro tip — เคล็ดลับจากสนามจริงpro tip

★ PRO TIP
ข้ามราคา SSD แบบอัปเกรดในเครื่อง — เก็บโมเดลบน external Thunderbolt SSD แล้วชี้ตัวแปร OLLAMA_MODELS ไปที่ volume นั้น — ประหยัดได้หลายพันบาทเทียบกับการอัปเกรด SSD ในตัว และย้ายไปเครื่องอื่นได้
★ PRO TIP
สิ่งที่ใส่ได้/ใส่ไม่ได้บน 48GB — 27B + embeddings = ✅ ใช้ประจำวัน | 27B + โมเดล vision 7B = ⚠️ แน่น ดู pressure | 27B สองตัว = ❌ swap thrash (เจอมาแล้ว) | 32B mxfp8 = ❓ โหลดได้แต่ไม่เหลือที่หายใจ | 70B ทุก quant = ❌ อย่าคิด

คำถามที่พบบ่อย / FAQfaq

ถาม: ใช้ PC Windows + การ์ดจอแทน Mac ได้ไหม? — รัน LLM ได้ แต่การ์ด 16GB ใบเดียวใส่โมเดล 27B ไม่พอ ต้องลดขนาดโมเดล แลกกับคุณภาพ — ส่วนใหญ่เราใช้เครื่อง PC เป็น "ครัวภาพ/เสียง" แทน (บทที่ ๑๑)

ถาม: Mac ดับ bot ตายไหม? — ไม่ตาย Tier 2 บน VPS รับต่อทันที (บทที่ ๒)

คำถามอื่น ๆ ดูที่ FAQ

ดูเพิ่ม / See alsosee also

ภาพประกอบ / Figuresfigures

ตำแหน่งของ Mac Mini ในสถาปัตยกรรมทั้งระบบ
Mac คือกล่องสมองกลางของแผนภาพ

วิดีโอ / Videovideo

🎬
วิดีโอกำลังผลิต — ติดตามที่ YouTube @icafefx
คลิปสาธิตทีละขั้นของบทนี้จะอัปโหลดที่ youtube.com/@icafefx เร็ว ๆ นี้