ข้ามไปยังเนื้อหาหลัก
ลด 50% ทุกแพลน เวลาจำกัด เริ่มต้นที่ $2.48/mo
11 min left
AI และ Machine Learning

หน่วยความจำรวม (Unified Memory) คืออะไร และทำไมมันถึงทำให้มินิพีซีรันโมเดล 235B ได้?

B โดย Brian 11 นาทีในการอ่าน อัปเดตเมื่อ today
Unified memory explained: discrete GPU memory requires a copy across PCIe between system RAM and VRAM, while unified memory is one shared pool the CPU and GPU both access directly

มินิพีซีหน่วยความจำรวมราคาประมาณ 2,000 ถึง 3,000 ดอลลาร์สามารถโหลดโมเดลระดับ 235B ที่ถูกควอนไทซ์อย่างหนักบางรุ่นซึ่งไม่สามารถใส่ลงใน GPU ระดับ H100 ตัวเดียว.

ฟังดูสวนทางกัน ดังนั้นมาเปรียบเทียบให้ชัดเจน การ์ดราคาแพงเร็วกว่ามาก แต่หน่วยความจำ GPU ในตัวมันเล็กกว่า กล่องเล็กๆ บนโต๊ะอาจมีพูลหน่วยความจำที่ใช้ร่วมกันขนาดใหญ่กว่า ทำให้โมเดลโหลดได้แม้การสร้างข้อความจะช้า

คำตอบคำเดียวสำหรับคำถามว่าอย่างไรคือ "หน่วยความจำรวม" มันถูกพิมพ์ไว้บนสเปคของมินิพีซี AI และ Mac รุ่นใหม่จำนวนมากเป็นตัวเลขเด่น ("หน่วยความจำรวม 128 GB") และแทบไม่มีใครอธิบายว่ามันทำอะไรจริงๆ นั่นคือหน้าที่ของบทความนี้ เมื่ออ่านจบคุณจะรู้ว่าหน่วยความจำรวมคืออะไร ทำไมมันถึงทำให้เครื่องเล็กๆ วิ่ง รันโมเดลที่แต่ก่อนต้องใช้เซิร์ฟเวอร์ทั้งแร็ค และข้อแม้ที่ไม่มีใครใส่ไว้ในหัวข้อข่าว: มันรันโมเดลนั้นได้ช้า

สรุปสั้น ๆ

  • หน่วยความจำรวมคือพูลหน่วยความจำทางกายภาพเดียวที่ CPU และ GPU ในตัวของชิปใช้ร่วมกันแทนที่จะเป็น VRAM ขนาดเล็กที่แยกต่างหากของการ์ดจอแยกซึ่งอยู่ข้างๆ RAM ระบบที่แยกออกไปของคุณ
  • พูลที่ใช้ร่วมกันนั้นมีขนาดใหญ่ และ GPU มักจะเข้าถึงหน่วยความจำได้มากกว่าขีดจำกัด VRAM คงที่ของการ์ดแยกมากแม้ว่าปริมาณที่ใช้ได้จริงจะขึ้นอยู่กับแพลตฟอร์ม การตั้งค่าเฟิร์มแวร์ ระบบปฏิบัติการ และรันไทม์ ดังนั้นคำถามแรกจึงกลายเป็นว่า โมเดลที่ควอนไทซ์นี้ใส่ลงในหน่วยความจำที่ใช้ได้หรือไม่ พูล 128GB สามารถใส่โมเดลที่การ์ดจอ 24GB หรือ 32GB ไม่มีทางใส่ได้
  • ข้อแม้อยู่ที่ความเร็ว ไม่ใช่ขนาด หน่วยความจำรวมเคลื่อนย้ายข้อมูลช้ากว่า VRAM ของการ์ดแยกมาก โมเดลใหญ่รันได้ แค่สร้างโทเคนช้า หน่วยความจำรวมทำให้คุณรันโมเดลใหญ่ได้ ไม่ใช่รันได้เร็ว
  • "รวม" ไม่ได้หมายถึงสิ่งเดียว เวอร์ชันของ Apple มองไม่เห็นสำหรับผู้ใช้เป็นส่วนใหญ่ ส่วนเวอร์ชันของ AMD เปิดให้ปรับแต่งได้มากกว่า เพราะการตั้งค่าเฟิร์มแวร์และไดรเวอร์สามารถส่งผลต่อปริมาณหน่วยความจำที่ถูกจองไว้ให้ หรือที่ใช้งานได้จริงโดย GPU และหน่วยความจำที่มากกว่าไม่ได้แปลว่าเร็วกว่า

