FAST-Prefill ไม่ใช่เพียงการแมปอัลกอริทึมกับฮาร์ดแวร์แบบง่ายๆ แต่เป็นตัวอย่างของการออกแบบร่วมระหว่างฮาร์ดแวร์และอัลกอริทึมอย่างลึกซึ้ง โดยอิงจากรูปแบบการคำนวณและลักษณะการไหลของข้อมูลของอัลกอริทึม Flex-Prefill เพื่อออกแบบเส้นทางข้อมูลและกลยุทธ์การเข้าถึงหน่วยความจำเฉพาะทาง ผลงานนี้ไม่เพียงแต่ให้โซลูชันการเร่งความเร็วที่ใช้งานได้จริง แต่ยังสร้างแรงบันดาลใจเชิงวิธีวิทยา: สำหรับเวิร์กโหลดเฉพาะ การออกแบบสถาปัตยกรรมที่ประณีตมักมีประสิทธิภาพมากกว่าการเพิ่มพลังการคำนวณแบบทั่วไป
คำสำคัญ: การเร่งความเร็วด้วย FPGA, ความสนใจแบบเบาบาง, LLM บริบทยาว, ระยะพรีฟิลล์, รูปแบบเบาบางแบบไดนามิก
เมื่อโมเดลภาษาขนาดใหญ่ต้องประมวลผลข้อความยาวสูงสุด 128K โทเค็น ปริมาณการคำนวณในระยะพรีฟิลล์จะเพิ่มขึ้นแบบทวีคูณ FAST-Prefill เสนอโซลูชันการเร่งความเร็วความสนใจแบบเบาบางแบบไดนามิกบน FPGA โดยผ่านการออกแบบสถาปัตยกรรมฮาร์ดแวร์ที่สร้างสรรค์ ซึ่งสามารถรักษาความแม่นยำของโมเดลไว้ได้ ในขณะที่ทำให้เวลาในการสร้างโทเค็นแรก (TTFT) เร็วขึ้น 2.5 เท่า และประสิทธิภาพการใช้พลังงานดีขึ้น 4.5 เท่า
การให้โมเดลภาษาขนาดใหญ่อ่านนวนิยายหลายร้อยหน้าและตอบคำถาม โมเดลต้องประมวลผลเนื้อหาทั้งเล่มก่อน นี่คือ “ระยะพรีฟิลล์” ในการอนุมาน LLM เมื่อข้อความอินพุทยาวขึ้น การคำนวณ Self-Attention ในระยะพรีฟิลล์จะเพิ่มขึ้นแบบกำลังสอง กลายเป็นคอขวดประสิทธิภาพของกระบวนการอนุมานทั้งหมด
ในปีที่ผ่านมา เทคโนโลยีความสนใจแบบเบาบางถูกเสนอเพื่อแก้ปัญหานี้ แนวคิดหลักเป็นไปตามสัญชาตญาณ: แต่ละโทเค็นไม่จำเป็นต้องโต้ตอบกับโทเค็นอื่นทั้งหมด แค่สนใจเพียงส่วนเล็กๆ เท่านั้น แต่ปัญหาคือ รูปแบบความเบาบางนี้เป็นแบบ “ไดนามิก” — ข้อความอินพุทที่ต่างกันมีรูปแบบความเบาบางที่ต่างกัน และแม้แต่เฮดความสนใจที่ต่างกันในข้อความเดียวกันก็มีรูปแบบเฉพาะของตัวเอง
ลักษณะไดนามิกนี้ทำให้ GPU อยู่ในสถานะลำบาก:
* ด้านหนึ่ง การสร้างดัชนีความเบาบางต้องการโฟลว์ควบคุมที่ซับซ้อนและการพึ่งพาข้อมูล
* อีกด้านหนึ่ง รูปแบบการเข้าถึง KV Cache แบบเบาบางทำให้อัตราการนำข้อมูลกลับมาใช้ใหม่ต่ำ และการใช้แบนด์วิดท์หน่วยความจำไม่เต็มที่
แม้ GPU จะมีความสามารถในการคำนวณสูง แต่ในงานที่เน้นการใช้หน่วยความจำเช่นนี้ ก็ยากที่จะแสดงความได้เปรียบ

