เมื่อความหนาแน่นในการคำนวณและอัตราส่วนประสิทธิภาพการใช้พลังงานกลายเป็นเป้าหมายสูงสุดของชิป AI เทคโนโลยีการคำนวณในหน่วยความจำ (CIM) ที่ใช้ SRAM จึงได้รับความคาดหวังอย่างสูง อย่างไรก็ตาม ปัญหาที่เกิดขึ้นตามมาคือ เมื่อต้องเผชิญกับโมเดลขนาดใหญ่ที่มีพารามิเตอร์หลายพันล้านตัวอย่างเช่น LLaMA-3 ความจุหน่วยความจำบนชิปกลับไม่เพียงพอ
เนื่องจากโมเดลไม่สามารถ “อยู่ประจำ” ภายในชิปได้อย่างสมบูรณ์ วิธีการไหลของข้อมูลระหว่างภายในและภายนอกชิปจึงกลายเป็นตัวแปรสำคัญที่กำหนดประสิทธิภาพ นี่คือจุด切入หลักของบทความนี้ ผู้เขียนชี้ให้เห็นอย่างตรงไปตรงมาว่างานวิจัยเกี่ยวกับตัวเร่ง CIM ในอดีตมักจะ “คิดไปเอง”:
- ไม่ก็สมมติว่าโมเดลสามารถบรรจุลงในชิปได้ทั้งหมด โดยละเลยค่าใช้จ่ายมหาศาลในการเคลื่อนย้ายน้ำหนัก
- หรือไม่ก็ใช้รูปแบบการไหลของข้อมูลแบบตายตัวโดยปริยาย โดยไม่ได้สำรวจการผสมผสานสถาปัตยกรรมอื่นที่อาจดีกว่า
ที่ร้ายแรงกว่านั้น งานวิจัยหลายชิ้นอาศัยแบบจำลองการวิเคราะห์ในอุดมคติในการประเมินการออกแบบ ละเลยค่าใช้จ่ายด้านพื้นที่และพลังงานที่เกิดจากการวางผังและการเดินสายในขั้นตอนการนำไปใช้งานทางกายภาพอย่างสิ้นเชิง ซึ่งอาจนำไปสู่การเลือกโซลูชันที่ “ดีที่สุดบนกระดาษ แต่ล้มเหลวเมื่อผลิตจริง” ในการสำรวจพื้นที่การออกแบบ
- AccelCIM: Systematic Dataflow Exploration for SRAM Compute-in-Memory Accelerator
- https://arxiv.org/pdf/2604.17692
- 12,000 คำ อ่านประมาณ 45 นาที เวอร์ชันพอดแคสต์ประมาณ 18 นาที
เพื่อทำลายทางตันนี้ กรอบงาน AccelCIM จึงถือกำเนิดขึ้น จุดแข็งที่สุดคือการมอง “สถาปัตยกรรมมาโครเซลล์” และ “การไหลของข้อมูลในอาร์เรย์” เป็นองค์รวมที่ต้องปรับให้เหมาะสมร่วมกัน และใช้ การประเมิน PPA หลังการวางผัง เป็นมาตรวัดโลกแห่งความเป็นจริง
งานวิจัยไม่เพียงพบว่าอาร์เรย์ systolic โดยทั่วไปมีประสิทธิภาพด้านพื้นที่เหนือกว่าการเชื่อมต่อแบบ broadcast แต่ยังเปิดเผยข้อแลกเปลี่ยนที่สำคัญอีกด้วย: คุณสมบัติ “การทับซ้อนของการคำนวณและ I/O” ซึ่งดูเหมือนจะเพิ่มความเร็ว กลับต้องแลกมาด้วยประสิทธิภาพการใช้พลังงานที่ลดลงถึง 45% ซึ่งยืนยันข้อมูลเชิงลึกในบทความ: “การเปิดใช้งานการทับซ้อนของการคำนวณและ I/O ในการออกแบบที่จำกัดแบนด์วิดท์สามารถเพิ่มประสิทธิภาพด้านพื้นที่ได้ แต่ต้องแลกมาด้วยประสิทธิภาพการใช้พลังงาน”
ปรัชญาการออกแบบที่เน้นการปฏิบัติจริงซึ่งเชื่อมโยง “อัลกอริทึม-สถาปัตยกรรม-การนำไปใช้งานทางกายภาพ” นี้ ทำให้ AccelCIM มอบข้อมูลเชิงลึกที่ไม่เคยมีมาก่อนสำหรับการออกแบบชิปแบบคำนวณในหน่วยความจำในยุคโมเดลขนาดใหญ่
สารบัญ
- ประเด็นสำคัญ
- ประเด็นที่ 1: ความขัดแย้งเกี่ยวกับ “ความเป็นสากลของการไหลของข้อมูลที่เหมาะสมที่สุด”
- ประเด็นที่ 2: ข้อกังขาเกี่ยวกับความคุ้มค่าของ “การทับซ้อนการคำนวณ-I/O”
- หนึ่ง บทนำ
- สอง ความเป็นมาและแรงจูงใจ
- 2.1 การออกแบบตัวเร่ง CIM
- 2.2 การออกแบบมาโครเซลล์ CIM
- สาม กรอบงาน AccelCIM
- 3.1 สถาปัตยกรรม AccelCIM
- 3.2 การไหลของข้อมูล AccelCIM
- 3.3 ตัวสร้างอาร์เรย์มาโคร CIM
- สี่ การประเมิน
- 4.1 การตั้งค่าการทดลอง
- 4.2 ผลลัพธ์หลัก
- 4.3 การวิเคราะห์ประสิทธิภาพ
- 4.4 กรณีศึกษา: การอนุมาน LLM
- ห้า บทสรุป
- เอกสารอ้างอิง
ประเด็นสำคัญ
ประเด็นที่ 1: ความขัดแย้งเกี่ยวกับ “ความเป็นสากลของการไหลของข้อมูลที่เหมาะสมที่สุด”
ข้อค้นพบหลักของบทความคือ “WS-Systolic-NOL” มีประสิทธิภาพด้านพื้นที่ดีที่สุดในกรณีส่วนใหญ่ และท้ายที่สุดก็แนะนำการไหลของข้อมูลที่แตกต่างกันสำหรับโมเดลที่แตกต่างกัน (เช่น แนะนำ WS สำหรับโมเดล 175B และ OS สำหรับโมเดล 8B) ความขัดแย้งทางสถาปัตยกรรมที่รุนแรงจึงเกิดขึ้น: หากอาร์เรย์ Systolic และการตรึงน้ำหนัก (WS) มีประสิทธิภาพด้านพื้นที่เหนือกว่า Broadcast และมีความสามารถในการขยายขนาดทางกายภาพที่ดีกว่า เหตุใดในการออกแบบที่เหมาะสมที่สุดสำหรับโมเดลขนาดใหญ่อย่างแท้จริง (GPT-3 175B) และสถานการณ์ลำดับยาว จึงกลับไปใช้ชุดค่าผสม “WS-Systolic” ซึ่งบทความเห็นว่ามีความท้าทายในการนำไปใช้งานทางกายภาพมากกว่าและมีค่าใช้จ่ายทรัพยากรการเดินสายสูงกว่า นี่บอกเป็นนัยหรือไม่ว่ากฎทองทางสถาปัตยกรรมที่ว่า “การเชื่อมต่อแบบ Broadcast มีค่าใช้จ่ายด้านพื้นที่สูง” เมื่อเผชิญกับแรงกดดันในการขนถ่ายน้ำหนักที่หลีกเลี่ยงไม่ได้ของโมเดลขนาดใหญ่ จริงๆ แล้วเป็นการยอมจำนนจาก “การให้ความสำคัญกับประสิทธิภาพการคำนวณ” ไปสู่ “การให้ความสำคัญกับการใช้ข้อมูลซ้ำภายใต้คอขวดของผนังหน่วยความจำ”?
ข้อค้นพบหลักของบทความ—อาร์เรย์ Systolic มีประสิทธิภาพด้านพื้นที่เหนือกว่าการเชื่อมต่อแบบ Broadcast—เป็นข้อสรุประดับสถาปัตยกรรมที่อิงจากค่าใช้จ่ายในการนำไปใช้งานทางกายภาพ และไม่เกี่ยวข้องกับกลยุทธ์การคงอยู่ของน้ำหนักของโหลดเฉพาะ ในสถานการณ์โมเดลขนาดใหญ่อย่าง GPT-3 175B การไหลของข้อมูลที่เหมาะสมที่สุดชี้ไปที่ WS-Systolic-NOL อีกครั้ง ไม่ได้หมายความว่ากฎดังกล่าวถูกหักล้าง แต่เป็นเพราะเมื่อข้อจำกัดการออกแบบหลายมิติทำงานร่วมกัน ข้อได้เปรียบด้านประสิทธิภาพพื้นที่ของมันจึงขยายจากระดับอาร์เรย์มาโครไปสู่ระดับระบบแบบหลายคอร์
ปรากฏการณ์นี้สามารถเข้าใจได้จากสองระดับ:
- ข้อได้เปรียบที่压倒性ของประสิทธิภาพพื้นที่: เส้นหน้าพาเรโตในรูปที่ 8(a) แสดงให้เห็นว่า WS-Systolic-NOL ดีกว่ารูปแบบที่เปิดใช้งานการทับซ้อนเช่น OS-Systolic-OL เกือบตลอดช่วงประสิทธิภาพทั้งหมด เมื่อขยายไปยังหลายสิบคอร์ ความแตกต่างของพื้นที่ต่อคอร์จะถูกขยายอย่างรวดเร็ว ทำให้ประสิทธิภาพพื้นที่กลายเป็นข้อจำกัดที่เข้มงวดกว่าเวลาแฝง การเลือก WS-Systolic คือการโอบรับโซลูชันประสิทธิภาพพื้นที่ที่ดีที่สุดอย่างจริงจัง ไม่ใช่การยอมจำนน
รูปที่ 8: เส้นหน้าพาเรโตของการไหลของข้อมูลต่างๆ ใน AccelCIM รูปนี้เป็นหนึ่งในผลลัพธ์หลักของส่วนการประเมิน ซึ่งแสดงให้เห็นถึงขีดจำกัดประสิทธิภาพของโซลูชันการไหลของข้อมูลต่างๆ ในมิติพื้นที่และพลังงาน เส้นหน้าพาเรโตหมายความว่าในโซลูชันเหล่านี้ ไม่สามารถเพิ่มประสิทธิภาพได้อีกโดยไม่เสียสละพื้นที่ (หรือพลังงาน) โซลูชัน Systolic โดยทั่วไปจะอยู่ด้านล่างซ้ายของโซลูชัน Broadcast ซึ่งหมายความว่าเมื่อถึงประสิทธิภาพเดียวกัน โซลูชัน Systolic ต้องการพื้นที่ชิปน้อยกว่า มีข้อได้เปรียบที่ชัดเจน ซึ่งเป็นพื้นฐานที่直观และเชิงปริมาณสำหรับสถาปนิกชิปในการเลือกการไหลของข้อมูล
- ความสอดคล้องของพฤติกรรมการเข้าถึงหน่วยความจำ ไม่ใช่ “การยอมจำนนต่อผนังหน่วยความจำ”: ในสถานการณ์ Large DNN น้ำหนักต้องถูกสับเปลี่ยนระหว่างภายในและภายนอกชิปบ่อยครั้ง แต่สิ่งนี้ไม่ได้เอื้อต่อการไหลของข้อมูลแบบ Broadcast โดยธรรมชาติ ในทางกลับกัน แม้ว่า “การแบ่งปันน้ำหนักภายในคอลัมน์” ของ OS-Systolic-OL จะมีข้อได้เปรียบด้านเวลาแฝงในการอนุมานโมเดลขนาดเล็กถึงกลาง (เนื่องจากจำนวนครั้งในการอัปเดตน้ำหนักน้อย) แต่เมื่อโมเดลมีขนาดใหญ่มากจนต้องโหลดน้ำหนักจากภายนอกชิปซ้ำแล้วซ้ำเล่า ความขนานของการ broadcast ภายในคอลัมน์จะถูกจำกัดด้วยขนาดของคอร์ CIM เดียว ในขณะที่ WS-Systolic-NOL ผ่านการ systolic ของน้ำหนักในแนวนอน สามารถบรรลุระยะทางการใช้ข้อมูลซ้ำที่เท่ากันโดยใช้สาย broadcast ทั่วโลกน้อยกว่า ส่งผลให้ประสิทธิภาพพื้นที่ดีกว่า ดังนั้น นี่ไม่ใช่การยอมจำนนจาก “การให้ความสำคัญกับประสิทธิภาพการคำนวณ” ไปสู่ “การให้ความสำคัญกับการใช้ข้อมูลซ้ำ” แต่เป็นเพราะ WS-Systolic ในแง่ของผลคูณ “ความหนาแน่นการคำนวณ × ประสิทธิภาพพื้นที่” เหมาะกับสถานการณ์ที่ต้องอัปเดตน้ำหนักจำนวนมากโดยธรรมชาติมากกว่าการไหลของข้อมูลแบบ Broadcast
โดยสรุป การที่ GPT-3 175B เลือก WS-Systolic-NOL พิสูจน์ให้เห็นถึง บทบาทชี้ขาดของประสิทธิภาพพื้นที่ในฐานะกฎทองทางสถาปัตยกรรมในการขยายขนาดแบบหลายคอร์ ไม่ใช่การสิ้นสุดของมัน
ประเด็นที่ 2: ข้อกังขาเกี่ยวกับความคุ้มค่าของ “การทับซ้อนการคำนวณ-I/O”
ความขัดแย้งด้านประสิทธิภาพการใช้พลังงานของการทับซ้อนการคำนวณ-I/O: เร่งความเร็วหรือถ่วง?
บทความระบุอย่างชัดเจนว่าการเปิดใช้งานการทับซ้อนการคำนวณ-I/O ทำให้ประสิทธิภาพการใช้พลังงานลดลง 25% ถึง 35% และได้ข้อสรุปเชิงกลยุทธ์ว่าเทคโนโลยีนี้ “มีประโยชน์เฉพาะกับการออกแบบที่จำกัดแบนด์วิดท์” (Takeaway #3) อย่างไรก็ตาม หากมองจากมุมมองของระบบที่กว้างขึ้น การแลกเปลี่ยนนี้ซ่อนความขัดแย้งเชิงกลยุทธ์ที่ลึกซึ้ง: ข้อมูลการทดลองแสดงให้เห็นว่าการเปิดใช้งานการทับซ้อนสามารถเพิ่มประสิทธิภาพเวลาแฝงได้สูงสุด 50% (ในมาโครที่มีความหนาแน่นการคำนวณสูง ผลประโยชน์ที่แท้จริงมักจะน้อยมากเนื่องจากเวลาในการคำนวณมากกว่าเวลา I/O มาก) แต่ต้องแลกมาด้วยประสิทธิภาพการใช้พลังงานที่ลดลงหนึ่งในสาม ในสถานการณ์การประมวลผลแบบ edge ที่追求ขีดจำกัดประสิทธิภาพการใช้พลังงาน ลักษณะที่แลกประสิทธิภาพการใช้พลังงานจำนวนมากเพื่อเพิ่มประสิทธิภาพที่จำกัดนี้ ทำให้ “การทับซ้อนการคำนวณ-I/O” เป็นการออกแบบที่คุ้มค่าหรือไม่? ยิ่งไปกว่านั้น เส้นทางเทคโนโลยีนี้กำลังนำตัวเร่ง CIM ไปในทิศทางที่ผิดหรือไม่—เพื่อบรรเทาคอขวดแบนด์วิดท์ที่เกิดจากการออกแบบที่ไม่เหมาะสม กลับทำลายข้อได้เปรียบด้านประสิทธิภาพการใช้พลังงานที่สำคัญที่สุดของการคำนวณในหน่วยความจำ?
การวิเคราะห์การทับซ้อนการคำนวณ-I/O ของบทความไม่ได้ปฏิเสธทั้งหมด แต่ เป็นการปลดปล่อยมันจากหลักคำสอน “เปิดใช้งานโดยค่าเริ่มต้น” และทำให้เป็นตัวเลือกการออกแบบที่ต้องปรับแต่งอย่างละเอียดตามสถาปัตยกรรมมาโครและลักษณะของโหลด สิ่งนี้ไม่เพียงแต่จะไม่นำ CIM ไปในทางที่ผิด แต่เป็นก้าวสำคัญในการป้องกันการออกแบบสถาปัตยกรรมแบบ “一刀切” และบรรลุการออกแบบร่วมกันระหว่างมาโครและอาร์เรย์อย่างแท้จริง
หลักฐานในบทความสนับสนุนจุดยืนที่รอบคอบนี้อย่างมีพลัง:
- การ量化ต้นทุนและขอบเขตผลประโยชน์: บทความ量化อย่างแม่นยำถึงประสิทธิภาพการใช้พลังงานที่ลดลง 25%–35% และขีดจำกัดสูงสุดของการปรับปรุงรอบสัญญาณนาฬิกาที่ 50% จากการเปิดใช้งานการทับซ้อน และชี้ให้เห็นว่าในมาโครที่มีความหนาแน่นการคำนวณสูงโดยทั่วไป ผลประโยชน์ด้านเวลาแฝงที่แท้จริงนั้นจำกัดมาก ซึ่งกำหนดขอบเขตที่ชัดเจนสำหรับการประเมินความคุ้มค่า ทำให้นักออกแบบสามารถตัดสินใจอย่างชาญฉลาดระหว่าง “การเสียสละประสิทธิภาพการใช้พลังงานอย่างมาก” กับ “การปรับปรุงเวลาแฝงที่จำกัด”
รูปที่ 12: ผลกระทบของมาโครเซลล์ CIM ที่รองรับการทับซ้อนการคำนวณ-I/O ต่อประสิทธิภาพการใช้พลังงานและประสิทธิภาพพื้นที่ รูปนี้แสดงผลกระทบสองทิศทางของคุณสมบัติระดับไมโครสถาปัตยกรรม “การทับซ้อนการคำนวณ-I/O” ต่อ PPA ซึ่งสนับสนุนมุมมองของผู้เขียนอย่าง有力: นี่ไม่ใช่คุณสมบัติแบบขาวดำ เมื่อชิปเผชิญกับข้อจำกัดด้านพื้นที่ที่เข้มงวด และมีหน่วยคำนวณที่ไม่ได้ใช้งานจำนวนมากในระบบเนื่องจากการรอการอัปเดตน้ำหนัก กลไก “การทับซ้อน” นี้ถึงแม้จะใช้พลังงานมาก แต่ก็สามารถประหยัดพื้นที่ได้มาก ในทางกลับกัน หาก追求ประสิทธิภาพการใช้พลังงานสูงสุด ควรใช้คุณสมบัตินี้อย่างระมัดระวังหรือปิดการใช้งาน ซึ่งเน้นย้ำถึงคุณค่าของการสำรวจพื้นที่การออกแบบที่มุ่งเน้นแอปพลิเคชันเป้าหมายอีกครั้ง
- ผลประโยชน์ที่ไม่คาดคิดต่อประสิทธิภาพพื้นที่: รูปที่ 12(b) แสดงให้เห็นว่าเมื่อจำนวนช่องสัญญาณขนาน PC มีขนาดใหญ่ การเปิดใช้งานการทับซ้อนกลับเพิ่มประสิทธิภาพพื้นที่ เหตุผลคือ: คอขวดในการอัปเดตน้ำหนักที่เกิดจาก Bank หลายแห่งแย่งพอร์ต I/O เดียว จะบังคับให้มาโครอื่นๆ ว่างงาน ทำให้พื้นที่อาร์เรย์สูญเปล่า การทับซ้อนช่วยเพิ่มอัตราการใช้พื้นที่โดยรวมโดยการซ่อนความล่าช้าในการอัปเดต ซึ่งพิสูจน์ว่าการทับซ้อนไม่ได้ไร้ประโยชน์ เพียงแต่ขอบเขตการใช้งานแคบลงเหลือเพียงการกำหนดค่ามาโครเฉพาะที่จำกัดแบนด์วิดท์
[[TABLE_3]]
ตารางที่ 3: จุดออกแบบที่เหมาะสมที่สุดสำหรับงานอนุมานโมเดลภาษาขนาดใหญ่ต่างๆ ตารางแสดงโซลูชันการออกแบบที่เหมาะสมที่สุดสำหรับ Qwen3-0.6B, ซีรีส์ LLaMA-3, GPT-3 175B: โมเดลขนาดเล็กสำหรับ edge เลือก OS-Systolic-OL โมเดลขนาดใหญ่พิเศษเลือก WS-Systolic-NOL และการออกแบบที่เหมาะสมที่สุดทั้งหมดใช้อัตราส่วนหน่วยความจำต่อการคำนวณต่ำ สถานการณ์ edge ใช้ไปป์ไลน์แบบทับซ้อนเพื่อลดเวลาแฝง ส่วนโมเดลขนาดใหญ่พิเศษบนคลาวด์ใช้การออกแบบแบบไม่ทับซ้อนเพื่อลดพลังงานและพื้นที่ ผลลัพธ์ยืนยันว่าการออกแบบที่เหมาะสมที่สุดของตัวเร่ง CIM มีความสัมพันธ์อย่างมากกับขนาดโมเดลและสถานการณ์การปรับใช้ ซึ่ง验证ความจำเป็นของการออกแบบร่วมกันระหว่างมาโครและอาร์เรย์และการประเมิน PPA ที่แม่นยำ และให้ข้อมูลอ้างอิงเชิงปฏิบัติโดยตรงสำหรับการออกแบบตัวเร่ง CIM สำหรับการอนุมาน LLM แบบกำหนดเอง
- ภูมิปัญญาเชิงปฏิบัติของการแนะนำตามสถานการณ์: บทความไม่ได้ตัดสินว่ามัน “ไม่คุ้มค่า” ในกรณีศึกษาการอนุมาน LLM ในตารางที่ 3 การออกแบบที่เหมาะสมที่สุดในสถานการณ์ edge ล้วนใช้ OS-Systolic-OL ไม่ใช่ NOL ซึ่งแสดงให้เห็นว่า ในสถานการณ์ edge ที่ sensitive ต่อเวลาแฝงและข้อจำกัดพื้นที่ต่อคอร์ไม่รุนแรง ประโยชน์ด้านเวลาแฝงจากการทับซ้อนถูกตัดสินว่าคุ้มค่ากับค่าใช้จ่ายด้านประสิทธิภาพการใช้พลังงาน เฉพาะเมื่องานคำนวณขยายไปยังระบบแบบหลายคอร์ที่ sensitive ต่อพื้นที่ต่อคอร์อย่างมากเช่น GPT-3 175B ข้อเสียด้านประสิทธิภาพการใช้พลังงานของการทับซ้อนจึงทำให้ถูกแทนที่ด้วย NOL
บทสรุป: การเปิดใช้งานการทับซ้อนการคำนวณ-I/O ไม่ใช่การประนีประนอมที่ถูกใช้ในทางที่ผิด แต่เป็นปุ่มปรับที่มีพิกัดชัดเจนในสามเหลี่ยมประสิทธิภาพ ประสิทธิภาพการใช้พลังงาน และพื้นที่ บทความเปลี่ยนการเลือกคุณสมบัตินี้จาก “การต่อสู้ทางความเชื่อ” เป็น การตัดสินใจออกแบบเชิงปริมาณที่เข้มงวด โดยการให้แบบจำลองต้นทุนที่แม่นยำ นี่คือการมีส่วนร่วมอย่างเป็นระบบที่ช่วยให้การออกแบบตัวเร่ง CIM เติบโตและหลีกเลี่ยงการหลงทาง ไม่ใช่ในทางกลับกัน
หนึ่ง บทนำ
การคำนวณในหน่วยความจำที่ใช้ SRAM ได้กลายเป็นเทคโนโลยีที่มีแนวโน้มสูงสำหรับการเร่งโครงข่ายประสาทเทียมเชิงลึก ด้วยการรวมหน่วยคูณสะสมอย่าง紧密ภายในอาร์เรย์เซลล์ SRAM SRAM CIM จึงให้ความหนาแน่นการคำนวณและประสิทธิภาพการใช้พลังงานที่เหนือกว่าสถาปัตยกรรมแบบแยกส่วน ข้อได้เปรียบเหล่านี้ทำให้ SRAM CIM เป็นส่วนประกอบที่มีประสิทธิภาพสำหรับการใช้งานหน่วยเมทริกซ์ภายในตัวเร่ง DNN ศักยภาพอันยิ่งใหญ่ของ CIM ไม่เพียงแต่กระตุ้นงานวิจัยทางวิชาการอย่างกว้างขวาง [1, 3, 5, 13, 15, 16, 18–20, 23–25] แต่ยังผลักดันการประยุกต์ใช้เชิงพาณิชย์ในโดเมนแอปพลิเคชันต่างๆ เช่น d-Matrix [6] สำหรับการให้บริการโมเดลภาษาขนาดใหญ่ Houmo [11] สำหรับการขับขี่อัตโนมัติ และ MediaTek [17] สำหรับอุปกรณ์เคลื่อนที่อัจฉริยะ
ขอบเขตการใช้งานที่กว้างของตัวเร่ง SRAM CIM ทำให้การออกแบบการไหลของข้อมูลมีความสำคัญต่อประสิทธิภาพ การวิจัยตัวเร่ง CIM ก่อนหน้านี้มักมุ่งเน้นไปที่โมเดล DNN ที่สามารถจัดเก็บในหน่วยความจำบนชิปได้ทั้งหมด [1, 13, 25] อย่างไรก็ตาม เมื่อขนาดโมเดล DNN เพิ่มขึ้นอย่างต่อเนื่อง โมเดลร่วมสมัยจำนวนมากจึงไม่สามารถจัดเก็บบนชิปได้อย่างสมบูรณ์อีกต่อไป ตัวอย่างเช่น d-Matrix Corsair [6] รวม SRAM CIM ขนาด 2 GB แต่ก็ยังไม่สามารถรองรับสมาชิกที่เล็กที่สุดในซีรีส์ LLaMA-3 ที่มีพารามิเตอร์ 8 พันล้าน [7]
ดังนั้น ตัวเร่ง SRAM CIM สำหรับโมเดล DNN ขนาดใหญ่จึงต้องจัดการการเคลื่อนย้ายข้อมูลภายใน/ภายนอกชิปอย่างมีประสิทธิภาพ
- ในระดับสถาปัตยกรรม ต้องจัดตารางการอัปเดตน้ำหนักและการคำนวณอย่างระมัดระวังเพื่อเพิ่มประสิทธิภาพและประสิทธิภาพการใช้พลังงานสูงสุด
- ในระดับวงจร มาโครเซลล์ CIM และการเชื่อมต่อระหว่างกันต้องได้รับการออกแบบร่วมกันเพื่อลดค่าใช้จ่ายในการรวมระบบและรับประกันความสามารถในการขยายขนาด
แม้จะมีงานวิจัยมากมายเกี่ยวกับการออกแบบและระบบอัตโนมัติของตัวเร่ง CIM แต่งานเหล่านี้ยังไม่สามารถตอบสนองความต้องการใหม่ๆ ที่เกิดขึ้นข้างต้นได้อย่างเพียงพอ
[[TABLE_1]]
ตารางที่ 1: การเปรียบเทียบกับงานวิจัยที่เกี่ยวข้องกับระบบอัตโนมัติการออกแบบตัวเร่ง SRAM CIM ตารางนี้เปรียบเทียบความแตกต่างหลักระหว่าง AutoDCIM, CiMLoop, CIM-MXU และ AccelCIM ในหกมิติ: การไหลของข้อมูลในอาร์เรย์, การเชื่อมต่อระหว่างกันในอาร์เรย์, ความจุมาโคร, การทับซ้อนการคำนวณ-I/O, PPA ระดับมาโคร, และ PPA ระดับอาร์เรย์ งานวิจัยที่มีอยู่มีข้อจำกัดที่ชัดเจน: AutoDCIM ขาดการออกแบบการไหลของข้อมูลและการเชื่อมต่อระหว่างกันในอาร์เรย์ CiMLoop ใช้เฉพาะการไหลของข้อมูลแบบตรึงน้ำหนักและอาศัยแบบจำลองการวิเคราะห์ CIM-MXU มีความจุมาโครคงที่และ PPA ระดับอาร์เรย์ใช้เฉพาะแบบจำลองการวิเคราะห์ AccelCIM รองรับการไหลของข้อมูลแบบตรึงน้ำหนัก/ตรึงเอาต์พุต การเชื่อมต่อระหว่างกันแบบ broadcast/systolic ความจุมาโครที่ยืดหยุ่น และดำเนินการประเมิน PPA หลังการวางผังทั้งระดับมาโครและอาร์เรย์ ซึ่ง填补จุดอ่อนของมิติการประเมินในงานวิจัยที่มีอยู่ และให้เกณฑ์มาตรฐานที่สมบูรณ์สำหรับการออกแบบตัวเร่ง CIM
ตารางที่ 1 สรุปงานวิจัยที่เกี่ยวข้องและวิธีการในการสร้างพื้นที่การออกแบบและการประเมินการออกแบบตัวเร่ง CIM ซึ่งเราระบุข้อจำกัดดังต่อไปนี้:
-
การสำรวจการจัดระเบียบอาร์เรย์มาโครที่จำกัด กรอบงานการสร้างแบบจำลองสถาปัตยกรรมที่มีอยู่ส่วนใหญ่ใช้การไหลของข้อมูลแบบตรึงน้ำหนักและการเชื่อมต่อระหว่างกันแบบ broadcast อินพุต [1, 13, 15, 20, 25] โดยไม่ได้สำรวจทางเลือกอื่น เช่น การไหลของข้อมูลแบบตรึงเอาต์พุต [24] และการเชื่อมต่อระหว่างกันแบบ systolic [4, 22, 24] ดังนั้น จึงยังขาดการเปรียบเทียบเชิงหลักการของการจัดวางพื้นที่ของมาโครเซลล์ CIM
-
สมมติฐานที่เรียบง่ายเกินไปเกี่ยวกับความสามารถของมาโครเซลล์ CIM กรอบงานส่วนใหญ่สมมติว่ามาโครเซลล์ CIM ของพวกเขารองรับการคำนวณและการเข้าถึง I/O พร้อมกัน นั่นคือ การทับซ้อนการคำนวณ-I/O [8, 9] อย่างไรก็ตาม ฟังก์ชันนี้เกี่ยวข้องกับการแลกเปลี่ยนการออกแบบในระดับระบบระหว่างการลดเวลาแฝงแบบ end-to-end กับค่าใช้จ่ายในการนำไปใช้งานทางกายภาพ ซึ่งกรอบงานเหล่านี้มองข้ามไป
-
การประเมินการออกแบบมาโครเซลล์ CIM และการจัดวางพื้นที่ที่ไม่แม่นยำ
ดังนั้น การประเมินที่ไม่แม่นยำนี้อาจนำไปสู่การออกแบบตัวเร่ง CIM ที่ด้อยประสิทธิภาพ
- ประการแรก แบบจำลองการวิเคราะห์ที่ใช้ในการประเมินมาโครเซลล์ CIM ต่างๆ มักจะมีความเที่ยงตรงจำกัด เนื่องจากได้รับการปรับเทียบกับชุดต้นแบบซิลิคอนที่มีจำกัดมากเท่านั้น [13, 18]
- นอกจากนี้ ผลกระทบของการออกแบบทางกายภาพระดับอาร์เรย์ส่วนใหญ่ถูกละเลย การวางผังและการเดินสายทำให้เกิดค่าใช้จ่ายในการรวมระบบที่ไม่น้อยในแง่ของพื้นที่
เพื่อ填补ช่องว่างการวิจัยเหล่านี้ บทความนี้เสนอ AccelCim ซึ่งเป็นกรอบงานการสำรวจการไหลของข้อมูลอย่างเป็นระบบสำหรับตัวเร่ง SRAM CIM ด้วยการสร้างพื้นที่การออกแบบการไหลของข้อมูลที่ครอบคลุมและสำรวจการแลกเปลี่ยนผลลัพธ์คุณภาพของระบบแบบ end-to-end อย่างเป็นระบบ AccelCIM สามารถระบุการออกแบบการไหลของข้อมูลตัวเร่ง CIM ที่เหมาะสมที่สุดแบบพาเรโตสำหรับโมเดล DNN เป้าหมายโดยอัตโนมัติ การมีส่วนร่วมหลักของบทความนี้สรุปได้ดังนี้:
- เราสร้างพื้นที่การออกแบบการไหลของข้อมูลตัวเร่ง CIM อย่างเป็นระบบ ซึ่งครอบคลุมการจัดวางพื้นที่ของอาร์เรย์มาโครและตัวเลือกการออกแบบมาโครเซลล์
- เราสร้างตัวประเมินการออกแบบตัวเร่ง CIM ที่เข้มงวดเพื่อสร้างแบบจำลองประสิทธิภาพทางสถาปัตยกรรมและค่าใช้จ่ายหลังการวางผังอย่างแม่นยำ
- เราทำการสำรวจการออกแบบสำหรับแอปพลิเคชัน DNN ที่เป็นตัวแทนและให้ข้อสรุปที่ให้ข้อมูลเชิงลึก
ส่วนที่เหลือของบทความนี้จัดระเบียบดังนี้: ส่วนที่สองแนะนำความเป็นมาและแรงจูงใจ ส่วนที่สามแนะนำกรอบงาน AccelCIM ส่วนที่สี่นำเสนอผลการประเมิน สุดท้าย ส่วนที่ห้าสรุปบทความ
สอง ความเป็นมาและแรงจูงใจ
ส่วนนี้จะแนะนำความเป็นมาที่เกี่ยวข้องของตัวเร่ง CIM และชี้แจงแรงจูงใจของเราในการดำเนินการสำรวจการไหลของข้อมูลอย่างเป็นระบบ
2.1 การออกแบบตัวเร่ง CIM
ดังแสดงในรูปที่ 1 ตัวเร่ง SRAM CIM ครอบคลุมหลายระดับการออกแบบ
รูปที่ 1: ลำดับชั้นการออกแบบของตัวเร่ง CIM ทั่วไป ความจุหน่วยความจำที่จำกัดของ SRAM CIM ทำให้การออกแบบการไหลของข้อมูลมีความสำคัญต่อการเคลื่อนย้ายข้อมูลอย่างมีประสิทธิภาพ รูปนี้เผยให้เห็นสถาปัตยกรรมแบบลำดับชั้นของตัวเร่ง CIM: ชั้นล่างสุดคือมาโครเซลล์ CIM ชั้นกลางคือคอร์ CIM ซึ่งเกิดจากการเชื่อมต่อมาโครเซลล์หลายตัวผ่านการไหลของข้อมูลเฉพาะ และชั้นบนสุดคือเอ็นจิ้น CIM ซึ่งเกิดจากการเชื่อมต่อคอร์หลายตัวผ่านเครือข่ายบนชิป โครงสร้างนี้แสดงให้เห็นชัดเจนว่าการออกแบบการไหลของข้อมูลไม่ใช่ปัญหาที่แยกจากกัน แต่เป็นความท้าทายเชิงระบบที่贯穿ภายในมาโครเซลล์ ระหว่างมาโครเซลล์ และแม้กระทั่งระหว่างคอร์ โดยเฉพาะอย่างยิ่งในการจัดการกับโมเดลขนาดใหญ่ วิธีการจัดระเบียบในแต่ละชั้นส่งผลโดยตรงต่อค่าใช้จ่ายในการเคลื่อนย้ายข้อมูล
มาโครเซลล์ CIM คือการรวมกันอย่าง紧密ของอาร์เรย์เซลล์ SRAM และหน่วยคูณสะสม ซึ่งมักจะสร้างขึ้นโดยการออกแบบเลย์เอาต์ด้วยมือหรือเครื่องมือออกแบบอัตโนมัติที่กำหนดเอง [3, 5, 16, 23] มาโครเซลล์ CIM หลายตัวเชื่อมต่อกันผ่านการไหลของข้อมูลฮาร์ดแวร์แบบตายตัวเพื่อสร้างคอร์ CIM และคอร์หลายตัวเชื่อมต่อกันเพิ่มเติมผ่านเครือข่ายบนชิปที่ยืดหยุ่น เพื่อสร้างเอ็นจิ้น CIM ที่สมบูรณ์
ตัวเลือกการออกแบบในแต่ละระดับของตัวเร่ง CIM ก่อให้เกิดพื้นที่การออกแบบขนาดใหญ่ ซึ่งก่อให้เกิดชุดงานวิจัยการสำรวจพื้นที่การออกแบบ [1, 13, 15, 20, 25] อย่างไรก็ตาม งานเหล่านี้ให้ความสนใจจำกัดต่อการแลกเปลี่ยนการออกแบบขององค์กรคอร์ CIM ซึ่งกระตุ้นให้เราทำการสำรวจอย่างเป็นระบบมากขึ้น:
- การไหลของข้อมูลแบบตรึงน้ำหนักถูกนำมาใช้อย่างกว้างขวางในงานวิจัยที่มีอยู่ โดยมีข้อสันนิษฐานว่าโดยทั่วไปแล้วโมเดล DNN เป้าหมายสามารถบรรจุลงในหน่วยความจำบนชิปได้ทั้งหมด ภายใต้การตั้งค่านี้ ค่าใช้จ่ายในการแลกเปลี่ยนน้ำหนักมักถูกมองว่าเป็นต้นทุนครั้งเดียว หรือไม่ก็เล็กน้อยเมื่อเทียบกับการคำนวณ อย่างไรก็ตาม สำหรับโมเดล DNN ขนาดใหญ่ที่ต้องแลกเปลี่ยนน้ำหนักระหว่างหน่วยความจำภายใน/ภายนอกชิป ข้อสรุปนี้อาจใช้ไม่ได้อีกต่อไป
- การเชื่อมต่อระหว่างกันแบบ broadcast อินพุตก็ถูกนำมาใช้กันอย่างแพร่หลายเนื่องจากความเรียบง่าย อย่างไรก็ตาม การนำไปใช้งานทางกายภาพนั้นค่อนข้างท้าทาย เนื่องจากสายเชื่อมต่อทั่วไประหว่างบัฟเฟอร์คอร์และมาโครเซลล์ CIM ใช้ทรัพยากรการเดินสายจำนวนมาก ส่งผลให้ความสามารถในการขยายขนาดไม่ดี
2.2 การออกแบบมาโครเซลล์ CIM
อีกแหล่งที่มาของแรงจูงใจของเราคือการประเมินหลังการวางผังของรูปแบบมาโครเซลล์ CIM ที่แตกต่างกัน เราใช้คอมไพเลอร์มาโครเซลล์ CIM แบบโอเพนซอร์ส [12] เพื่อสร้างผลลัพธ์ในรูปที่ 2 และรูปที่ 3
รูปที่ 2: การกระจายประสิทธิภาพการใช้พลังงานและความถี่ของมาโครเซลล์ CIM ภายใต้ความจุการคำนวณที่แตกต่างกัน รูปนี้แสดงให้เห็นการแลกเปลี่ยนการออกแบบหลัก: มาโครเซลล์ที่มีความจุการคำนวณมากขึ้น (หมายถึงการรวมระบบที่สูงขึ้น ความขนานที่สูงขึ้น) โดยทั่วไปจะมีประสิทธิภาพการใช้พลังงานที่ดีกว่า แต่ความถี่ในการทำงานสูงสุดกลับต่ำกว่า 这是因为มาโครเซลล์ขนาดใหญ่มีสายเดินภายในที่ยาวกว่าและโหลดมากกว่า ซึ่งจำกัดความเร็วในการทำงาน นี่แสดงให้เห็นว่าการเลือกมาโครเซลล์ไม่ได้ยิ่งใหญ่ยิ่งดี จำเป็นต้องหาจุดสมดุลที่ดีที่สุดระหว่างปริมาณงาน (ความถี่คูณกำลังการคำนวณ) และประสิทธิภาพการใช้พลังงาน ซึ่งเป็นข้อจำกัดทางกายภาพที่สำคัญสำหรับการสำรวจพื้นที่การออกแบบในระดับระบบ รูปที่ 3: ฮิสโตแกรมของการเสื่อมสภาพสัมพัทธ์ของประสิทธิภาพการใช้พลังงาน/ประสิทธิภาพพื้นที่ของมาโคร CIM เมื่อเปิดใช้งานการทับซ้อนการคำนวณ-I/O รูปนี้แสดงให้เห็นว่าหลังจากเปิดใช้งานการทับซ้อนการคำนวณ-I/O ประสิทธิภาพการใช้พลังงานของมาโคร CIM ลดลง 25%-60% และประสิทธิภาพพื้นที่ลดลง 5%-25% งานวิจัยที่มีอยู่เปิดใช้งานฟังก์ชันนี้โดยค่าเริ่มต้น โดยไม่ได้ประเมินผลกระทบในระดับระบบอย่างเป็นระบบ AccelCIM กำหนดให้เป็นพารามิเตอร์การออกแบบที่เลือกได้ และพบว่าแม้ฟังก์ชันนี้จะลดความล่าช้าในการอัปเดตน้ำหนัก แต่ก็เพิ่มค่าใช้จ่ายวงจรฮาร์ดแวร์อย่างมีนัยสำคัญ ผลลัพธ์เชิงปริมาณนี้เป็นพื้นฐานสำหรับการตัดสินใจออกแบบ: ในสถานการณ์ที่มีแบนด์วิดท์เพียงพอ สามารถปิดฟังก์ชันนี้เพื่อรับประกันประสิทธิภาพการใช้พลังงาน ในสถานการณ์ที่จำกัดแบนด์วิดท์ สามารถเปิดใช้งานเพื่อเพิ่มประสิทธิภาพพื้นที่
การวิเคราะห์ของเราเผยให้เห็นการแลกเปลี่ยนการออกแบบมาโครเซลล์ CIM สองประการที่ถูกมองข้ามอย่างกว้างขวางในการศึกษา DSE ตัวเร่ง CIM ก่อนหน้านี้:
- ความจุมาโครเซลล์แนะนำการแลกเปลี่ยนการออกแบบระหว่างประสิทธิภาพการใช้พลังงานและประสิทธิภาพ ดังแสดงในรูปที่ 2 มาโครเซลล์ CIM ขนาดใหญ่ที่มีตัวคูณบิตมากกว่าแสดงประสิทธิภาพการใช้พลังงานที่ดีกว่าเนื่องจากการรวมระบบคำนวณ-จัดเก็บที่กำหนดเอง ในขณะที่มาโครเซลล์ขนาดเล็กที่มีตัวคูณน้อยกว่าและเส้น
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
☕ สนับสนุนค่ากาแฟทีมงาน
หากคุณชอบบทความนี้ สามารถสนับสนุนเราได้ผ่าน PromptPay
SCAN TO PAY WITH ANY BANK本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/34263
