คำสำคัญ: dLLMs, NPU, การปรับปรุงการสุ่มตัวอย่าง, d-PLENA, GEMM
โมเดลภาษาขนาดใหญ่แบบแพร่กระจาย (dLLM) เป็นโมเดลภาษาขนาดใหญ่ที่ผสมผสานคุณลักษณะการกำจัดสัญญาณรบกวนแบบวนซ้ำของโมเดลแพร่กระจาย ซึ่งสามารถสร้างโทเค็นแบบขนานได้ อย่างไรก็ตาม ขั้นตอนการสุ่มตัวอย่างแสดงลักษณะการคำนวณที่แตกต่างอย่างชัดเจนจากชั้นทรานส์ฟอร์เมอร์ซึ่งมีเมทริกซ์คูณทั่วไป (GEMM) เป็นแกนกลาง

- Beyond GEMM-Centric NPUs: Enabling Efficient Diffusion LLM Sampling
- https://arxiv.org/pdf/2601.20706
- 9000 คำ อ่าน 30 นาที, พอดแคสต์ 26 นาที
การวิเคราะห์ประสิทธิภาพบนหน่วยประมวลผลกราฟิก (GPU) สมัยใหม่แสดงให้เห็นว่า เวลาที่ใช้ในขั้นตอนการสุ่มตัวอย่างสามารถคิดเป็น 70% ของความล่าช้ารวมในการอนุมานของโมเดล ปรากฏการณ์นี้เกิดจากการอ่านเขียนหน่วยความจำจำนวนมากจากค่าลอจิตของคำศัพท์ทั้งหมด การเลือกโทเค็นที่ใช้การลดขนาดข้อมูล และการอัปเดตมาสก์แบบวนซ้ำ
กระบวนการเหล่านี้ต้องการหน่วยความจำแบบสุ่มเข้าถึงโดยตรงแบบสแตติก (SRAM) บนชิปที่มีความจุสูง และเกี่ยวข้องกับการเข้าถึงหน่วยความจำที่ไม่เป็นระเบียบ ซึ่งหน่วยประมวลผลประสาทเทียม (NPU) แบบดั้งเดิม (ฮาร์ดแวร์เร่งความเร็วเฉพาะทางที่ออกแบบมาสำหรับการคำนวณเครือข่ายประสาทเทียม) มีความยากลำบากในการประมวลผลการเข้าถึงประเภทนี้อย่างมีประสิทธิภาพ เพื่อแก้ไขปัญหานี้ เราได้ระบุชุดคำสั่งหลักที่สถาปัตยกรรม NPU ต้องได้รับการปรับปรุงเฉพาะทางสำหรับการสุ่มตัวอย่าง dLLM