นี่คือโอกาสของ FPGA FPGA มีลำดับชั้นหน่วยความจำและไปป์ไลน์การคำนวณที่ปรับแต่งได้ สามารถออกแบบเส้นทางข้อมูลเฉพาะทางสำหรับเวิร์กโหลดเฉพาะ ทีมวิจัยจากมหาวิทยาลัยเซาเทิร์นแคลิฟอร์เนียที่เสนอ FAST-Prefill ในงานประชุม FPGA’24 นั้น เป็นตัวเร่งความเร็ว FPGA ตัวแรกที่ออกแบบสำหรับระยะพรีฟิลล์บริบทยาวด้วยความสนใจแบบเบาบางแบบไดนามิก
บทความนี้จะเจาะลึกกลไกการทำงานของ FAST-Prefill สำรวจว่ามันสามารถรักษาความแม่นยำของโมเดลไว้ได้อย่างไร ในขณะที่ทำให้ประสิทธิภาพเร็วกว่า GPU NVIDIA A5000 ถึง 2.5 เท่า และประสิทธิภาพการใช้พลังงานดีขึ้น 4.5 เท่า ผ่านการออกแบบสถาปัตยกรรมฮาร์ดแวร์ที่สร้างสรรค์

รูปที่ 5 | การเปรียบเทียบเวลาในการสร้างโทเค็นแรก (TTFT) ระหว่าง FAST-Prefill กับการใช้งานพื้นฐานบน GPU รูปนี้เปรียบเทียบ GPU Nvidia A5000 กับ FAST-Prefill บนโมเดล Llama3.2-1B, Qwen-2-1.5B, Llama3.2-3B ที่ความยาวบริบท 4K ถึง 128K โดยปรับค่าให้เป็นมาตรฐาน ผลลัพธ์แสดงว่า FAST-Prefill ทำได้ดีกว่าในทุกโมเดลและทุกความยาวบริบท และข้อได้เปรียบจะเด่นชัดขึ้นเมื่อความยาวบริบทเพิ่มขึ้น สาเหตุหลักมาจากเคอร์เนลสร้างดัชนีความเบาบางเฉพาะทางและแคชสองระดับที่ลดการเข้าถึงหน่วยความจำนอกชิปอย่างมาก ในขณะที่ GPU มีปัญหาการเข้าถึงหน่วยความจำไม่สม่ำเสมอและการใช้ประโยชน์จากพลังการคำนวณต่ำ

