คู่มือฮาร์ดแวร์

GPU ที่ดีที่สุดสำหรับ LLM ในเครื่อง: อะไรสำคัญจริง

เลือก GPU สำหรับ LLM ในเครื่องจาก VRAM แบนด์วิดท์ ซอฟต์แวร์ และขนาดโมเดลที่ต้องการ

GPU ที่ดีที่สุดคือ GPU ที่มีหน่วยความจำที่ใช้งานได้เพียงพอสำหรับโมเดลเป้าหมายของคุณ

สำหรับ Local LLMs โดยทั่วไป VRAM สำคัญกว่าประสิทธิภาพการเล่นเกมแบบดิบ ๆ GPU ที่เร็วแต่มี VRAM น้อยเกินไปจะชนกำแพงหน่วยความจำอย่างรวดเร็ว ขณะที่การ์ดที่เก่ากว่าเล็กน้อยแต่มี VRAM มากกว่าอาจรันโมเดลแบบ quantized ขนาดใหญ่ได้สบายกว่า คำถามแรกไม่ใช่ว่า GPU รุ่นใดมีคะแนน benchmark สูงที่สุด คำถามแรกคือคุณต้องการใช้ขนาดโมเดล ระดับ quantization และความยาว context แบบใดในทุกวัน

ตามกฎเชิงปฏิบัติ 8GB คือระดับเริ่มต้น, 12GB คือขั้นต่ำของระดับเดสก์ท็อปที่ใช้งานได้สบาย, 16GB ให้พื้นที่เผื่อที่ดีกว่า, 24GB คือระดับผู้บริโภคที่แข็งแกร่ง และ 48GB ขึ้นไปคือจุดที่การทดลอง Local ขนาดใหญ่ทำได้ง่ายขึ้นมาก หน่วยความจำแบบ unified memory ของ Apple เป็นหมวดหมู่แยกต่างหาก เพราะ CPU และ GPU ใช้พูลเดียวกันร่วมกัน แต่แนวคิดเดียวกันยังคงใช้ได้: หน่วยความจำที่พร้อมใช้งานและ bandwidth เป็นตัวกำหนดขอบเขตจริง

ระดับเริ่มต้น: GPU 8GB ถึง 12GB

GPU 8GB และ 12GB มีประโยชน์สำหรับโมเดลขนาดเล็กและขนาดกลาง โดยเฉพาะโมเดล 3B, 7B และบางโมเดล 14B ที่ใช้ quantization ต่ำ RTX 3060 12GB ยังคงน่าสนใจเพราะมีปริมาณ VRAM มากเมื่อเทียบกับระดับราคา มันอาจไม่ใช่การ์ดรุ่นใหม่ที่สุด แต่ 12GB ให้พื้นที่มากกว่าการ์ด 8GB หลายรุ่นเมื่อเป้าหมายคือ local inference แทนที่จะเป็นการเล่นเกม

ข้อแลกเปลี่ยนคือความเร็วและพื้นที่เผื่อในอนาคต GPU รุ่นใหม่กว่าอาจมี kernels, bandwidth และประสิทธิภาพการใช้พลังงานที่ดีกว่า แต่ถ้ามาพร้อมหน่วยความจำน้อยกว่า ก็ยังอาจแย่กว่าสำหรับโมเดล Local ขนาดใหญ่ สำหรับผู้ใช้ที่ต้องการแชตง่าย ๆ สรุปข้อความ และช่วยเขียนโค้ดเบา ๆ เป็นหลัก ระดับนี้สามารถใช้งานได้ สำหรับโมเดลเขียนโค้ดขนาดใหญ่หรือ context ยาว ระดับนี้จะเริ่มเป็นข้อจำกัด

จุดคุ้มค่า: GPU 16GB ถึง 24GB

16GB เป็นระดับเชิงปฏิบัติที่แข็งแกร่ง เพราะเปิดทางให้ใช้โมเดล 14B ได้มากขึ้นและช่วยให้ผู้ใช้มีพื้นที่เผื่อสำหรับ context มากขึ้น 24GB เป็นหมุดหมายสำคัญที่สุดของระดับผู้บริโภค เพราะสามารถรองรับโมเดล quantized ขนาดใหญ่จำนวนมาก ตัวแปรคุณภาพดีกว่า และกรณีใช้งานเขียนโค้ดที่หนักกว่า นี่คือเหตุผลที่การ์ดอย่าง GPU NVIDIA ระดับ 24GB-class ได้รับความนิยมในชุมชน Local LLM