หน่วยความจำรวมคืออะไร?

ลองนึกภาพสองระบบ การ์ดจอแยกมีหน่วยความจำของตัวเอง (VRAM) ติดตั้งอยู่ข้างโปรเซสเซอร์โดยตรง เร็วแต่มีขนาดเล็ก RAM ระบบของคุณเป็นพูลที่สอง แยกต่างหาก ซึ่ง CPU ใช้งาน การจะรันโมเดลบน GPU ข้อมูลต้องถูกคัดลอกจาก RAM ระบบผ่านบัส PCIe ไปยัง VRAM ก่อน สองพูล หนึ่งขั้นตอนการคัดลอก

หน่วยความจำรวมทิ้งการแยกนั้นไป มันคือพูลหน่วยความจำทางกายภาพเดียวที่ CPU และ GPU ในตัวของชิปใช้ร่วมกันทั้งคู่ ทำให้ GPU ทำงานจากพูลที่ใช้ร่วมกันแทนที่จะพึ่งพากล่อง VRAM ขนาดเล็กที่แยกต่างหาก บนแพลตฟอร์มอย่าง Apple Silicon สิ่งนี้ยังหลีกเลี่ยงขั้นตอนการคัดลอกผ่าน PCIe แบบเดิมด้วย บทความเรื่องสถาปัตยกรรมของ Apple เอง อธิบายว่ามันคือ CPU และ GPU ที่ "ทำงานบนหน่วยความจำเดียวกัน" โดยไม่ต้องคัดลอกข้อมูลผ่านบัส PCIe หนึ่งพูล ไม่มีการคัดลอก

พูลที่ใช้ร่วมกันมักเป็นหน่วยความจำ LPDDR5X ที่บัดกรีติดกับแพ็กเกจ ซึ่งเป็นสิ่งที่ทำให้มันทั้งใหญ่และอยู่ใกล้กับโปรเซสเซอร์ได้ ตัวอย่างเด่นในตอนนี้คือ Apple Silicon Mac ระบบ Strix Halo ของ AMD ที่สร้างขึ้นรอบชิปอย่าง Ryzen AI Max+ 395 และ DGX Spark ของ Nvidia แพลตฟอร์มสำหรับนักพัฒนา Ryzen AI Halo ของ AMD ระบุหน่วยความจำ LPDDR5x ขนาด 128GB ที่ความเร็ว 256GB/s ในขณะที่ DGX Spark ของ Nvidia ระบุหน่วยความจำระบบรวม LPDDR5x ขนาด 128GB ที่ความเร็ว 273GB/s

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

หมายเหตุเรื่อง "เทียบกับ VRAM": คนมักถามว่าหน่วยความจำรวมคือ VRAM หรือไม่ ไม่เชิง VRAM คือหน่วยความจำกราฟิกเฉพาะบนการ์ดแยก เร็วและแยกต่างหาก หน่วยความจำรวมคือพูลที่ใช้ร่วมกันเพียงหนึ่งเดียวที่ทำหน้าที่ทั้ง VRAM และ RAM ระบบ มันแลกความเร็วดิบของการ์ดแยกกับขนาดและความสามารถในการข้ามขั้นตอนการคัดลอก

ทำไมโมเดลถึงต้องใส่ลงในหน่วยความจำได้พอดี?

Comparison showing a 235B-class model failing to fit in 24GB GPU VRAM or 80-94GB H100-class GPU memory, but fitting in a 128GB unified memory pool

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

นี่คือคานงัดที่หน่วยความจำรวมดึงออกมาใช้ การ์ดจอสำหรับผู้บริโภคจำนวนมากมี VRAM 24GB หรือน้อยกว่า และแม้แต่การ์ดผู้บริโภคระดับสูงสุดตัวเดียวก็อยู่ที่ประมาณ 32GB โมเดลขนาด 7 หมื่นล้านหรือ 2.35 แสนล้านพารามิเตอร์ใหญ่เกินไปสำหรับสิ่งนั้นมาก เลขคณิต 4-บิตดิบสำหรับพารามิเตอร์ 235B เริ่มต้นที่ประมาณ 118GB ก่อนที่จะรวมโอเวอร์เฮดของฟอร์แมต บัฟเฟอร์รันไทม์ และหน่วยความจำบริบท ในทางปฏิบัติ ไฟล์ที่ดาวน์โหลดได้จริงแตกต่างกันมาก เช่น บิลด์ Qwen3-235B-A22B Q4_K_M ของ Ollama ถูกระบุไว้ที่ 142GB ในขณะที่การควอนไทซ์บิตต่ำที่ก้าวร้าวมากขึ้นอาจใกล้เคียงกับช่วงที่เครื่องหน่วยความจำรวม 128GB สามารถรองรับได้มากกว่า ดังนั้นการ์ดที่สร้างมาเพื่องานนี้จึงหมดพื้นที่ก่อนที่จะเริ่มได้ด้วยซ้ำ (วิธีคำนวณตัวเลขหน่วยความจำเหล่านั้น พารามิเตอร์คูณไบต์ต่อน้ำหนักบวกโอเวอร์เฮดที่ขนาดไฟล์ซ่อนไว้ เป็นหัวข้อของตัวมันเอง และ บทความคู่กันเรื่องคณิตศาสตร์ของการควอนไทซ์ ทำเลขคณิตนั้นให้)