รูปที่ 3 | แผนภาพการออกแบบสถาปัตยกรรมหน่วยประมวลผลประสาทเทียม (NPU) รูปแบบใหม่สำหรับการสุ่มตัวอย่างแบบแพร่กระจาย สถาปัตยกรรมนี้เป็นแกนหลักของการออกแบบ d-PLENA ใช้ลำดับชั้นการจัดเก็บข้อมูลแบบผสมผสานความแม่นยำที่แยกส่วน แบ่ง SRAM เป็นเวกเตอร์, ทศนิยม, จำนวนเต็ม พร้อมด้วยหน่วยคำนวณการลดขนาดและหน่วยคำนวณแบบองค์ประกอบต่อองค์ประกอบเฉพาะทาง เพื่อปรับปรุงการดำเนินการที่ไม่ใช่ GEMM ในการสุ่มตัวอย่างอย่างตรงเป้าหมาย และยังใช้ตัวถอดการควอนไทซ์เฉพาะทางเพื่อให้เกิดการไหลของข้อมูลที่มีประสิทธิภาพระหว่าง HBM และหน่วยความจำบนชิป ซึ่งสอดคล้องกับลักษณะการเข้าถึงหน่วยความจำของการสุ่มตัวอย่าง
การออกแบบที่นำเสนอในบทความนี้ใช้ไพรมิทีฟเวกเตอร์ที่ไม่ใช่เมทริกซ์คูณทั่วไปแบบน้ำหนักเบา กลยุทธ์การนำหน่วยความจำกลับมาใช้ใหม่แบบ in-place และลำดับชั้นการจัดเก็บข้อมูลแบบผสมผสานความแม่นยำที่แยกส่วน
ภายใต้โหนดเทคโนโลยีนาโนกระบวนการผลิตเดียวกัน มาตรการปรับปรุงเหล่านี้สามารถเร่งความเร็วได้สูงสุด 2.53 เท่า เมื่อเทียบกับหน่วยประมวลผลกราฟิก NVIDIA RTX A6000 นอกจากนี้เรายังเปิดเผยซอร์สโค้ดสำหรับการจำลองที่แม่นยำต่อรอบเวลาและโค้ดสำหรับการตรวจสอบระดับการถ่ายโอนรีจิสเตอร์หลังการสังเคราะห์ (RTL, ระดับนามธรรมของการออกแบบฮาร์ดแวร์ ซึ่งอธิบายการถ่ายโอนและการประมวลผลข้อมูลระหว่างรีจิสเตอร์) เพื่อยืนยันว่าการออกแบบนี้มีความเท่าเทียมกันทางหน้าที่กับการใช้งาน PyTorch ของ dLLM ที่มีอยู่
ศูนย์ ปัญหาสำคัญ
สองคำถามต่อไปนี้จะเจาะลึกจากสองมิติคือ ความสามารถในการปรับตัวของวิวัฒนาการอัลกอริทึม และ ความเป็นไปได้ในการนำไปใช้งานจริง ชี้ตรงไปที่ข้อจำกัดและความท้าทายในอนาคตที่อาจเกิดขึ้นจากการออกแบบในบทความ
คำถามที่หนึ่ง: ความท้าทายด้านความสามารถในการขยายและความเป็นทั่วไปของการออกแบบสถาปัตยกรรม
สถาปัตยกรรม d-PLENA ที่เสนอในบทความสามารถปรับปรุงประสิทธิภาพของขั้นตอนการสุ่มตัวอย่าง dLLM ได้อย่างมีนัยสำคัญผ่าน ISA ที่กำหนดเองและหน่วยฮาร์ดแวร์เฉพาะทาง (เช่น Reduction Unit, FP Unit เป็นต้น) อย่างไรก็ตาม สถาปัตยกรรมนี้มีความเฉพาะทางสูงกับกระบวนการ “Softmax→Top-k→Masked Update” ในการสุ่มตัวอย่าง dLLM ในปัจจุบัน ด้วยวิวัฒนาการของอัลกอริทึมการสุ่มตัวอย่าง dLLM ในอนาคต (เช่น การกำหนดเวลาสัญญาณรบกวนที่ซับซ้อนมากขึ้น การสุ่มตัวอย่างหลายตัวเลือก ข้อจำกัดเอาต์พุตที่มีโครงสร้าง เป็นต้น) การออกแบบฮาร์ดแวร์ในปัจจุบันอาจสูญเสียความเป็นทั่วไปเนื่องจากมีความเฉพาะทางมากเกินไปหรือไม่? บทความ【ไม่ได้กล่าวถึง】วิธีการสนับสนุนการอัปเดตแบบไดนามิกของอัลกอริทึมการสุ่มตัวอย่างหรือการดำเนินการที่ไม่เป็นระเบียบ เช่น Top-k แบบแบ่งชั้น การสุ่มตัวอย่างซ้ำแบบวนซ้ำ เป็นต้น ซึ่งหมายความว่าสถาปัตยกรรมนี้เมื่อเผชิญกับ【การวนซ้ำของอัลกอริทึมจำเป็นต้องปรับโครงสร้างฮาร์ดแวร์หรือชุดคำสั่งบ่อยครั้ง】หรือไม่?
ปรัชญาการออกแบบหลักของสถาปัตยกรรม d-PLENA ที่เสนอในบทความ ไม่ได้ถูกตรึงอยู่กับอัลกอริทึมการสุ่มตัวอย่างเฉพาะใด ๆ ในปัจจุบัน แต่เป็นการระบุและปรับปรุงฮาร์ดแวร์สำหรับ รูปแบบการคำนวณพื้นฐานและไม่เปลี่ยนแปลงของอัลกอริทึม ในการสุ่มตัวอย่างแบบแพร่กระจาย
ผู้เขียนระบุอย่างชัดเจนว่า ไม่ว่าอัลกอริทึมการสุ่มตัวอย่างจะวิวัฒนาการอย่างไร การดำเนินการหลัก – การสแกนคำศัพท์ (vocabulary scanning), การลดขนาดข้อมูล (reduction), การเรียงลำดับ (sorting) และการเลือกโดยใช้มาสก์ (masked selection) – ยังคงไม่เปลี่ยนแปลงโดยพื้นฐาน ดังนั้น สถาปัตยกรรมที่ปรับปรุงความเร็วสำหรับไพรมิทีฟพื้นฐาน (Primitives) เหล่านี้ จึงมีความทนทานต่ออัลกอริทึมโดยธรรมชาติ
โดยเฉพาะอย่างยิ่ง การขยาย ISA (เช่น V_RED_MAX_IDX, V_TOPK_MASK, V_SELECT_INT) ให้ คำสั่งพื้นฐานที่ยืดหยุ่นและสามารถประกอบกันได้ ไม่ใช่การตรึงไปที่ไปป์ไลน์อัลกอริทึมเฉพาะ ตัวอย่างเช่น คำสั่ง V_TOPK_MASK ใช้งานฟังก์ชันการเรียงลำดับ Top-k และการสร้างมาสก์ทั่วไป ในอนาคตหากอัลกอริทึมวิวัฒนาการเป็น Top-k แบบแบ่งชั้นหรือการเลือกที่มีน้ำหนัก 【เพียง】ต้องปรับเปลี่ยนตรรกะการควบคุมหรือวิธีการประกอบคำสั่ง โดยไม่จำเป็นต้องเปลี่ยนเส้นทางข้อมูลฮาร์ดแวร์ระดับล่าง การสนับสนุนฮาร์ดแวร์ของ FPU สำหรับฟังก์ชันเหนือคณิตศาสตร์ (เช่น ) ก็เพื่อตอบสนองความต้องการพื้นฐานของการแปลงการแจกแจงความน่าจะเป็นประเภทต่าง ๆ เช่นกัน
อย่างไรก็ตาม ผู้เขียนยอมรับว่าการออกแบบในปัจจุบันยังไม่สนับสนุนส่วนประกอบที่ซับซ้อน เช่น การสุ่มตัวอย่างสัญญาณรบกวนอุณหภูมิแบบ Gumbel-max โดยระบุไว้เป็นงานในอนาคต สิ่งนี้บ่งบอกถึงวิธีการขยายของสถาปัตยกรรม: ผ่านการขยายชุดคำสั่งที่จำกัดและควบคุมได้ เพื่อรองรับความต้องการอัลกอริทึมใหม่ ไม่ใช่การปรับโครงสร้างทั้งหมดใหม่ แนวคิดการออกแบบแบบ “ไพรมิทีฟพื้นฐาน + ชุดคำสั่งที่ขยายได้” นี้ สร้างสมดุลระหว่างความเป็นทั่วไปและประสิทธิภาพ โดยมีเป้าหมายเพื่อลดต้นทุนการปรับตัวที่เกิดจากการวนซ้ำของอัลกอริทึม ไม่ใช่กำจัดมัน ความท้าทายที่แท้จริงคือ หากในอนาคตมีกลไกการสุ่มตัวอย่างใหม่ที่ละทิ้งกระบวนทัศน์ “การลดขนาดข้อมูล-การเลือก” อย่างสมบูรณ์ สถาปัตยกรรมนี้อาจต้องการการปรับเปลี่ยนที่สำคัญมากขึ้น
คำถามที่สอง: การแลกเปลี่ยนระหว่างประสิทธิภาพพลังงานและประสิทธิภาพพื้นที่ในการนำไปใช้งานจริง
แม้ว่าบทความจะแสดงให้เห็นว่า d-PLENA ในสถานการณ์ในอุดมคติ (เช่น Vector SRAM ความจุสูง โหลดข้อมูลล่วงหน้าทั้งหมด) มีอัตราเร่งสูงถึง 2.53 เท่าเมื่อเทียบกับ GPU แต่การออกแบบของมันพึ่งพาหน่วยฮาร์ดแวร์เฉพาะทางจำนวนมาก (เช่น โมดูลการเรียงลำดับ Top-k ที่รองรับพื้นที่ O(k)) และโครงสร้าง SRAM ที่แยกส่วน (Vector/FP/Int SRAM) ในอุปกรณ์เอดจ์ที่มีทรัพยากรจำกัดหรือสถานการณ์พลังงานต่ำ การออกแบบนี้ยังคงมีข้อได้เปรียบหรือไม่? , ผู้เขียน【ไม่ได้เจาะลึก】ว่าเมื่อแบนด์วิธหน่วยความจำถูกจำกัด ความจุ SRAM มีจำกัด หรือขนาดแบทช์เล็ก สถาปัตยกรรมของมันยังคงรักษาอัตราส่วนประสิทธิภาพพลังงานสูงได้หรือไม่ และยังไม่ได้เปรียบเทียบกับ NPU เอดจ์ที่มีอยู่ เช่น Qualcomm Hexagon, Apple Neural Engine ซึ่งหมายความว่า d-PLENA เหมาะสมสำหรับการอนุมานบนคลาวด์มากกว่าการใช้งานบนอุปกรณ์ปลายทางหรือไม่?
บทความได้พิจารณาและให้เหตุผลเกี่ยวกับความเป็นไปได้ในสถานการณ์เอดจ์อย่างชัดเจนแล้ว กลยุทธ์หลักคือ ลำดับชั้นการจัดเก็บข้อมูลที่กำหนดค่าได้และการแบ่งบล็อกการคำนวณ ผู้เขียนได้ตั้งค่า “โหมดเอดจ์” โดยเฉพาะ โดยใช้พารามิเตอร์ V_chunk เพื่อควบคุมการโหลดข้อมูลคำศัพท์แบบแบ่งบล็อก ซึ่งลดการใช้งาน Vector SRAM จากสัดส่วนกับขนาดคำศัพท์ เป็นสัดส่วนกับขนาดบล็อกที่กำหนดค่าได้ V_chunk
การทดลองแสดงให้เห็นว่า แม้ในสถานการณ์ที่ความจุ SRAM มีน้อยมาก (<64kB) สถาปัตยกรรมยังคงทำงานได้ และเมื่อ V_chunk ถึงประมาณ 4k รายการ ประสิทธิภาพจะเข้าใกล้จุดอิ่มตัว ซึ่งหมายความว่า ไม่จำเป็นต้องมีหน่วยความจำบนชิปขนาดใหญ่ก็สามารถได้รับประสิทธิภาพพลังงานสูงได้