ตัวเลือกที่ดีที่สุดในระดับนี้ขึ้นอยู่กับราคา พลังงาน ความเสี่ยงของตลาดมือสอง และการรองรับซอฟต์แวร์ โดยทั่วไป NVIDIA มีความเข้ากันได้กับ local inference กว้างที่สุด AMD สามารถทำงานได้ดีในบางสแตก แต่อาจต้องใส่ใจการรองรับ backend มากกว่า สำหรับเว็บไซต์แนะนำสาธารณะ อินเทอร์เฟซควรถามผู้ใช้เรื่อง VRAM และประเภทระบบก่อน จากนั้นใช้ชื่อ GPU เป็นการปรับแต่งเพิ่มเติมแบบไม่บังคับ แทนที่จะบังคับให้ผู้ใช้ทุกคนต้องรู้รายละเอียดฮาร์ดแวร์ที่แน่นอน

ระดับสูง: 48GB และการตั้งค่าแบบ multi-GPU

การตั้งค่า 48GB และใหญ่กว่านั้นเหมาะสำหรับผู้ใช้ที่ต้องการโมเดลที่ใหญ่ขึ้น quantization สูงขึ้น context ยาวขึ้น หรือการทดลองที่มากขึ้น ระดับนี้ให้อภัยความคลาดเคลื่อนได้มากกว่า เพราะ model weights และ KV cache จะไม่กินงบหน่วยความจำทั้งหมดในทันที นอกจากนี้ยังทำให้เปรียบเทียบตระกูลโมเดลหลายชุดได้ง่ายขึ้น โดยไม่ต้องลดลงไปใช้ไฟล์ quantized ขนาดเล็กมากอยู่ตลอด

การตั้งค่าแบบ multi-GPU ซับซ้อนกว่า สามารถช่วยกับโมเดลขนาดใหญ่ได้ แต่ประสิทธิภาพขึ้นอยู่กับการรองรับ backend, interconnect, การแบ่ง layer และสมดุลของหน่วยความจำ คำแนะนำบนเว็บแบบเรียบง่ายควรหลีกเลี่ยงการรับประกันว่า GPU สองตัวจะทำงานเหมือนพูลหน่วยความจำขนาดใหญ่ที่สมบูรณ์แบบหนึ่งเดียวโดยอัตโนมัติ ควรอธิบายผลลัพธ์ของ multi-GPU ว่าเป็นขั้นสูงและมีความเชื่อมั่นจำกัด เว้นแต่ว่าข้อมูล backend จะเฉพาะเจาะจง

อะไรสำคัญนอกเหนือจาก VRAM?

Memory bandwidth ส่งผลต่อความเร็ว token เพราะ inference ต้องอ่าน model weights ซ้ำ ๆ การรองรับซอฟต์แวร์ส่งผลว่าโมเดลจะรันได้หรือไม่ ความสุกงอมของ driver, การรองรับ CUDA หรือ ROCm, Metal บน Apple Silicon, inference backend, รูปแบบไฟล์ quantization และสมดุล CPU/RAM ล้วนสำคัญ GPU ไม่ได้ถูกเลือกอย่างโดดเดี่ยว แต่มันอยู่ภายในสแตก local inference ที่สมบูรณ์

นี่คือเหตุผลที่หน้าว่าด้วย GPU ที่ดีที่สุดไม่ควรกลายเป็นคู่มือซื้อการ์ดจอทั่วไป ควรจับคู่คลาส GPU กับผลลัพธ์ของ Local LLM: ขนาดโมเดลใดที่ใส่ได้, quantization แบบใดที่สมจริง, กรณีใช้งานใดที่ใช้ได้สบาย และเมื่อใดที่ผู้ใช้ควรเลือกโมเดลเล็กลงแทนการซื้อฮาร์ดแวร์เพิ่ม

FAQ

NVIDIA ดีกว่าสำหรับ Local LLMs หรือไม่? สำหรับผู้ใช้จำนวนมาก ใช่ เพราะการรองรับ CUDA กว้าง และโปรเจกต์ inference จำนวนมากปรับแต่งให้เหมาะกับ NVIDIA ก่อน

VRAM 24GB เพียงพอหรือไม่? เป็นระดับผู้บริโภคที่แข็งแกร่งและเพียงพอสำหรับโมเดล Local แบบ quantized จำนวนมาก แต่ไม่ใช่สำหรับโมเดลขนาด frontier-size ทุกตัว

ฉันควรซื้อ GPU โดยดูเฉพาะจำนวนพารามิเตอร์หรือไม่? ไม่ควร ตรวจสอบ quantization, ความยาว context, bandwidth, การรองรับ backend และพื้นที่เผื่อหน่วยความจำ

กลับไปที่เครื่องมือ Local LLM