พูลรวม 128GB เปลี่ยนคำตอบของคำถามเดียว: บิลด์ที่ควอนไทซ์นี้ใส่ได้พอดีหรือไม่หลังจากที่ระบบปฏิบัติการ รันไทม์ KV cache และขีดจำกัดการจัดสรร GPU กินส่วนแบ่งของมันไปแล้ว สำหรับการควอนไทซ์ระดับ 235B ที่ก้าวร้าวบางแบบ คำตอบคือใช่ นั่นคือเหตุผลที่กล่องหน่วยความจำรวมขนาดกะทัดรัดบางครั้งสามารถโหลดโมเดลที่ GPU ที่มี VRAM เล็กกว่าทำไม่ได้ มันไม่ได้ทรงพลังกว่า มันแค่มีพื้นที่ที่ใหญ่กว่าสำหรับใส่โมเดล

นี่คือสิ่งแรกที่พาดหัวข่าวพูดถูกแต่ไม่ได้อธิบาย ขนาดของพูล ไม่ใช่พลังดิบ คือสิ่งที่ตัดสินว่าโมเดลจะรันได้หรือไม่

ทำไมหน่วยความจำรวมถึงช้ากว่าการ์ดจอ?

Diagram showing a 235B-class model failing to fit in 24GB GPU VRAM or 80-94GB H100-class GPU memory, but fitting in a 128GB unified memory pool at the cost of speed

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

และแบนด์วิดท์คือจุดที่หน่วยความจำรวมเสียเปรียบพอดี พูล Strix Halo ของ AMD ทำงานที่ 256GB/s ตามสเปก และการทดสอบอิสระที่ llm-tracker.info วัดได้ประมาณ 212GB/s ในทางปฏิบัติ DGX Spark อยู่ที่ 273GB/s ในทางตรงกันข้าม การ์ดจอแยกระดับสูงเคลื่อนย้ายข้อมูลเร็วกว่าหลายเท่า เพราะ VRAM เฉพาะของมันถูกสร้างมาเพื่อสิ่งนั้น ดังนั้นเมื่อโมเดลใส่ลงใน ทั้งสอง ทั้งกล่องหน่วยความจำรวมและการ์ดแยก การ์ดแยกจะสร้างโทเคนได้เร็วกว่าอย่างเห็นได้ชัด โมเดลเดียวกัน ผลลัพธ์เดียวกัน ความเร็วต่างกันมาก

สำหรับโมเดลแบบ dense กฎง่ายๆ ที่มีประโยชน์คือ:

โทเคนต่อวินาที ≈ แบนด์วิดท์หน่วยความจำ ÷ ขนาดโมเดลในหน่วยความจำ

มันเป็นแนวทางเชิงทิศทาง ไม่ใช่เกณฑ์มาตรฐาน แต่มันอธิบายการแลกเปลี่ยน: น้ำหนักที่พักอยู่น้อยกว่าหรือแบนด์วิดท์ที่สูงกว่ามักหมายถึงการถอดรหัสที่เร็วกว่า สำหรับโมเดล MoE อย่านำกฎนี้ไปใช้กับจำนวนพารามิเตอร์ทั้งหมดโดยตรง ความจุยังคงขึ้นอยู่กับน้ำหนักที่จัดเก็บทั้งหมด แต่ความเร็วต่อโทเคนขึ้นอยู่กับเส้นทางที่ถูกกระตุ้นใช้งาน โอเวอร์เฮดของการกำหนดเส้นทาง พฤติกรรมของแคช และการใช้งานจริงมากกว่า

