เช็คสเปกเครื่องก่อนเลือกโมเดล
คำถามแรกของทุกคนที่อยากลอง local LLM คือ "เครื่องที่มีอยู่ไหวไหม" ข่าวดีคือใช้เวลาเพียง 5 นาทีก็รู้คำตอบ และไม่ต้องเป็นสายฮาร์ดแวร์ก็เข้าใจได้ เพราะทั้งหมดขึ้นอยู่กับตัวเลขเพียงตัวเดียว
memory คือทุกอย่าง
ตอนทำงาน โมเดลทั้งตัวต้องโหลดเข้าไปอยู่ในหน่วยความจำ (Memory) ของเครื่อง โมเดลขนาดใหญ่จะมีขนาดไฟล์ใหญ่ตามไปด้วย ส่วนความจุที่เครื่องจะรองรับได้นั้น ขึ้นอยู่กับหน่วยความจำที่มีอยู่ในเครื่อง ซึ่งแบ่งเป็นสามแบบหลัก
- RAM หน่วยความจำหลักของเครื่อง ใช้เมื่อรันด้วย CPU ล้วน
- VRAM หน่วยความจำบนการ์ดจอ เร็วกว่ามาก โมเดลที่เข้าไปนั่งใน VRAM ได้ทั้งตัวจะตอบไวสุด
- unified memory ในเครื่อง Mac เป็น memory ก้อนเดียวที่ CPU กับ GPU ใช้ร่วมกัน จุดเด่นคือมีให้เลือกความจุสูงมาก (บท 11 ว่ากันเต็มๆ)
สำหรับการ์ดจอ Ollama รองรับ NVIDIA ตั้งแต่ยุค GTX 900 เรื่อยมาจนถึง RTX 50 ส่วน GPU ของ Apple ใช้ผ่าน Metal และ AMD Radeon ใช้ผ่าน ROCm กับ Vulkan การ์ดที่คนทั่วไปใช้เล่นเกมกันในช่วงไม่กี่ปีนี้จึงใช้ได้แทบทั้งหมด
สมการคำนวณหน่วยความจำ
กติกาที่ใช้ตัดสินทุกอย่างในเล่มนี้มีบรรทัดเดียว
ขนาดไฟล์โมเดล + memory ที่ต้องเผื่อ ต้องไม่เกิน memory ของเครื่อง
memory ที่ต้องเผื่อคือส่วนที่โมเดลใช้จำบทสนทนา เรียกว่า context (ความจำระยะสั้นของบทสนทนา) ยิ่งตั้งให้จำบทสนทนาได้นานเท่าไร ก็ยิ่งใช้ memory มากขึ้น เอกสารของ Ollama ระบุชัดว่าการเพิ่ม context length ทำให้โมเดลใช้ memory มากขึ้น และ Ollama ก็กำหนดค่าเริ่มต้นตามขนาด VRAM ของเครื่อง โดยการ์ดที่มี VRAM ต่ำกว่า 24GB จะตั้ง context ไว้ที่ 4K ช่วง 24-48GB ตั้งไว้ที่ 32K และตั้งแต่ 48GB ขึ้นไปตั้งไว้ที่ 256K
ถ้าโมเดลใหญ่เกินหน่วยความจำที่ว่างอยู่ หน่วยความจำจะเต็ม โมเดลจะไม่หยุดทำงานทันที แต่ระบบจะสลับการประมวลผลไปมาระหว่างการ์ดจอกับ RAM ซึ่งทำให้ความเร็วในการตอบช้าลงอย่างเห็นได้ชัด สามารถเช็คสถานะการประมวลผลนี้ได้ผ่านคำสั่ง (ดูรายละเอียดในบท 5)

ความคิดเห็น
ยังไม่มีความคิดเห็น
เป็นคนแรกได้เลย