รูปที่ 6 | การเปรียบเทียบประสิทธิภาพการใช้พลังงานระหว่าง FAST-Prefill กับการใช้งานพื้นฐานบน GPU รูปนี้เปรียบเทียบประสิทธิภาพการใช้พลังงานระหว่าง GPU กับ FAST-Prefill ในสามโมเดลที่ความยาวบริบทต่างกัน โดยใช้จำนวนโทเค็นที่สร้างต่อจูลเป็นตัวชี้วัด FAST-Prefill ด้วยคุณสมบัติการใช้พลังงานต่ำของ FPGA และการปรับปรุงการเข้าถึงหน่วยความจำในระดับสถาปัตยกรรม ทำให้ประสิทธิภาพการใช้พลังงานดีขึ้นสูงสุด 4.5 เท่า และข้อได้เปรียบด้านประสิทธิภาพพลังงานจะเด่นชัดยิ่งขึ้นในสถานการณ์บริบทยาว GPU มีประสิทธิภาพพลังงานลดลงอย่างมากในการอนุมานความสนใจแบบเบาบางบริบทยาว เนื่องจากการเข้าถึงหน่วยความจำนอกชิปที่หนาแน่นและหน่วยคำนวณที่ใช้พลังงานสูง ในขณะที่การประมวลผลแบบสตรีมมิ่งและหน่วยความจำบนชิปของ FPGA เหมาะกับความต้องการความหนาแน่นของการคำนวณต่ำของสถานการณ์นี้
สารบัญบทความ
- หนึ่ง: พื้นหลัง – ทำความเข้าใจสองระยะของการอนุมาน LLM
- 1.1 ระยะพรีฟิลล์ vs. ระยะดีโค้ด
- 1.2 ความสนใจแบบเบาบางแบบไดนามิก: โซลูชันและความท้าทาย
- สอง: ความท้าทายหลักสามประการ
- 2.1 ความท้าทาย 1: การสร้างดัชนีความเบาบางสร้างเทนเซอร์กลางจำนวนมาก
- 2.2 ความท้าทาย 2: การเข้าถึง KV Cache ที่ขึ้นกับรูปแบบความเบาบาง
- 2.3 ความท้าทาย 3: ทรัพยากร DSP จำกัดปริมาณงานการคูณเมทริกซ์
- สาม: นวัตกรรมทางสถาปัตยกรรมของ FAST-Prefill
- 3.1 นวัตกรรมที่ 1: การสร้างดัชนีความเบาบางแบบรับรู้หน่วยความจำสตรีมมิ่ง
- 3.2 นวัตกรรมที่ 2: KV Cache สองระดับแบบขับเคลื่อนด้วยกิจกรรม
- 3.3 นวัตกรรมที่ 3: หน่วยประมวลผลเมทริกซ์แบบผสม
- สี่: การประเมินผลการทดลอง
- 4.1 การตั้งค่าการทดลอง
- 4.2 การประเมินความแม่นยำ
- 4.3 การประเมินประสิทธิภาพ
- 4.4 การประเมินประสิทธิภาพพลังงาน
- 4.5 การศึกษาการกำจัดองค์ประกอบ
- ห้า: งานที่เกี่ยวข้อง
- หก: บทสรุปและแนวโน้มในอนาคต
หนึ่ง: พื้นหลัง – ทำความเข้าใจสองระยะของการอนุมาน LLM
ก่อนจะเจาะลึกการออกแบบ FAST-Prefill เราต้องเข้าใจขั้นตอนพื้นฐานของการอนุมาน LLM ก่อน
1.1 ระยะพรีฟิลล์ vs. ระยะดีโค้ด
การอนุมาน LLM ประกอบด้วยสองระยะการคำนวณที่แตกต่างกันชัดเจน:
ระยะพรีฟิลล์: โมเดลประมวลผลลำดับอินพุททั้งหมด เพื่อสร้างโทเค็นเอาต์พุตตัวแรก ในระยะนี้ อินพุทคือลำดับโทเค็นที่สมบูรณ์ โมเดลสร้างเมทริกซ์ Query (Q), Key (K) และ Value (V) ผ่านการคูณเมทริกซ์ จากนั้นคำนวณ Causal Multi-Head Self-Attention และสุดท้ายประมวลผลผ่าน Feed-Forward Network (FFN)
ระยะดีโค้ด: โมเดลสร้างโทเค็นถัดไปแบบออโตรีเกรสทีละตัว แต่ละรอบวนซ้ำจะประมวลผลเฉพาะโทเค็นล่าสุดที่สร้างขึ้นเท่านั้น ซึ่งหมายความว่าการคูณเมทริกซ์-เมทริกซ์ในระยะพรีฟิลล์ กลายเป็นการคูณเมทริกซ์-เวกเตอร์ในระยะดีโค้ด
สำหรับแอปพลิเคชันบริบทยาว เช่น การสรุปเอกสาร การสร้างโค้ด การถามตอบหลายรอบ เป็นต้น ความซับซ้อนในการคำนวณของระยะพรีฟิลล์จะเพิ่มขึ้นแบบกำลังสองตามความยาวบริบท ส่งผลให้ความล่าช้าในการสร้างโทเค็นแรก (TTFT) เพิ่มขึ้นอย่างรวดเร็ว
1.2 ความสนใจแบบเบาบางแบบไดนามิก: โซลูชันและความท้าทาย
เพื่อบรรเทาปัญหานี้ นักวิจัยได้เสนอความสนใจแบบเบาบาง หลักการทำงานคือการแบ่งเมทริกซ์ความสนใจออกเป็นบล็อกขนาดคงที่ จากนั้นเลือกบล็อกบางส่วนสำหรับแต่ละเฮดความสนใจมาคำนวณ
สอง: ความท้าทายหลักสามประการ
ทีมวิจัยระบุความท้าทายหลักสามประการในการเร่งความเร็วความสนใจแบบเบาบางแบบไดนามิกบน FPGA:
2.1 ความท้าทายหนึ่ง: การสร้างดัชนีความเบาบางสร้างเทนเซอร์กลางจำนวนมาก
การสร้างดัชนีความเบาบางต้องการให้คะแนนบล็อก Key ทั้งหมดกับเวกเตอร์บล็อก Query สุดท้าย เพื่อระบุบล็อกที่เกี่ยวข้องที่สุด ตัวอย่างที่ความยาวบริบท 128K โทเค็น แต่ละเฮดความสนใจจะสร้างผลลัพธ์กลางขนาด 128×128K ความต้องการพื้นที่เก็บข้อมูลเกิน 2GB หากรวมการดำเนินการอื่นๆ เช่น Softmax, การคำนวณเลขชี้กำลัง และการรวมบล็อก (Pooling) เทนเซอร์กลางทั้งหมดอาจสูงถึง 4GB
ข้อมูลเชิงลึกสำคัญ: เทนเซอร์กลางขนาดมหึมาเหล่านี้ไม่สามารถเก็บไว้ในหน่วยความจำบนชิปของ FPGA ได้ และการเข้าถึงหน่วยความจำนอกชิปบ่อยครั้งจะเพิ่มความล่าช้าอย่างรวดเร็ว เทคนิคการรวมโอเปอเรเตอร์แบบดั้งเดิมมีผลจำกัดในสถานการณ์นี้ เนื่องจากเน้นการดำเนินการแบบต่อองค์ประกอบเป็นหลัก และยากที่จะรวมการดำเนินการที่ซับซ้อนข้ามมิติที่ต่างกัน
2.2 ความท้าทายสอง: การเข้าถึง KV Cache ที่ขึ้นกับรูปแบบความเบาบาง
ขนาด KV Cache โดยทั่วไปอยู่ในระดับ 3-4GB และสามารถเก็บไว้ในหน่วยความจำแบนด์วิดท์สูงนอกชิปได้เท่านั้น อย่างไรก็ตาม กลไกความสนใจแบบเบาบางทำให้แต่ละ Query เข้าถึงเพียงเซตย่อยของ KV Cache เท่านั้น ซึ่งแตกต่างจากพฤติกรรมของความสนใจแบบหนาแน่นที่ทุก Query เข้าถึง KV Cache ทั้งหมด ส่งผลให้เกิดปัญหาดังต่อไปนี้:
- จังหวะการดึงข้อมูลล่วงหน้า (Prefetch) จับได้ยาก: การดึงล่วงหน้าเร็วเกินไปจะทำให้เสียทรัพยากรหน่วยความจำบนชิปที่มีค่า ในขณะที่ดึงล่วงหน้าช้าเกินไปจะทำให้ไปป์ไลน์การคำนวณหยุดชะงัก
- การใช้แบนด์วิดท์การเข้าถึงหน่วยความจำต่ำ: การอ่านหน่วยความจำที่ไม่ต่อเนื่องกัน แบบตามต้องการและเป็นบล็อกเล็กๆ ทำให้ยากที่จะใช้ประโยชน์จากคุณสมบัติแบนด์วิดท์สูงของ HBM ได้เต็มที่
- การนำข้อมูลกลับมาใช้ใหม่ได้ไม่ดี: ในกลไกเช่น Grouped-Query Attention บล็อก KV ขาดโอกาสในการนำข้อมูลกลับมาใช้ใหม่อย่างมีประสิทธิภาพระหว่างเฮดความสนใจที่ต่างกัน
2.3 ความท้าทายสาม: ทรัพยากร DSP จำกัดปริมาณงานการคูณเมทริกซ์
การอนุมานบริบทยาวเกี่ยวข้องกับการคำนวณการคูณเมทริกซ์ระดับบล็อกจำนวนมาก ตัวอย่างเช่น Xilinx Alveo U280 FPGA หากพึ่งพาเฉพาะทรัพยากร DSP ในการสร้าง Systolic Array จะสามารถสร้างอาร์เรย์ขนาด 32×32 ได้สูงสุดประมาณ 6 อาร์เรย์เท่านั้น ซึ่งยังไม่เพียงพอสำหรับการประมวลผลการคูณเมทริกซ์จำนวนมากที่ต้องการในการคำนวณความสนใจแบบเบาบางแบบขนาน และกลายเป็นคอขวดหลักในการเพิ่มประสิทธิภาพ
สาม: นวัตกรรมทางสถาปัตยกรรมของ FAST-Prefill
เมื่อเผชิญกับความท้าทายดังกล่าว FAST-Prefill ได้เสนอชุดโซลูชันสถาปัตยกรรมฮาร์ดแวร์ที่สมบูรณ์

