ข้ามไปยังเนื้อหา
KoishiAI
EN
← สารบัญ

บทที่ 3 จาก 9 · AI 101 — คู่มือเริ่มต้นสำหรับคนที่จะเอา AI ไปใช้งานจริง

ฮาร์ดแวร์ — เลือกการ์ดจอและเครื่องอย่างไร

คนส่วนใหญ่เลือกการ์ดจอจากตัวเลข TFLOPS ซึ่งเป็นตัวเลขที่ผิดสำหรับงาน inference สิ่งที่กำหนดว่ารันอะไรได้คือ VRAM และสิ่งที่กำหนดว่าเร็วแค่ไหนคือ memory bandwidth บทนี้แจกแจงทั้งสามตัวเลข ชั้นของฮาร์ดแวร์ตามงบ และสูตรจุดคุ้มทุนซื้อหรือเช่า

คนส่วนใหญ่เลือกการ์ดจอจากตัวเลข TFLOPS ซึ่งเป็นตัวเลขที่ผิดสำหรับงาน inference สิ่งที่กำหนดว่าคุณรันโมเดลอะไรได้คือ VRAM และสิ่งที่กำหนดว่ามันเร็วแค่ไหนคือ memory bandwidth ส่วนกำลังประมวลผลมีผลจริงตอนฝึกและตอนอ่าน prompt ยาวเท่านั้น

3.1 ตัวเลขสามตัวที่ต้องดู เรียงตามความสำคัญ

ตัวเลขกำหนดอะไรอธิบาย
VRAM (GB)รันโมเดลขนาดไหนได้ถ้าโมเดลไม่ลง มันจะไม่รัน หรือรันโดยสลับกับ RAM ซึ่งช้าลงสิบถึงร้อยเท่า ข้อจำกัดนี้เด็ดขาด ข้ามไม่ได้
Bandwidth (GB/s)ตอบเร็วแค่ไหนตอนสร้างคำตอบทีละ token การ์ดต้องอ่านน้ำหนักทั้งโมเดลทุกรอบ ความเร็วจึงถูกจำกัดด้วยความเร็วหน่วยความจำ ไม่ใช่กำลังคำนวณ
Compute (TFLOPS)ฝึกเร็วแค่ไหน อ่าน prompt เร็วแค่ไหนสำคัญตอน fine-tune ตอนประมวลผล prompt ยาว และตอนรับผู้ใช้หลายคนพร้อมกัน

สูตรประมาณความเร็วคร่าว ๆ:

tok/s สูงสุด ≈ bandwidth ÷ ขนาดโมเดล

ตัวอย่างกับโมเดล 8B ที่ Q4_K_M ขนาดราว 5 GB:

ฮาร์ดแวร์คำนวณทฤษฎี
การ์ด bandwidth 900 GB/s900 ÷ 5≈ 180 tok/s
การ์ด bandwidth 300 GB/s300 ÷ 5≈ 60 tok/s
CPU + RAM DDR5 ~80 GB/s80 ÷ 5≈ 16 tok/s

ของจริงจะได้ราว 60–70% ของตัวเลขทฤษฎี นี่คือเหตุผลที่โมเดลเดียวกันบนการ์ดที่ VRAM เท่ากันแต่ bandwidth ต่างกัน ให้ความเร็วต่างกันหลายเท่า และเป็นเหตุผลที่การรันบน CPU ล้วนช้าแม้เครื่องจะแรง

3.2 ชั้นของฮาร์ดแวร์ตามงบและงาน

ชั้นVRAMรันอะไรได้สบายเหมาะกับ
โน้ตบุ๊ก / iGPUใช้ RAM ร่วม1–4B ที่ Q4ลองเล่น เรียนรู้ งานสรุปและแปลสั้น ๆ
การ์ดระดับต้น8–12 GB7–8B ที่ Q4, embedding, Whisperนักเรียน นักพัฒนาที่เริ่มต้น งาน RAG เล็ก
การ์ดระดับกลาง16 GB14B ที่ Q4, 8B ที่ Q8, สร้างภาพงานพัฒนาจริงคนเดียว
การ์ดระดับสูง24 GB32B ที่ Q4, 14B ที่ Q8, LoRA บน 8Bงานที่ต้องการคุณภาพจริง fine-tune เบา ๆ
เรือธงผู้บริโภค32 GB32B ที่ Q5–Q6, 70B ที่ Q3 แบบฝืด, สร้างวิดีโองานเดี่ยวที่หนักที่สุดเท่าที่การ์ดผู้บริโภคทำได้
การ์ดมืออาชีพ48–96 GB70B ที่ Q4–Q8, fine-tune จริงจังทีมเล็ก งานที่ต้องรับผู้ใช้หลายคน
Unified memory64–128 GB70B ขึ้นไป หรือ MoE ใหญ่ ที่ batch เล็กโมเดลใหญ่ที่ไม่ต้องการ throughput สูง
ศูนย์ข้อมูล80–192 GB ต่อใบทุกอย่าง รวมถึงการฝึกจริงองค์กร งานที่มีทราฟฟิกจริง