มีความละเอียดอ่อนอีกอย่างหนึ่ง แล้วจะปล่อยผ่าน: คำขอหนึ่งมีสองขั้นตอน การอ่านพรอมป์ของคุณ (prefill) พึ่งพาการประมวลผล การสร้างคำตอบ (decode) พึ่งพาแบนด์วิดท์ ส่วนที่ช้าที่คุณรู้สึกได้ คือคำที่ปรากฏขึ้นทีละคำ นั่นคือส่วนที่ผูกติดกับแบนด์วิดท์

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

หน่วยความจำรวมทั้งหมดเหมือนกันหรือไม่?

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

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

ข้อติดขัดในทางปฏิบัติของฝั่ง AMD: ปริมาณของพูลที่ใช้งานได้จริงสำหรับโมเดลขึ้นอยู่กับการตั้งค่าเฟิร์มแวร์และระบบปฏิบัติการ คำถามที่พบบ่อยเกี่ยวกับ Variable Graphics Memory ของ AMD อธิบายว่าการจัดสรรนั้นทำงานอย่างไร สรุปสั้นๆ คือกล่อง 128GB ไม่ได้มอบ 128GB ทั้งหมดให้ GPU และปริมาณที่ใช้ได้ขึ้นอยู่กับการตั้งค่า VGM หน่วยความจำระบบที่ถูกจอง ระบบปฏิบัติการ และรันไทม์ วางแผนโดยอิงจากหน่วยความจำที่ใช้ได้จริง ไม่ใช่ตัวเลขบนฉลาก

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

มีอีกกรณีหนึ่งที่ควรระบุไว้ เพราะมันทำให้คนสับสนบนเครื่องที่มีพูลขนาดใหญ่เหล่านี้: โมเดล Mixture-of-Experts โมเดลอย่าง Qwen3-235B-A22B มีพารามิเตอร์ทั้งหมด 235 พันล้านตัว แต่กระตุ้นใช้งานเพียงประมาณ 22 พันล้านตัวต่อโทเคน มันน่าจะทำให้คิดไปว่าต้องใช้หน่วยความจำแค่สำหรับส่วนที่ทำงานอยู่เท่านั้น สำหรับการอนุมานในหน่วยความจำแบบปกติ ไม่ใช่แบบนั้น น้ำหนักทั้ง 235 พันล้านตัวยังคงต้องอยู่ในที่ที่รันไทม์สามารถใช้งานได้ เพราะโทเคนใดๆ ก็อาจถูกส่งไปยังผู้เชี่ยวชาญคนใดก็ได้ มีเพียงการประมวลผลต่อโทเคนเท่านั้นที่ลดลง ไม่ใช่ความต้องการด้านความจุ ความแตกต่างนั้นคือจุดที่พูลขนาดใหญ่ของหน่วยความจำรวมพิสูจน์คุณค่าของมันพอดี และ บทความคู่กันเรื่องคณิตศาสตร์ของการควอนไทซ์ อธิบายอย่างละเอียดว่าตัวเลขเหล่านั้นหมายถึงอะไร

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

หน่วยความจำรวมเหมือนกับ VRAM หรือไม่?

ไม่ VRAM คือหน่วยความจำความเร็วสูงเฉพาะที่สร้างไว้ในการ์ดจอแยก แยกออกจาก RAM ระบบของคุณ หน่วยความจำรวมคือพูลที่ใช้ร่วมกันเพียงหนึ่งเดียวที่ทั้ง CPU และ GPU ใช้งาน ทำหน้าที่ทั้ง VRAM และ RAM ระบบไปพร้อมกัน หน่วยความจำรวมมักมีขนาดใหญ่กว่าแต่ช้ากว่า VRAM ของการ์ดแยก และมันข้ามขั้นตอนการคัดลอกข้อมูลระหว่างสองพูล

ทำไมโมเดลท้องถิ่นของฉันถึงช้าทั้งๆ ที่ใส่ในหน่วยความจำได้พอดี?