รูปที่ 1 | สถาปัตยกรรมโดยรวมของ FAST-Prefill สถาปัตยกรรมนี้เป็นตัวเร่งความเร็ว FPGA ที่ออกแบบเฉพาะสำหรับระยะพรีฟิลล์ของโมเดลขนาดใหญ่บริบทยาว รวมหน่วยหลัก เช่น การสร้างดัชนีความเบาบางและการคำนวณความสนใจแบบเบาบาง โดยมี Finite State Machine ระดับโลกประสานการจัดตารางกระบวนการทั้งหมด หน่วยต่างๆ ติดต่อสื่อสารผ่านเครือข่ายเชื่อมต่อ AXI กับคอนโทรลเลอร์หน่วยความจำ DDR และ HBM หลังจาก CPU ประมวลผลล่วงหน้า เช่น การตัดคำเสร็จสิ้น ข้อมูลจะถูกส่งเข้า FPGA และหน่วยหลัก เช่น หน่วยประมวลผลเมทริกซ์แบบผสม จะทำการคำนวณให้เสร็จสิ้น และจัดการการไหลของข้อมูลผ่านลำดับชั้นหน่วยความจำบนชิปที่ได้รับการปรับปรุง เพื่อเร่งความเร็วความสนใจแบบเบาบางแบบไดนามิกแบบครบวงจรอย่างมีประสิทธิภาพ
องค์ประกอบหลักของสถาปัตยกรรม ได้แก่:
* Finite State Machine ระดับโลก: ประสานและควบคุมลำดับการดำเนินการของแต่ละระยะการคำนวณ
* หน่วยฟังก์ชันพิเศษ: จัดการการดำเนินการแบบไม่เชิงเส้น เช่น Softmax, Layer Normalization และฟังก์ชันกระตุ้น
* หน่วยสร้างดัชนีความเบาบาง: คำนวณและสร้างรูปแบบความเบาบางของความสนใจแบบไดนามิก
* หน่วยความสนใจแบบเบาบาง: ดำเนินการคำนวณความสนใจตามดัชนีความเบาบาง
* หน่วยประมวลผลเมทริกซ์แบบผสม: ให้ความสามารถในการคำนวณการคูณเมทริกซ์ที่มีปริมาณงานสูง
3.1 นวัตกรรมที่หนึ่ง: การสร้างดัชนีความเบาบางแบบรับรู้หน่วยความจำสตรีมมิ่ง
หนึ่งในนวัตกรรมหลัก
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/23999
