Local LLM

ชิปแอปเปิ้ล

Apple Unified Memory ส่งผลต่อ LLM ในเครื่องอย่างไร

อธิบายว่าทำไมหน่วยความจำทั้งหมดบน Mac จึงไม่สามารถใช้เป็นหน่วยความจำวิดีโอได้ และวิธีเลือกรุ่นที่เหมาะสมสำหรับเครื่องขนาด 16GB, 32GB, 64GB และ 128GB

Unified memory ไม่ได้หมายความว่า “ใช้ได้ทุกรุ่น”

หน่วยความจำแบบรวมของ Apple Silicon ถูกใช้โดย CPU, GPU, ระบบ, แอพ และบริการพื้นหลัง ข้อได้เปรียบของมันคือ CPU และ GPU ใช้หน่วยความจำความเร็วสูงเหมือนกัน และประสบการณ์การใช้งานของเครื่องมือรุ่นท้องถิ่นจำนวนมากนั้นง่ายกว่ากราฟิกการ์ดอิสระแบบดั้งเดิม แต่ไม่ได้หมายความว่าจะสามารถใช้เป็นพื้นที่น้ำหนักรุ่นได้ทั้งหมด 32GB, 64GB หรือ 128GB

เมื่อเลือกโมเดลจริงๆ คุณจะต้องเว้นเผื่อไว้สำหรับ macOS, เบราว์เซอร์, IDE, บริการอนุมาน, แคช KV และเทนเซอร์ชั่วคราว หาก Mac ขนาด 32GB ชั่งน้ำหนักรุ่นเป็น 28GB อาจดูเหมือนว่าสามารถใส่ได้พอดี อย่างไรก็ตาม ในการใช้งานจริง หน่วยความจำอาจถูกบีบอัด สลับไปที่ดิสก์บ่อยครั้ง หรือความเร็วอาจลดลงอย่างมาก LLM ในพื้นที่จะประมาณพื้นที่ว่างในโหมด Mac อย่างระมัดระวังมากขึ้น

16GB, 32GB, 64GB และ 128GB เหมาะกับอะไร?

Mac ขนาด 16GB เหมาะสำหรับรุ่นขนาดเล็กและปริมาณน้อยถึงปานกลาง เช่น 3B, 4B และ 7B เวอร์ชัน Q4/Q5 สามารถตอบสนองการแชทแบบน้ำหนักเบา สรุป การแปล และความช่วยเหลือด้านโค้ดอย่างง่าย แต่ไม่เหมาะสำหรับบริบทที่ยาวหรือโมเดลภาพ 32GB สามารถครอบคลุมรุ่น 7B/14B ได้มากกว่า และยังลองใช้เวอร์ชันเชิงปริมาณที่เสถียรยิ่งขึ้นได้ ซึ่งเป็นจุดเริ่มต้นทั่วไปสำหรับนักพัฒนาทั่วไป

หลังจากความจุ 64GB ผู้ใช้สามารถลองใช้รุ่น MoE หรือ 30B ที่ใหญ่กว่าได้ ซึ่งยังเหลือพื้นที่สำหรับบริบทที่ยาวนานและการทำงานหลายอย่างพร้อมกัน 128GB เหมาะสำหรับขอบเขตการทดลองที่ใหญ่ขึ้น เช่น โมเดลขนาดใหญ่ที่มีปริมาณมาก การเปรียบเทียบเวอร์ชันหลายโมเดล บริบทที่ยาว และเวิร์กโฟลว์ภายในที่ซับซ้อน แต่ถึงแม้จะมีขนาด 128GB คุณก็ยังต้องดูน้ำหนักของโมเดล แคช KV แบ็กเอนด์ และความเร็ว

ความแตกต่างระหว่าง Metal, MLX และ llama.cpp

แบ็กเอนด์ทั่วไปบน Mac ได้แก่ llama.cpp Metal, MLX, Ollama และ LM Studio การเพิ่มประสิทธิภาพพื้นฐานของเครื่องมือเหล่านี้แตกต่างกัน และความเร็วของรุ่นเดียวกันบนแบ็กเอนด์ที่ต่างกันอาจแตกต่างกัน โมเดล MoE อาศัยการใช้งานเคอร์เนลเป็นพิเศษ และไม่สามารถสรุปความเร็วได้โดยใช้ปริมาณพารามิเตอร์เพียงอย่างเดียว

ดังนั้น tok/s ในหน้าคำแนะนำควรเป็นการประมาณหรือช่วงที่ระมัดระวัง ไม่ใช่คำมั่นสัญญาที่แน่นอน สิ่งที่ผู้ใช้ต้องการจริงๆ คือทิศทางในการคัดกรอง: รุ่นใดที่สามารถโหลดได้โดยมีความเป็นไปได้สูง รุ่นใดต้องการหน่วยความจำมากกว่า และรุ่นใดที่สามารถทำงานได้ตามทฤษฎีเท่านั้นแต่มีประสบการณ์ที่ไม่เสถียร

เหตุใด 128GB จึงควรปลดล็อครุ่นใหญ่

หาก 32GB, 64GB และ 128GB ให้คำแนะนำคุณภาพที่เหมือนกันเป็นอันดับแรก มักจะหมายความว่าอัลกอริทึมการเรียงลำดับไม่ได้ใช้ประโยชน์จากการเปลี่ยนแปลงความจุอย่างเหมาะสม หน่วยความจำรวมที่ใหญ่ขึ้นควรอนุญาตให้โมเดลที่มีการนับพารามิเตอร์สูงกว่า ปริมาณที่สูงกว่า หรือมีบริบทที่ยาวกว่าสามารถเข้าสู่ชุดตัวเลือกได้ โดยเฉพาะโมเดลที่มีคุณภาพเป็นหลักควรสะท้อนถึงสิ่งนี้

แต่ "ใหญ่กว่า" ไม่ใช่เป้าหมายเดียวเช่นกัน ระบบผู้แนะนำจำเป็นต้องจัดอันดับระหว่างคุณภาพของแบบจำลอง การจับคู่งาน โหมดการดำเนินการ ความมั่นใจด้านความเร็ว และส่วนต่างหน่วยความจำ Mac ขนาด 128GB สามารถใช้งานรุ่นที่ใหญ่กว่าได้ แต่ไม่ได้หมายความว่าควรแนะนำรุ่นที่ใหญ่ที่สุดแบบสุ่มสี่สุ่มห้าสำหรับทุกสถานการณ์ ตัวเลือกที่ดีที่สุดสำหรับการเขียนโปรแกรม งานทั่วไป ทางคณิตศาสตร์ และงานภาพอาจแตกต่างกัน

ผู้ใช้ Mac ควรเลือกอะไร?

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

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

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