ตารางที่ 4 | ผลลัพธ์หลังการสังเคราะห์ภายใต้การกำหนดค่าความยาวเวกเตอร์ (VLEN) ต่างๆ พื้นที่ส่วนสเกลาร์คงที่ที่ 661 ตารางไมโครเมตร แสดงพื้นที่ส่วนเวกเตอร์และกำลังไฟฟ้ารวมสองตัวชี้วัด
ตารางนี้แสดงลักษณะพื้นที่ฮาร์ดแวร์และกำลังไฟฟ้าของ d-PLENA ภายใต้การกำหนดค่า VLEN ต่างๆ พื้นที่ส่วนเวกเตอร์และกำลังไฟฟ้ารวมเพิ่มขึ้นตาม VLEN อย่างเป็นเส้นตรง ในขณะที่พื้นที่ส่วนสเกลาร์ยังคงที่ นี่แสดงให้เห็นว่าการออกแบบสถาปัตยกรรมแบบแยกส่วนโมดูลมีความสามารถในการขยายที่ดี สามารถปรับ VLEN ตามความต้องการประสิทธิภาพและกำลังไฟฟ้าของแอปพลิเคชันจริงได้อย่างยืดหยุ่น เพื่อรองรับสถานการณ์ต่างๆ ตั้งแต่พลังงานต่ำบนอุปกรณ์ปลายทางไปจนถึงประสิทธิภาพสูง
เกี่ยวกับพื้นที่และประสิทธิภาพพลังงาน ผู้เขียนได้ให้ข้อมูลหลังการสังเคราะห์อย่างละเอียด (ดูตารางที่ 4) ข้อมูลแสดงให้เห็นว่า แม้พื้นที่เส้นทางข้อมูลเวกเตอร์จะเพิ่มขึ้นตาม VLEN อย่างเป็นเส้นตรง แต่พื้นที่ส่วนสเกลาร์และส่วนควบคุมยังคงที่และมีขนาดเล็ก ภายใต้การกำหนดค่า VLEN=512 (ความขนานระดับปานกลาง) กำลังไฟฟ้ารวมคือ 381.72mW ซึ่งอยู่ในขอบเขตที่ยอมรับได้สำหรับอุปกรณ์เอดจ์ สิ่งสำคัญคือ การออกแบบนี้ลดค่าใช้จ่ายด้านการควบคุมและการจัดตารางเวลาได้อย่างมากผ่านคำสั่งเฉพาะทาง (คิดเป็นเพียงประมาณ 12% ของรอบทั้งหมด) และลดการเคลื่อนย้ายข้อมูลผ่านการคำนวณแบบ in-place และการจัดเก็บข้อมูลแบบผสมผสานความแม่นยำ ซึ่งเป็นกุญแจสำคัญในการเพิ่มประสิทธิภาพพลังงานของอุปกรณ์เอดจ์
แน่นอนว่าบทความไม่ได้เปรียบเทียบโดยตรงกับ NPU เอดจ์เชิงพาณิชย์ นี่เป็นข้อจำกัด แต่หลักการออกแบบของมัน – การใช้คำสั่งที่ไม่ใช่ GEMM แบบน้ำหนักเบา การจัดเก็บข้อมูลแบบแยกส่วน การไหลของข้อมูลที่กำหนดค่าได้ เพื่อให้ตรงกับลักษณะที่ไม่เป็นระเบียบและความหนาแน่นของหน่วยความจำของงานสุ่มตัวอย่าง – ถูกเสนอขึ้นมาเพื่อแก้ไขปัญหาประสิทธิภาพที่ไม่เพียงพอของ NPU เอดจ์ที่มีอยู่ในงานประเภทนี้ ดังนั้น d-PLENA ไม่ได้แลกเปลี่ยนพื้นที่ด้วยประสิทธิภาพอย่างง่ายๆ แต่ผ่านการปรับเฉพาะทางในระดับสถาปัตยกรรมระบบ มันให้ตัวเลือกอัตราส่วนประสิทธิภาพพลังงานที่ดีกว่าสำหรับโหลดงานเฉพาะทางแต่สำคัญนี้ นั่นคือการสุ่มตัวอย่างแบบแพร่กระจาย ความเหมาะสมในการใช้งานบนอุปกรณ์ปลายทางขึ้นอยู่กับการแลกเปลี่ยนระหว่างความล่าช้าในการสุ่มตัวอย่าง กำลังไฟฟ้า และต้นทุนในสถานการณ์เฉพาะ และบทความได้พิสูจน์แล้วว่าการออกแบบของมันมีความยืดหยุ่นในการทำงานภายใต้ข้อจำกัดของทรัพยากร
หนึ่ง บทนำ
โมเดลภาษาขนาดใหญ่แบบออโตรีเกรสซีฟ (AR) ในขั้นตอนถอดรหัสถูกจำกัดโดยวิธีการสร้างโทเค็นแบบอนุกรม ซึ่งนำไปสู่ปัญหาคอขวดจากข้อจำกัดหน่วยความจำบนตัวเร่งความเร็วที่มีปริมาณงานสูง
โมเดลภาษาขนาดใหญ่แบบแพร่กระจาย (dLLM) [1] เกิดขึ้นเป็นทางเลือกที่มีศักยภาพสูง โดยการกำจัดสัญญาณรบกวนโทเค็นแบบขนานเพื่อกระจายความสัมพันธ์ระหว่างโทเค็น ซึ่งเพิ่มความขนานในการคำนวณ dLLM เพิ่มความหนาแน่นของการคำนวณในขั้นตอนถอดรหัสผ่านการปรับหลายโทเค็นร่วมกันในขั้นตอนการกำจัดสัญญาณรบกวนแบบวนซ้ำ และบรรเทาข้อจำกัดแบนด์วิธหน่วยความจำที่มีมาแต่เดิมในการถอดรหัสแบบออโตรีเกรสซีฟ

รูปที่ 1 | การแยกส่วนความล่าช้าของโมเดล LLaDA บน GPU NVIDIA RTX A6000 การทดสอบครอบคลุมพารามิเตอร์ที่หลากหลาย: ขนาดแบทช์ 1 ถึง 32, จำนวนขั้นตอนกำจัดสัญญาณรบกวน 1 ถึง 32, ความยาวการสร้าง 64 ถึง 1024 โทเค็น, ขนาด
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/22974