กฎซื้อการ์ดสำหรับงาน AI

VRAM มาก่อนเสมอ การ์ดที่ VRAM มากกว่าแต่ช้ากว่ายังทำงานได้ ส่วนการ์ดที่เร็วกว่าแต่ VRAM ไม่พอ ทำงานไม่ได้เลย ถ้าเลือกได้ระหว่างการ์ดใหม่ 16 GB กับการ์ดเก่ากว่าหนึ่งรุ่นที่ 24 GB สำหรับงาน LLM ให้เลือก 24 GB เกือบทุกกรณี

3.3 Unified memory ต่างจาก VRAM แบบเดิมอย่างไร

ระบบแบบ unified memory เช่น Apple Silicon หรือ NVIDIA GB10 ใช้หน่วยความจำก้อนเดียวร่วมกันระหว่าง CPU กับ GPU ทำให้มีความจุสูงมากในราคาที่ถูกกว่าการ์ดศูนย์ข้อมูล แต่ bandwidth ต่ำกว่า GDDR หรือ HBM ของการ์ดแยกอย่างมีนัยสำคัญ

คุณสมบัติการ์ดแยก (GDDR/HBM)Unified memory
ความจุที่ได้ต่อราคาต่ำ — 32 GB ก็แพงแล้วสูง — ได้ 100 GB ขึ้นไปในราคาที่จับต้องได้
Bandwidthสูงมากต่ำกว่าหลายเท่า
เหมาะกับตอบเร็ว รับหลายคนพร้อมกันโมเดลใหญ่มาก, MoE, batch เล็ก, งานที่ยอมรอได้
ไม่เหมาะกับโมเดลที่ใหญ่เกินความจุบริการที่ต้องการ throughput สูงหรือ latency ต่ำมาก

ทำไม MoE เข้ากับ unified memory เป็นพิเศษ

เพราะข้อจำกัดของ unified memory คือ bandwidth ไม่ใช่ความจุ และ MoE ใช้พารามิเตอร์เพียงเศษเสี้ยวต่อ token โมเดล 100B ที่ active แค่ 5B จะอ่านหน่วยความจำน้อยกว่าโมเดล dense 30B เสียอีก แม้จะกินความจุมากกว่ามาก เครื่องแบบนี้จึงรันโมเดลที่การ์ดผู้บริโภคแตะไม่ถึงได้ ในความเร็วที่ใช้งานได้จริง

3.4 ส่วนประกอบอื่นของเครื่อง

ชิ้นส่วนกฎง่าย ๆเหตุผล
RAMอย่างน้อยเท่ากับ VRAM รวม ดีที่สุดคือ 1.5–2 เท่าตอนโหลดโมเดล ไฟล์ถูกอ่านผ่าน RAM ก่อน ถ้า RAM น้อยกว่าโมเดลจะโหลดช้าหรือล้ม
CPUไม่ต้องแรงมากถ้าใช้ GPU ล้วนสำคัญตอนเตรียมข้อมูล ตอน tokenize และเมื่อ offload บางชั้นลง CPU
SSDNVMe ตั้งแต่ 2 TBโมเดลไฟล์ละ 5–140 GB สะสมเร็วมาก ความเร็วอ่านมีผลกับเวลาโหลดโมเดล
PSUเผื่อ 1.5 เท่าของ TDP รวมการ์ดสมัยใหม่มี transient spike สูง PSU ที่พอดีเป๊ะจะทำให้เครื่องดับกลางงาน
ระบายความร้อนสำคัญกว่าที่คิดงาน inference คือโหลดเต็มต่อเนื่องหลายชั่วโมง ถ้าร้อนเกินการ์ดจะลดความเร็วเอง
PCIex8 ก็พอสำหรับ inference ใบเดียวมีผลตอนโหลดโมเดลและตอนใช้หลายใบแบบ tensor parallel

3.5 หลายการ์ด — สิ่งที่คนเข้าใจผิดบ่อย

เสียบการ์ดสองใบไม่เท่ากับเร็วขึ้นสองเท่า

