ยุคของ Agentic LLM: สถาปัตยกรรมหน่วยความจำแบบ Heterogeneous ช่วยเพิ่มประสิทธิภาพการใช้พลังงานของ NPU ได้ถึง 2.3 เท่าได้อย่างไร?
ข้อมูลเชิงลึกหลัก: การค้นหาสถาปัตยกรรมหน่วยความจำที่เหมาะสมที่สุดสำหรับตัวเร่งการอนุมานรุ่นถัดไป
มุมมองหลักที่ควรค่าแก่การสรุปจากบทความนี้คือ: การกำหนดสถาปัตยกรรมหน่วยความจำที่เหมาะสมสำหรับตัวเร่งการอนุมานรุ่นถัดไป จำเป็นต้องนำทางในพื้นที่การออกแบบที่กว้างใหญ่และมีการพัฒนาอย่างรวดเร็ว ซึ่งปฏิสัมพันธ์ระหว่างลักษณะของงานโหลด มิติการออกแบบของ NPU และการออกแบบระบบหน่วยความจำ【ยังคง】ไม่ได้รับการสำรวจอย่างเต็มที่
ในอดีต เมื่อพูดถึงชิป AI ทุกคนมักจะให้ความสำคัญกับ TOPS, TFLOPS, ขนาดของเมทริกซ์อาร์เรย์ และตัวเลขแบนด์วิธจากบรรจุภัณฑ์ขั้นสูง อย่างไรก็ตาม เมื่อเข้าสู่ยุคของ Agentic LLM มุมมองนี้เริ่มไม่เพียงพอ
เอเจนต์ที่สามารถเรียกใช้เครื่องมือ ท่องเว็บ ใช้งานซอฟต์แวร์ เขียนโค้ด และดำเนินการอนุมานแบบลูกโซ่ยาว จะไม่มีความยาวอินพุตและเอาต์พุตที่ค่อนข้างคงที่เหมือนแชทบอทแบบดั้งเดิมอีกต่อไป บริบทของมันจะขยายตัวอย่างรวดเร็วในระหว่างการเรียกใช้เครื่องมือ KV cache อาจมีขนาดถึงหลายร้อย GB และเฟส prefill และ decode ก็แสดงแรงกดดันในการเข้าถึงหน่วยความจำที่แตกต่างกันอย่างสิ้นเชิง
- MemExplorer: Navigating the Heterogeneous Memory Design Space for Agentic Inference NPUs
- https://arxiv.org/pdf/2604.16007
- 14,000 คำ ใช้เวลาอ่านประมาณ 50 นาที เวอร์ชันพอดแคสต์ประมาณ 22 นาที
ข้อสรุปหลักที่บทความ MemExplorer นำเสนอคือ: ระบบการอนุมาน LLM ในอนาคตไม่ใช่ปัญหาการปรับให้เหมาะสมเฉพาะจุดของ GPU ตัวเดียวหรือ NPU ตัวเดียวอีกต่อไป แต่เป็นปัญหาการออกแบบระดับระบบที่ประกอบด้วยอุปกรณ์แบบ Heterogeneous หน่วยความจำแบบ Heterogeneous และกลยุทธ์การดำเนินการของซอฟต์แวร์ร่วมกัน
เฟส Prefill ต้องการแบนด์วิธสูงและปริมาณงานสูง ในขณะที่เฟส decode ขึ้นอยู่กับความจุ ความสามารถในการรองรับ KV cache และประสิทธิภาพการใช้พลังงานที่ยอดเยี่ยมมากกว่า การบังคับให้ทั้งสองเฟสนี้อยู่ในสถาปัตยกรรม HBM เดียวกัน ย่อมทำให้เกิดการสิ้นเปลืองทรัพยากรของฝ่ายใดฝ่ายหนึ่งอย่างหลีกเลี่ยงไม่ได้
รูปที่ 4: ภาพรวมของกรอบงาน MemExplorer ตัวจำลอง PLENA ที่ขยายเพิ่มใช้สำหรับตรวจสอบความแม่นยำของแบบจำลองระบบ รูปนี้แสดงสถาปัตยกรรมหลักของ MemExplorer อย่างสมบูรณ์ ซึ่งประกอบด้วยโมดูลหลักสี่โมดูล ได้แก่ แบบจำลองระบบ แบบจำลองการเคลื่อนย้ายข้อมูล การปรับแต่งเฉพาะของงานโหลด และการสำรวจร่วมของระบบ ก่อให้เกิดกระบวนการออกแบบแบบวงปิด “การสร้างแบบจำลอง-การจำลอง-การสำรวจ-การตรวจสอบ” แบบจำลองระบบรวมแบบจำลองการวิเคราะห์หน่วยความจำและการคำนวณ สามารถประมาณประสิทธิภาพและการใช้พลังงานได้อย่างรวดเร็ว แบบจำลองการเคลื่อนย้ายข้อมูลกำหนดกลยุทธ์การไหลของข้อมูล การวางข้อมูล และการจัดสรรแบนด์วิธ โมดูลการปรับแต่งเฉพาะของงานโหลดแยกแยะการสร้างแบบจำลองสถานการณ์ prefill/decode การสำรวจร่วมใช้การเพิ่มประสิทธิภาพแบบเบย์เซียนหลายวัตถุประสงค์เพื่อสำรวจพื้นที่การออกแบบขนาดใหญ่ นวัตกรรมสำคัญของกรอบงานคือการใช้ตัวจำลองระดับรอบ PLENA ที่ขยายเพิ่มเพื่อตรวจสอบความแม่นยำของแบบจำลองการวิเคราะห์แบบไขว้ โดยคำนึงถึงประสิทธิภาพการสำรวจและความน่าเชื่อถือของผลลัพธ์ โดยเป็นโซลูชันที่เป็นระบบสำหรับการสำรวจพื้นที่การออกแบบสถาปัตยกรรมหน่วยความจำ NPU แบบ Heterogeneous อย่างรวดเร็ว แก้ไขข้อขัดแย้งหลักที่การจำลองแบบดั้งเดิมมีประสิทธิภาพต่ำและแบบจำลองการวิเคราะห์ไม่แม่นยำ
ข้อสรุปการทดลองของบทความนั้นตรงไปตรงมา: ภายใต้งบประมาณพลังงานเดียวกัน:
- MemExplorer เมื่อกำหนดเป้าหมายงาน agentic workload สามารถเพิ่มประสิทธิภาพการใช้พลังงานได้สูงสุดถึง 2.3 เท่า เมื่อเทียบกับ baseline NPU
- ในสถานการณ์ prefill-only สามารถมีประสิทธิภาพสูงสุดถึง 3.23 เท่า เมื่อเทียบกับ H100
- ในสถานการณ์ decode ภายใต้เป้าหมายประสิทธิภาพที่เท่ากัน สามารถเพิ่มประสิทธิภาพการใช้พลังงานได้สูงสุด 1.93 เท่า และ 2.72 เท่า เมื่อเทียบกับ baseline NPU และ H100 ตามลำดับ
สาระสำคัญเบื้องหลังตัวเลขเหล่านี้ไม่ใช่เทคโนโลยีหน่วยความจำมหัศจรรย์บางอย่างที่เหนือกว่า แต่เป็นความสามารถของระบบในการตัดสินใจโดยอัตโนมัติว่าเมื่อใดที่ต้องใช้ 3D-stacked SRAM เมื่อใดที่ต้องใช้ HBF และเมื่อใดที่ LPDDR คุ้มค่ากว่าหน่วยความจำแบนด์วิธที่สูงกว่า
คุณค่าของ MemExplorer ไม่ได้อยู่ที่การประกาศว่าหน่วยความจำชนิดใดดีที่สุด แต่อยู่ที่การนำเทคโนโลยีหน่วยความจำ อาร์เรย์การคำนวณ NPU ความแม่นยำเชิงปริมาณ การไหลของข้อมูล และเฟสของโหลด เข้าสู่พื้นที่ค้นหาเดียวกัน ปล่อยให้ระบบค้นหาการประนีประนอมที่เหมาะสมที่สุดสำหรับ prefill และ decode ด้วยตัวเอง
สารบัญ
- หนึ่ง. ความเป็นมาของปัญหา: Agentic LLM กำลังเปลี่ยนสมมติฐานหน่วยความจำของระบบการอนุมาน
- สอง. แนวคิดหลักของ MemExplorer: ทำให้ระบบหน่วยความจำกลายเป็นวัตถุออกแบบที่สามารถสังเคราะห์และค้นหาได้
- 2.1 เป้าหมายการออกแบบสามชั้นของ MemExplorer สำหรับ NPU แบบ Heterogeneous
- 2.2 พื้นที่การออกแบบหน่วยความจำแบบ Heterogeneous
- 2.3 ขอบเขตบนของจำนวน stack หน่วยความจำที่เชื่อมต่อได้
- สาม. แบบจำลองลำดับชั้นหน่วยความจำ: ไม่เพียงคำนวณความจุ แต่ยังคำนวณว่าข้อมูลไหลผ่านแต่ละชั้นอย่างไร
- 3.1 สูตรแบนด์วิธที่มีประสิทธิภาพ
- 3.2 ความหน่วงในการส่งผ่านชั้นเดียว
- 3.3 แบบจำลองการใช้พลังงานหน่วยความจำ
- สี่. หน่วยความจำเกิดใหม่สองประเภท: 3D-stacked SRAM และ HBF แก้ปัญหาอะไรบ้าง
- 4.1 3D-stacked SRAM
- 4.2 HBF
- ห้า. กลยุทธ์ซอฟต์แวร์: การไหลของข้อมูล ลำดับความสำคัญของพื้นที่เก็บข้อมูลบนชิป และการจัดสรรแบนด์วิธนอกชิป
- 5.1 กลยุทธ์ซอฟต์แวร์
- หก. วิธีการค้นหา: การใช้การเพิ่มประสิทธิภาพแบบเบย์เซียนหลายวัตถุประสงค์เพื่อเข้าใกล้ขอบเขตพาเรโต
- เจ็ด. ผลการทดลอง: Prefill ต้องการหน่วยความจำบนชิปแบนด์วิธสูง Decode ต้องการชั้นความจุสูงและใช้พลังงานต่ำ
- แปด. ขยายไปยังโมเดลใหม่: Diffusion LLM และ MoE ขนาดใหญ่
- เก้า. งานที่เกี่ยวข้อง: ความแตกต่างของบทความนี้จากงานวิจัยที่มีอยู่
- 9.1 ประเภทแรกคือเทคโนโลยีหน่วยความจำเอง
- 9.2 ประเภทที่สองคือการจำลองหน่วยความจำและความร่วมมือระหว่างฮาร์ดแวร์และซอฟต์แวร์
- 9.3 ประเภทที่สามคือ prefill-decode disaggregation
- สิบ. บทสรุปและแนวโน้มในอนาคต
- 10.1 สรุปข้อสรุป
- 10.2 การวิเคราะห์ขั้นสูง
- 10.3 งานในอนาคต
หนึ่ง. ความเป็นมาของปัญหา: Agentic LLM กำลังเปลี่ยนสมมติฐานหน่วยความจำของระบบการอนุมาน
บริการ LLM แบบดั้งเดิมมักเผชิญกับโหลดแบบสนทนา ซึ่งความยาวอินพุตและเอาต์พุตค่อนข้างคาดเดาได้ ในขณะที่ Agentic LLM นั้นแตกต่างกัน เนื่องจากต้องโต้ตอบกับสภาพแวดล้อมภายนอก การเรียกใช้เครื่องมือและการอนุมานแบบลูกโซ่ยาวทำให้เกิดบริบทที่เติบโตอย่างรวดเร็วและรูปแบบการเข้าถึงหน่วยความจำที่มีพลวัตสูง
บทความเริ่มต้นจากงาน agentic workload ซึ่งเป็นทางเลือกที่สำคัญอย่างยิ่ง เพราะเฉพาะภายใต้โหลดประเภทนี้เท่านั้น ปัญหาระบบหน่วยความจำจะยกระดับจาก “แบนด์วิธเพียงพอหรือไม่” ไปเป็น “ความจุ แบนด์วิธ ลำดับชั้น การใช้พลังงาน และความแตกต่างของเฟสจะทำงานร่วมกันอย่างไร” ผู้เขียนยกตัวอย่างสถานการณ์ทั่วไปหลายประเภท: computer-use agents, autonomous coding agents, web-use agents งานเหล่านี้มีจุดร่วมอย่างหนึ่ง: โมเดลไม่ได้เพียงแค่ตอบประโยคง่ายๆ แต่สังเกต อนุมาน เรียกใช้เครื่องมือ และสร้างการกระทำในระบบภายนอกซ้ำๆ
สิ่งนี้นำไปสู่ผลลัพธ์สองประการ
- ประการแรก ขนาดของ token เพิ่มขึ้นอย่างรวดเร็ว รูปที่ 1a ของบทความแสดงความแตกต่างของการประมวลผล token ระหว่าง chatbot, WUA และ CUA งาน agentic workloads เพิ่มความต้องการการประมวลผล token อย่างมีนัยสำคัญ โดยเฉพาะในเฟส prefill
รูปที่ 1a: งานโหลดของเอเจนต์มีความต้องการการประมวลผล token ในเฟส prefill มากกว่าอย่างมีนัยสำคัญ งานโหลดของเอเจนต์แตกต่างจากการอนุมาน LLM แบบสนทนาอย่างมีนัยสำคัญ โดยเฟส prefill ต้องจัดการลำดับอินพุตที่ยาวมาก ปริมาณการประมวลผล token สูงกว่าสถานการณ์ทั่วไปมาก
ประการที่สอง แรงกดดันด้านความจุของ KV cache และ activation รุนแรงขึ้นอย่างมีนัยสำคัญ
บทความชี้ให้เห็นว่า LLM ที่มีความสามารถแบบเอเจนต์ (Agentic) ได้ขยายหน้าต่างบริบทไปถึงระดับล้าน ในบริบทนี้ ปริมาณข้อมูลของ KV cache เพียงอย่างเดียวมักจะเกิน 500GB ซึ่งหมายความว่าในสถานการณ์แอปพลิเคชันเอเจนต์ที่มีบริบทยาวหลายๆ สถานการณ์ ความจุหน่วยความจำ HBM 80GB ต่อการ์ดเดียวนั้นไม่เพียงพออีกต่อไป และอาจถึงขั้นคับขัน
ปัญหาที่ยุ่งยากยิ่งกว่าคือ รูปแบบการคำนวณของเฟส prefill และ decode นั้นแตกต่างกันอย่างสิ้นเชิง
- เฟส prefill จัดการกับลำดับอินพุตยาว ซึ่งมีลักษณะเด่นคือความหนาแน่นในการคำนวณสูง สร้างแรงกดดันอย่างชัดเจนต่อปริมาณงานของ activation และ weight
- เฟส decode จะสร้างเอาต์พุตทีละ token ซึ่งคอขวดส่วนใหญ่อยู่ที่ประสิทธิภาพการเข้าถึง KV cache และขนาด batch ที่ถูกจำกัดด้วยความจุ
ในภาษาการออกแบบฮาร์ดแวร์: Prefill เปรียบเสมือนปัญหาการคำนวณเมทริกซ์แบบปริมาณงานที่ถูกจำกัดด้วยแบนด์วิธ ในขณะที่ decode เปรียบเสมือนปัญหาการเข้าถึงหน่วยความจำและการนำข้อมูลกลับมาใช้ใหม่ที่ถูกจำกัดด้วยความจุ
รูปที่ 1c แสดงให้เห็นอย่างชัดเจนว่า: งานโหลดของเอเจนต์ทำให้ความต้องการความจุหน่วยความจำของ activation และ KV cache เพิ่มขึ้นอย่างรวดเร็ว ในขณะที่อัตราการใช้แบนด์วิธก็เพิ่มขึ้นในระดับปานกลาง และเฟส prefill และ decode แสดงลักษณะที่แตกต่างกันอย่างสิ้นเชิง ลักษณะบริบทยาวของงานเอเจนต์ทำให้พื้นที่ที่ถูกครอบครองโดย activation และ KV cache พุ่งสูงขึ้น สร้างข้อกำหนดที่เข้มงวดอย่างยิ่งต่อความจุหน่วยความจำ นอกจากนี้ เฟส prefill จะประมวลผลข้อมูลในลักษณะเป็นชุด อัตราการใช้แบนด์วิธสูงและผันผวน ในขณะที่เฟส decode จะสร้างทีละ token ความต้องการแบนด์วิธต่ำกว่าแต่คงที่และสม่ำเสมอ ความแตกต่างของลักษณะแบนด์วิธระหว่างสองเฟสนี้มีความสำคัญอย่างยิ่ง สิ่งนี้เผยให้เห็นข้อขัดแย้งหลักที่สถาปัตยกรรมหน่วยความจำเดียวไม่สามารถปรับให้เข้ากับความต้องการของทั้งสองเฟสได้ และยังยืนยันถึงเหตุผลของแนวคิดการออกแบบแบบ Heterogeneous ที่ Prefill เน้นแบนด์วิธและ Decode เน้นความจุ ซึ่งเป็นพื้นฐานข้อมูลสำคัญสำหรับ MemExplorer ในการปรับสถาปัตยกรรมหน่วยความจำให้เหมาะสมตามเฟส
สิ่งนี้อธิบายด้วยว่าทำไมอุตสาหกรรมจึงเริ่มหันมาใช้ระบบ Heterogeneous แพลตฟอร์ม NVIDIA Vera Rubin ที่กล่าวถึงในบทความ เป็นตัวอย่างทั่วไปของการรวมอุปกรณ์ต่างๆ เข้าด้วยกันในระบบที่เชื่อมต่อถึงกัน:
- Rubin GPU ใช้หน่วยความจำ HBM4 ให้ความจุ 288GB และแบนด์วิธสูงถึง 22TB/s ต่อโหนด
- Groq 3 LPX ใช้โปรเซสเซอร์การไหลของข้อมูลที่รวม SRAM บนชิป ให้ SRAM บนชิป 128GB และแบนด์วิธรวม 40PB/s
อุปกรณ์ทั้งสองชนิดนี้ไม่ได้มีสถาปัตยกรรมหน่วยความจำเดียวกัน แต่สามารถให้บริการงาน LLM serving เดียวกันได้ ความร่วมมือระหว่าง AWS และ Cerebras ก็ยืนยันแนวโน้มที่คล้ายคลึงกัน: บริการ LLM ในอนาคตไม่น่าจะพึ่งพาอุปกรณ์แบบครบวงจรเพียงอย่างเดียว แต่จะ走向รูปแบบที่มีอุปกรณ์หลายชนิดและระบบหน่วยความจำหลายแบบอยู่ร่วมกัน
รูปที่ 2 แสดงการออกแบบ NPU ที่ปรับให้เหมาะสมสำหรับงานโหลดแบบ prefill-only และ decode-only โดยเฉพาะ ขอบสีดำแสดงถึงเส้นทางการเคลื่อนย้ายข้อมูลที่เป็นไปได้ทั้งหมดระหว่างหน่วยคำนวณและหน่วยความจำ พารามิเตอร์ที่ระบุในรูปกำหนดพื้นที่การออกแบบของระบบ NPU แสดงให้เห็นตรรกะการออกแบบที่แตกต่างกันของสถาปัตยกรรมหน่วยความจำ NPU ในสถานการณ์ prefill และ decode อย่าง直观 ความแตกต่างหลักอยู่ที่วิธีการรวมพื้นที่เก็บข้อมูลบนชิปและหน่วยความจำนอกชิป รวมถึงการกำหนดค่าพารามิเตอร์หลัก ตัวเร่ง Prefill ติดตั้ง HBM ความหนาแน่นสูงและ 3D stacked SRAM ความจุสูง เน้นแบนด์วิธสูงเพื่อรองรับการประมวลผลข้อมูลเป็นชุด ตัวเร่ง Decode จะละทิ้ง HBM แบนด์วิธสูง และหันมาใช้การรวม SRAM บนชิปขนาดใหญ่กับ HBF แทน โดยให้ความสำคัญกับความจุขนาดใหญ่เพื่อรองรับ KV cache ในขณะเดียวกัน มิติของ PE array ความยาวเวกเตอร์ จำนวน stack หน่วยความจำ และพารามิเตอร์อื่นๆ ร่วมกันสร้างพื้นที่การออกแบบที่สมบูรณ์ MemExplorer ดำเนินการเพิ่มประสิทธิภาพร่วมกันโดยรอบพารามิเตอร์เหล่านี้ แนวคิดการออกแบบฮาร์ดแวร์แบบแยกตามสถานการณ์นี้ สอดคล้องกับแนวคิดการแยกส่วนแบบ Heterogeneous ระหว่าง prefill และ decode ที่บทความนำเสนอ และเป็นทิศทางการออกแบบหลักเพื่อเพิ่มประสิทธิภาพการใช้พลังงานของการอนุมานแบบเอเจนต์
การเกิดขึ้นของ Agentic LLM ทำให้ระบบหน่วยความจำเปลี่ยนจาก “โมดูลเสริมของตัวเร่ง” ไปเป็น “ตัวแปรหลักของการออกแบบระบบ”: ความจุเป็นตัวกำหนดว่าสามารถรันบริบทขนาดใหญ่ได้หรือไม่ แบนด์วิธเป็นตัวกำหนดว่าเฟส prefill สามารถป้อนหน่วยคำนวณได้อย่างเต็มที่หรือไม่ และการใช้พลังงานเป็นตัวกำหนดว่าเฟส decode สามารถขยายขนาดด้วยต้นทุนที่สมเหตุสมผลหรือไม่
สอง. แนวคิดหลักของ MemExplorer: ทำให้ระบบหน่วยความจำกลายเป็นวัตถุออกแบบที่สามารถสังเคราะห์และค้นหาได้
MemExplorer ไม่ใช่เครื่องจำลองธรรมดา แต่เป็น ตัวสังเคราะห์ระบบหน่วยความจำ (memory system synthesizer) หน้าที่ของมันไม่ใช่การประเมิน NPU ที่ตายตัว แต่คือ การตัดสินใจโดยอัตโนมัติเกี่ยวกับลำดับชั้นหน่วยความจำ เทคโนโลยีหน่วยความจำ และพารามิเตอร์การออกแบบของ NPU ในระบบ NPU แบบ Heterogeneous
2.1 เป้าหมายการออกแบบสามชั้นของ MemExplorer สำหรับ NPU แบบ Heterogeneous
MemExplorer ที่บทความนำเสนอ มีเป้าหมายเพื่อสำรวจสถาปัตยกรรมแบบ end-to-end สำหรับระบบ NPU แบบ Heterogeneous
รูปที่ 4: ภาพรวมของกรอบงาน MemExplorer ตัวจำลอง PLENA ที่ขยายเพิ่มใช้สำหรับตรวจสอบความแม่นยำของแบบจำลองระบบ
เป้าหมายการออกแบบสามารถแบ่งออกเป็นสามระดับ:
- ประการแรก การสร้างนามธรรมแบบครบวงจรสำหรับเทคโนโลยีหน่วยความจำหลายชนิด
- ประการที่สอง การสร้างพื้นที่สำรวจสำหรับบริการ (serving) แบบ Heterogeneous และแยกส่วน
- ประการที่สาม การค้นหาร่วมกันระหว่างกลยุทธ์ซอฟต์แวร์ที่รับรู้ถึงอัลกอริทึมและการออกแบบฮาร์ดแวร์
2.2 พื้นที่การออกแบบหน่วยความจำแบบ Heterogeneous
ความยากของงานนี้คือ ข้อจำกัดทางกายภาพของเทคโนโลยีหน่วยความจำแต่ละชนิดแตกต่างกันอย่างมาก
รูปที่ 1b: พื้นที่การออกแบบหน่วยความจำแบบ Heterogeneous บล็อกเส้นขอบแบ่งพื้นที่ของเทคโนโลยีต่างๆ ในพารามิเตอร์ความจุ แบนด์วิธ และเวลาแฝงในการเข้าถึงอย่างชัดเจน รูปครอบคลุมเทคโนโลยีหน่วยความจำหลักและเกิดใหม่ เช่น SRAM, HBM, LPDDR, GDDR และ HBF แสดงให้เห็นอย่างชัดเจนถึงความสัมพันธ์ในการแลกเปลี่ยนระหว่างเทคโนโลยีต่างๆ ในสามมิติ ได้แก่ ความจุ แบนด์วิธ และเวลาแฝง SRAM เน้นแบนด์วิธสูงพิเศษและความจุต่ำ HBM สร้างสมดุลระหว่างแบนด์วิธและความจุ HBF เน้นความจุขนาดใหญ่พิเศษและแบนด์วิธปานกลาง เทคโนโลยีต่างๆ ก่อให้เกิดระบบนิเวศที่เสริมซึ่งกันและกัน การกระจายนี้แสดงให้เห็นว่าไม่มีเทคโนโลยีหน่วยความจำใดที่สามารถตอบสนองความต้องการแบนด์วิธสูง ความจุสูง และการใช้พลังงานต่ำของการอนุมานแบบเอเจนต์ได้พร้อมกัน ซึ่งเป็นรากฐานทางเทคนิคสำหรับ MemExplorer ในการสำรวจสถาปัตยกรรมหน่วยความจำแบบ Heterogeneous แบบหลายชั้น และเป็นพื้นฐานพื้นที่สำหรับการเพิ่มประสิทธิภาพการรวมเทคโนโลยีหลายชนิด
- SRAM บนชิปมีความหน่วงต่ำมากและแบนด์วิธสูงมาก แต่ความจุและการใช้พลังงานรั่วไหลถูกจำกัดด้วยพื้นที่ชิป
- HBM มีแบนด์วิธสูง แต่ความจุถูกจำกัดด้วยเทคโนโลยีการซ้อนและขอบเขตของบรรจุภัณฑ์
- LPDDR มีประสิทธิภาพการใช้พลังงานที่ดี แต่แบนด์วิธค่อนข้างจำกัด
- GDDR เป็นโซลูชันประนีประนอมระหว่างต้นทุนและแบนด์วิธมากกว่า
- HBF มีความจุขนาดใหญ่มาก แต่มีความหน่วงสูง และพลังงานในการอ่าน/เขียนและพลังงานพื้นหลังก็สูงกว่าด้วย
หากเปรียบเทียบโดยใช้เพียงตัวเลข “ความจุ” และ “แบนด์วิธ” จะละเลยปัจจัยสำคัญ เช่น die shoreline, การใช้ PHY, พลังงานพื้นหลัง, พลังงานในการอ่าน/เขียน, ข้อจำกัดด้านบรรจุภัณฑ์และความร้อน
วิธีการสร้างแบบจำลองแบบครบวงจรของ MemExplorer คือการทำให้เทคโนโลยีหน่วยความจำแต่ละประเภทเป็นชุดพารามิเตอร์ที่กะทัดรัด พารามิเตอร์เหล่านี้รวมถึงความหน่วง ความจุ แบนด์วิธ การใช้ shoreline, พลังงานพื้นหลัง, พลังงานในการอ่าน, พลังงานในการเขียน ฯลฯ
ตารางที่ 1 ในบทความให้พารามิเตอร์ของอุปกรณ์ต่างๆ เช่น SRAM, HBM3E, HBM4, LPDDR5X, LPDDR6, GDDR6, GDDR7, 3D-stacked SRAM และ HBF ตารางนี้ไม่ได้เป็นเพียงการระบุข้อมูลจำเพาะ แต่เป็นระบบพิกัดแบบครบวงจรสำหรับกระบวนการค้นหาที่ตามมา
ตารางที่ 1: พารามิเตอร์ทางเทคนิคของอุปกรณ์หน่วยความจำต่างๆ ค่าที่มีเครื่องหมาย ∗ เป็นข้อมูลการทดลอง ค่าที่มีเครื่องหมาย † เป็นค่าที่คำนวณตามปัจจัยการปรับขนาด ตารางนี้รวบรวมพารามิเตอร์หลักของ SRAM บนชิป หน่วยความจำนอกชิปหลัก (HBM3E/4, LPDDR5X/6, GDDR6/7) และหน่วยความจำเกิดใหม่ (3D stacked SRAM, HBF) อย่างเป็นระบบ ครอบคลุมตัวชี้วัดสำคัญ เช่น ความหน่วง ความจุ แบนด์วิธ การใช้พลังงาน พลังงานในการอ่าน/เขียน ข้อมูลแสดงให้เห็นอย่างชัดเจนถึงการแลกเปลี่ยนของแต่ละเทคโนโลยี: SRAM/3D stacked SRAM มีความหน่วงเพียงไม่กี่นาโนวินาทีและแบนด์วิธสูงมาก เหมาะสำหรับการเข้าถึงความถี่สูงบนชิป HBM สร้างสมดุลระหว่างแบนด์วิธและความจุ เหมาะสำหรับการอนุมานระดับกลางถึงสูง LPDDR ใช้พลังงานต่ำ GDDR ต้นทุนต่ำ เหมาะสำหรับสถานการณ์เฉพาะ HBF มีความจุสูงถึง 384GB เติมเต็มช่องว่างความจุระหว่าง HBM และ SSD แต่มีความหน่วงถึงระดับไมโครวินาที ตารางพารามิเตอร์นี้เป็นพื้นฐานสำหรับ MemExplorer ในการสร้างแบบจำลองหน่วยความจำแบบครบวงจรและดำเนินการสำรวจการออกแบบแบบ Heterogeneous และให้การสนับสนุนข้อมูลที่แม่นยำสำหรับการเพิ่มประสิทธิภาพการรวมเทคโนโลยีหลายชนิด
2.3 ขอบเขตบนของจำนวน stack หน่วยความจำที่เชื่อมต่อได้
การอภิปรายเกี่ยวกับจำนวน stack หน่วยความจำนอกชิป (off-chip memory stack) ในบทความมีความสำคัญเป็นพิเศษ หน่วยความจำนอกชิป เช่น HBM, LPDDR, GDDR, HBF ล้วนต้องใช้ die shoreline ซึ่งก็คือความยาวทางกายภาพของขอบชิปที่สามารถใช้สำหรับอินเทอร์เฟซ PHY ความเร็วสูง ข้อจำกัดของ reticle limit ในปัจจุบันกำหนดขอบเขตบนของขนาดชิป ดังนั้น แม้ว่าการใช้พลังงานจะไม่ถูกจำกัด จำนวน stack หน่วยความจำนอกชิปที่สามารถติดตั้งได้ก็ไม่ได้ขึ้นอยู่กับความต้องการ
บทความใช้สูตรต่อไปนี้เพื่ออธิบายขอบเขตบนของจำนวน stack หน่วยความจำที่เชื่อมต่อได้:
โดยที่ แทนจำนวน stack หน่วยความจำนอกชิปที่เชื่อมต่อได้ แทนความยาวขอบชิปที่สงวนไว้สำหรับอินเทอร์เฟซหน่วยความจำ แทนความยาวที่อินเทอร์เฟซ PHY หนึ่ง stack หน่วยความจำครอบครอง แทนระยะห่างทางกายภาพที่ต้องรักษาไว้ระหว่างอินเทอร์เฟซ สัญชาตญาณเบื้องหลังสูตรนี้เรียบง่าย: ขอบชิปเปรียบเสมือน “ท่าเรือ” ที่มีความยาวจำกัด ไม่ว่า HBM, LPDDR, HBF ซึ่งเป็น “เรือ” จะดีแค่ไหน ก็ต้องมี “ท่าเทียบเรือ” จึงจะเชื่อมต่อได้
คุณูปการชั้นแรกของ MemExplorer คือการยกระดับเทคโนโลยีหน่วยความจำหลายชนิดจาก “การเปรียบเทียบตารางข้อมูลจำเพาะ” ไปเป็น “ตัวแปรการออกแบบแบบครบวงจรที่มีข้อจำกัดทางกายภาพ แบบจำลองการใช้พลังงาน และพฤติกรรมตามลำดับชั้น”
สาม. แบบจำลองลำดับชั้นหน่วยความจำ: ไม่เพียงคำนวณความจุ แต่ยังคำนวณว่าข้อมูลไหลผ่านแต่ละชั้นอย่างไร
สำหรับการอนุมาน LLM การเข้าถึงข้อมูลมักจะเป็นการเคลื่อนย้ายแบบต่อเนื่องเป็นก้อนใหญ่ โดยเฉพาะ weight, activation และ KV cache ดังนั้น บทความจึงสร้างแบบจำลองการอ่าน/เขียนแต่ละครั้งเป็นธุรกรรมขนาดใหญ่ และบันทึกแบนด์วิธที่หน่วยคำนวณใช้ไป
แบบจำลองลำดับชั้นหน่วยความจำของ MemExplorer
แบบจำลองลำดับชั้นหน่วยความจำที่ MemExplorer สร้างขึ้น มุ่งเน้นไปที่คำถามสำคัญ: เมื่อข้อมูลถูกจัดเก็บแบบกระจายในหน่วยความจำหลายชั้น จะประเมินความหน่วงในการส่งผ่านและคอขวดแบนด์วิธจากหน่วยความจำที่ไกลที่สุดไปยังหน่วยคำนวณได้อย่างแม่นยำอย่างไร ในแบบจำลองนี้ level 0 ถูกกำหนดให้เป็นหน่วยคำนวณเอง ในขณะที่ level แทนชั้นหน่วยความจำที่ไกลที่สุด ข้อมูลจำเป็นต้องเคลื่อนที่จากชั้นลึกไปยังชั้นตื้นทีละชั้น ในแต่ละขอบเขตชั้น จะเกี่ยวข้องกับพารามิเตอร์สำคัญหลายตัว ได้แก่ แบนด์วิธที่มีประสิทธิภาพ ความหน่วงในการส่งผ่านคงที่ ปริมาณข้อมูลทั้งหมด และสัดส่วนที่อยู่ในชั้นนั้น
3.1 สูตรการคำนวณแบนด์วิธที่มีประสิทธิภาพ
บทความให้สูตรการคำนวณแบนด์วิธที่มีประสิทธิภาพ:
โดยที่ แทนแบนด์วิธที่มีประสิทธิภาพจากการส่งจาก level ไปยัง level คือแบนด์วิธสูงสุดทางทฤษฎีของขอบเขตชั้นนั้น และ แทนแบนด์วิธที่ถูกใช้งานไปแล้วเมื่อชั้นที่ลึกกว่าส่งข้อมูลไปยังชั้นปัจจุบัน
สูตรนี้มีวัตถุประสงค์เพื่ออธิบายการแข่งขันแบนด์วิธในสถานการณ์ double buffering: ชั้นปัจจุบันจำเป็นต้องรับข้อมูลจากชั้นที่ลึกกว่า และอาจต้องส่งข้อมูลต่อไปยังชั้นที่ตื้นกว่าในเวลาเดียวกัน ดังนั้น แบนด์วิธที่ใช้งานได้จริงไม่ใช่ค่าสูงสุด แต่เป็นแบนด์วิธที่เหลือหลังจากหักแบนด์วิธที่ถูกใช้ในการส่งข้อมูล downstream
3.2 แบบจำลองความหน่วงในการส่งผ่านชั้นเดียว
สูตรการคำนวณความหน่วงในการส่งผ่านชั้นเดียวมีดังนี้:
ในสูตรนี้ แทนความหน่วงที่เกิดจากการโหลดข้อมูลในชั้นที่ คือปริมาณข้อมูลทั้งหมดที่ต้องส่ง แทนสัดส่วนของข้อมูลที่จัดเก็บในชั้นปัจจุบัน คือความหน่วงคงที่固有เมื่อข้ามขอบเขตชั้นนั้น พูดง่ายๆ คือ หากข้อมูลบางส่วนอยู่ในหน่วยความจำใกล้เคียงแล้ว ก็เพียงใช้แบนด์วิธของชั้นปัจจุบันในการเคลื่อนย้ายข้อมูลส่วนนั้น ส่วนที่เหลือจำเป็นต้องถูกเคลื่อนย้ายขึ้นมาจากหน่วยความจำชั้นที่ลึกกว่าแบบเรียกซ้ำ
ความสำคัญของแบบจำลองนี้คือ มันไม่ได้เปรียบเทียบตัวเลขสูงสุดอย่าง “HBM มี 2TB/s, HBF มี 1TB/s” แบบง่ายๆ แต่สามารถประมาณได้อย่างแม่นยำว่าเมื่อ weight, KV cache และ activation ถูกจัดเก็บแบบกระจายในชั้นต่างๆ การดำเนินการส่งผ่านใดบ้างที่สามารถซ่อนได้ด้วยเทคนิค double buffering และการดำเนินการใดที่จะเปิดเผยเป็นเวลา stall ของโปรเซสเซอร์
สำหรับ NPU สิ่งที่ส่งผลต่อปริมาณงานจริงๆ ไม่ใช่แบนด์วิธสูงสุดของหน่วยความจำ แต่คือความสามารถในการทับซ้อนกันอย่างมีประสิทธิภาพระหว่างการดำเนินการคำนวณและการดำเนินการเคลื่อนย้ายข้อมูล
3.3 แบบจำลองการใช้พลังงานหน่วยความจำ
บทความยังนำเสนอแบบจำลองการใช้พลังงานหน่วยความจำ:
ในแบบจำลองนี้ แทนความจุหน่วยความจำทั้งหมด แทนแบนด์วิธการอ่าน แทนแบนด์วิธการเขียน คือพลังงานพื้นหลังต่อหน่วยความจุ และ และ แทนพลังงานในการอ่านและเขียนต่อบิตข้อมูลตามลำดับ สูตรนี้เผยให้เห็นต้นทุนแฝงของหน่วยความจำความจุสูงอย่าง HBF: แม้ว่าแบนด์วิธจะเพียงพอ ความจุที่มากขึ้นก็จะนำไปสู่พลังงานพื้นหลังที่ต่อเนื่อง หากพลังงานในการอ่าน/เขียนสูง การเข้าถึงบ่อยครั้งจะยิ่งผลักดันให้การใช้พลังงานโดยรวมสูงขึ้น
แบบจำลองหน่วยความจำของ MemExplorer จับข้อเท็จจริงของระบบที่สำคัญที่สุดในการอนุมาน LLM ได้อย่างแม่นยำ: ประสิทธิภาพสุดท้ายไม่ได้ถูกกำหนดโดยแบนด์วิธสูงสุดของหน่วยความจำชั้นเดียว แต่เป็นผลลัพธ์ร่วมกันของสัดส่วนการจัดเก็บข้อมูลระหว่างหน่วยความจำหลายชั้น ความสามารถในการทับซ้อนของ double buffering และพลังงานในการอ่าน/เขียน
สี่. หน่วยความจำเกิดใหม่สองประเภท: 3D-stacked SRAM และ HBF แก้ปัญหาอะไรบ้าง
บทความถือว่า 3D-stacked SRAM และ High Bandwidth Flash (HBF) เป็นเทคโนโลยีหน่วยความจำเกิดใหม่ที่มีตัวแทนสูงสองชนิด พวกมันอยู่ที่ปลายทั้งสองด้านของพื้นที่การออกแบบ: หนึ่ง追求แบนด์วิธบนชิปสูงสุดและความหน่วงต่ำ อีกหนึ่ง追求ความจุขนาดใหญ่พิเศษ
4.1 3D-stacked SRAM
เทคโนโลยีนี้มีเป้าหมายเพื่อแก้ปัญหาความจุบนชิปไม่เพียงพอ SRAM 2D แบบดั้งเดิมถูกจำกัดด้วยพื้นที่ชิปและการใช้พลังงานรั่วไหล ความเร็วในการพัฒนาที่โหนดกระบวนการ 7nm และต่ำกว่าได้ชะลอตัวลงอย่างเห็นได้ชัด 3D-stacked SRAM เพิ่มความจุพื้นที่เก็บข้อมูลบนชิปอย่างมีประสิทธิภาพโดยการซ้อน SRAM die หลายชั้นในแนวตั้ง โดยไม่ขยายพื้นที่ระนาบของ compute die
ตารางที่ 1: พารามิเตอร์ทางเทคนิคของอุปกรณ์หน่วยความจำต่างๆ ค่าที่มีเครื่องหมาย ∗ เป็นข้อมูลการทดลอง ค่าที่มีเครื่องหมาย † เป็นค่าที่คำนวณตามปัจจัยการปรับขนาด
ตามข้อมูลในตารางที่ 1 ของบทความ 3D-stacked SRAM ชั้นเดียวสามารถให้ความจุประมาณ 1GB และแบนด์วิธ 8TB/s ในขณะที่ยังคงความหน่วงในการเข้าถึงต่ำมากและพลังงานต่อบิตต่ำ
มันเหมาะสมอย่างยิ่งสำหรับเฟส prefill เนื่องจากในกระบวนการ prefill ชุดทำงานของ activation มีขนาดใหญ่และถูกนำกลับมาใช้บ่อย หากสามารถเก็บ activation ไว้บนชิปได้มากขึ้น ก็จะช่วยลดแรงกดดันในการเข้าถึง HBM ได้อย่างมีประสิทธิภาพ
4.2 HBF
HBF มุ่งแก้ปัญหาช่องว่างของความจุหน่วยความจำ ความจุของ HBM มักจะ停留在ระดับหลายสิบ GB ในขณะที่ SSD แม้จะมีความจุมหาศาล แต่ความหน่วงและรูปแบบอินเทอร์เฟซไม่เหมาะที่จะเป็นหน่วยความจำสำหรับการอนุมาน HBF ผสานรวม NAND Flash, DRAM buffer และ PHY แบนด์วิธสูงในแนวตั้ง ทำให้ stack เดียวสามารถให้ความจุประมาณ 384GB และแบนด์วิธ 1TB/s ซึ่งความหนาแน่นของความจุสูงกว่าโซลู
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
☕ สนับสนุนค่ากาแฟทีมงาน
หากคุณชอบบทความนี้ สามารถสนับสนุนเราได้ผ่าน PromptPay
SCAN TO PAY WITH ANY BANK本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/35662