เพราะการใส่ได้พอดีกับการรันได้เร็วเป็นคนละเรื่องกัน โมเดลจะโหลดได้หรือไม่ขึ้นอยู่กับความจุหน่วยความจำ ส่วนความเร็วในการสร้างข้อความขึ้นอยู่กับแบนด์วิดท์หน่วยความจำ หน่วยความจำรวมมีความจุมากมายแต่แบนด์วิดท์ต่ำกว่าการ์ดจอแยกมาก ดังนั้นโมเดลที่ใส่ได้อย่างสบายๆ ก็ยังอาจสร้างโทเคนได้ช้า สำหรับโมเดลแบบ dense ความสัมพันธ์คร่าวๆ คือโทเคนต่อวินาที ≈ แบนด์วิดท์ ÷ ขนาดโมเดล สำหรับโมเดล MoE ความจุยังคงขึ้นอยู่กับน้ำหนักที่จัดเก็บทั้งหมด แต่ความเร็วขึ้นอยู่กับเส้นทางที่ถูกกระตุ้นใช้งานและการใช้งานรันไทม์มากกว่า

ถ้าคุณมีหน่วยความจำรวมแล้ว ยังต้องใช้ GPU อีกไหม?

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

ทำไมมินิพีซีถึงรันโมเดลที่ต้องใช้ GPU ระดับดาต้าเซ็นเตอร์ได้?

เพราะคอขวดสำหรับการโหลดโมเดลคือความจุหน่วยความจำ และมินิพีซีที่มีพูลรวมขนาดใหญ่สามารถมีหน่วยความจำโมเดลที่ใช้ได้มากกว่าการตั้งค่า GPU ตัวเดียวจำนวนมาก GPU สำหรับผู้บริโภคอาจมี VRAM 24 ถึง 32GB และ GPU ดาต้าเซ็นเตอร์ระดับ H100 ตัวเดียวมี 80 ถึง 94GB ในขณะที่ระบบหน่วยความจำรวมบางระบบโฆษณาพูลที่ใช้ร่วมกันขนาด 128GB น้ำหนักทั้งหมดของโมเดลต้องใส่ลงในที่ที่โปรเซสเซอร์เข้าถึงได้ พูลที่ใช้ร่วมกันขนาดใหญ่ใส่ได้ ส่วน VRAM เล็กที่เร็วใส่ไม่ได้ มินิพีซีไม่ได้ทรงพลังกว่า มันแค่มีพื้นที่

การใส่ได้พอดีคือชัยชนะ: ต้องใช้เท่าไรคือคำถามถัดไป

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

คำถามถัดไปตามธรรมชาติคือคำถามที่บทความนี้ผัดผ่อนมาตลอด: โมเดลที่กำหนดต้องใช้หน่วยความจำเท่าไรจริงๆ นั่นคือเลขคณิต: พารามิเตอร์ ไบต์ต่อน้ำหนัก ระดับการบีบอัดที่คุณเลือก และภาษีบริบทที่ขนาดไฟล์ซ่อนไว้ บทความคู่กันเรื่องการควอนไทซ์ GGUF, GPTQ, AWQ และ EXL2 อธิบายเลขคณิตนั้นอย่างละเอียด และคุ้มค่าที่จะทำก่อนที่คุณจะเลือกขนาดเครื่องหรือเลือกโมเดล

Share

บทความเพิ่มเติมจากบล็อก

อ่านต่อ

GGUF, GPTQ, AWQ, EXL2 quantization formats compared: how model weights, runtime overhead, and KV cache stack up in memory
AI และ Machine Learning

GGUF, GPTQ, AWQ, EXL2: รูปแบบการควอนไทซ์ LLM ใช้หน่วยความจำจริงๆ อย่างไร

เปรียบเทียบการใช้หน่วยความจำของ GGUF, GPTQ, AWQ และ EXL2 ตั้งแต่ขนาดไฟล์ Q4_K_M ไปจนถึงการเติบโตของ KV cache และโอเวอร์เฮดของรันไทม์

Brian 12 นาทีในการอ่าน
AMD trillion-parameter mini PC cluster: four Framework Desktop nodes with Ryzen AI Max+ 395 and unified memory cabled together, running Kimi K2.5 for local inference
AI และ Machine Learning

AMD สร้างซูเปอร์คอมพิวเตอร์ AI ล้านล้านพารามิเตอร์จากมินิพีซี

AMD รันโมเดลขนาด 1 ล้านล้านพารามิเตอร์บนมินิพีซีสี่เครื่อง เรื่องจริงคือกลลวงทางสถาปัตยกรรมที่ทำให้มันเป็นจริง และการรอ 40 วินาทีถึง 4 นาทีที่สเปคชีตข้ามไป

Steve 11 นาทีในการอ่าน

พร้อมติดตั้งหรือยัง? เริ่มต้น $2.48/เดือน

คลาวด์อิสระ ตั้งแต่ปี 2008 AMD EPYC, NVMe, 40 Gbps คืนเงินภายใน 14 วัน