Tensor Parallel แบ่งแต่ละชั้นออกเป็นชิ้น ๆ ให้การ์ดคำนวณพร้อมกัน เร็วขึ้นจริง แต่ต้องคุยกันทุกชั้น จึงต้องการการเชื่อมต่อที่เร็ว บน PCIe ธรรมดาอาจได้แค่ 1.2–1.5 เท่า ไม่ใช่ 2 เท่า และต้องการจำนวนการ์ดที่หาร attention heads ลงตัว ซึ่งมักเป็น 2, 4 หรือ 8

Pipeline Parallel แบ่งชั้นให้การ์ดคนละกลุ่มส่งต่อกันเป็นสายพาน ทำให้โมเดลใหญ่ลงเครื่องได้ แต่ไม่ได้เร็วขึ้นสำหรับผู้ใช้คนเดียว เหมาะเมื่อเป้าหมายคือความจุ ไม่ใช่ความเร็ว

การ์ดคนละรุ่นผสมกัน ทำได้ในบางตัวรัน โดย llama.cpp ยืดหยุ่นที่สุด แต่ความเร็วจะถูกจำกัดด้วยการ์ดที่ช้าที่สุด ส่วน vLLM และ SGLang มักต้องการการ์ดรุ่นเดียวกัน

ข้อสรุปเชิงปฏิบัติ: การ์ดใบเดียวที่ VRAM พอ ดีกว่าสองใบที่ต้องต่อกันในแทบทุกกรณี ยกเว้นเมื่อโมเดลใหญ่จนไม่มีทางเลือก

3.6 ซื้อหรือเช่า

สถานการณ์คำแนะนำ
กำลังเรียนรู้ ยังไม่รู้ว่าจะใช้จริงไหมเช่าเป็นชั่วโมง หรือใช้ API ก่อน อย่าเพิ่งซื้อการ์ด
ใช้วันละไม่กี่ชั่วโมงเช่าถูกกว่าเกือบแน่นอน เมื่อรวมค่าไฟและค่าเสื่อม
ใช้ทั้งวันทุกวันซื้อคุ้มกว่าภายใน 6–12 เดือน คำนวณจุดคุ้มทุนจริงก่อนตัดสินใจ
ข้อมูลห้ามออกนอกองค์กรต้องซื้อหรือใช้คลาวด์ส่วนตัว ไม่ใช่ประเด็นเรื่องราคา
ต้อง fine-tune บ่อยเช่าการ์ดใหญ่เป็นครั้ง ดีกว่าซื้อการ์ดใหญ่ที่ว่างส่วนใหญ่ของเวลา
ทำ prototype ให้ลูกค้าดูAPI ก่อนเสมอ ย้ายมารันเองเมื่อรู้แล้วว่าโมเดลไหนใช้ได้จริง

สูตรจุดคุ้มทุนอย่างง่าย:

จุดคุ้มทุน (ชั่วโมง) = ราคาเครื่อง ÷ (ค่าเช่าต่อชั่วโมง − ค่าไฟต่อชั่วโมง)

ตัวอย่าง เครื่อง 135,000 บาท ค่าเช่าเทียบเท่า 35 บาทต่อชั่วโมง ค่าไฟ 5 บาทต่อชั่วโมง

135,000 ÷ (35 − 5) = 4,500 ชั่วโมง
   ≈ 6 เดือน ถ้าใช้วันละ 24 ชั่วโมง
   ≈ 3 ปี   ถ้าใช้วันละ 4 ชั่วโมง

อย่าลืมนับต้นทุนที่มองไม่เห็น คือเวลาที่ใช้ดูแลเครื่อง แก้ไดรเวอร์ และอัปเดตระบบ ซึ่งสำหรับคนทำงานคนเดียวมักเป็นต้นทุนที่ใหญ่กว่าค่าไฟ

สรุปบทนี้

เรียงลำดับให้ถูก VRAM ตัดสินว่ารันได้ไหม bandwidth ตัดสินว่าเร็วแค่ไหน ส่วน TFLOPS สำคัญเฉพาะตอนฝึกและ prompt ยาว การ์ดใบเดียวที่พอดีกว่าสองใบที่ต้องต่อกัน และก่อนซื้อให้คำนวณจุดคุ้มทุนจากการใช้งานจริง ไม่ใช่จากความตั้งใจ

บทถัดไปว่าด้วยตัวรันโมเดล ว่ามีกี่แบบ ต่างกันตรงไหน และคำสั่งจริงของแต่ละตัวเป็นอย่างไร