คู่มือ AI ภาษา

แฟลชความสนใจ

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

อ่าน 2 นาทีอัปเดตล่าสุด

ภาพรวม

It made long-context training and inference dramatically faster and cheaper.

เจาะลึก

ความสนใจมาตรฐานจะคำนวณคะแนนสำหรับโทเค็นทุกคู่ ทำให้เกิดเมทริกซ์แบบ N-by-N สำหรับลำดับโทเค็น 4,000 โทเค็นซึ่งเท่ากับ 16 ล้านคะแนน และต้องเขียนเมทริกซ์และอ่านกลับจากหน่วยความจำแบนด์วิธสูง (HBM) ของ GPU ปริมาณการใช้หน่วยความจำนั้น ไม่ใช่คณิตศาสตร์ ถือเป็นคอขวดที่แท้จริง FlashAttention ซึ่ง Tri Dao และเพื่อนร่วมงานเปิดตัวในปี 2022 ได้ปรับโครงสร้างการคำนวณใหม่เพื่อไม่ให้เมทริกซ์ปรากฏอย่างสมบูรณ์ โดยจะประมวลผลลำดับในไทล์ที่พอดีกับ SRAM บนชิปที่เล็กและเร็วเป็นพิเศษของ GPU โดยจะคำนวณ softmax เพิ่มขึ้นเรื่อยๆ ผลลัพธ์จะเหมือนกันทางคณิตศาสตร์กับความสนใจมาตรฐาน แต่ใช้หน่วยความจำน้อยกว่ามากและทำงานเร็วกว่าหลายเท่า ทำให้เปิดใช้งานหน้าต่างบริบทที่ยาวกว่ามาก

ข้อมูลเชิงลึกทางเทคนิค

เคล็ดลับคือ 'softmax ออนไลน์' รวมกับการปูกระเบื้อง FlashAttention โหลดบล็อกเล็กๆ ของการสืบค้น คีย์ และค่าลงใน SRAM คำนวณเอาต์พุตความสนใจบางส่วน และลดขนาดผลรวมที่กำลังดำเนินการอยู่เมื่อบล็อกใหม่มาถึง เพื่อให้การปรับมาตรฐาน softmax ยังคงถูกต้องโดยไม่ต้องดูคะแนนทั้งหมดในคราวเดียว เนื่องจากไม่เคยจัดเก็บเมทริกซ์ N-by-N เต็มรูปแบบไว้ใน HBM หน่วยความจำจึงปรับขนาดเชิงเส้นแทนที่จะเป็นกำลังสอง และเคอร์เนลจะถูกรวมเข้ากับการทำงานของ GPU เดียวเพื่อลดการอ่านและเขียนหน่วยความจำที่ช้า

ผลกระทบเชิงกลยุทธ์

ความเร็วและขนาด

ขั้นตอนการทำงานของภาษาสามารถดำเนินไปได้เร็วขึ้นโดยไม่กระทบต่อความสม่ำเสมอ

เข้าถึงและเข้าถึง

ขยายการเข้าถึงภาษาและรูปแบบการสื่อสาร

การตัดสินใจที่ชัดเจนยิ่งขึ้น

ทีมสามารถใช้เวลามากขึ้นในการตัดสิน ในขณะที่ระบบอัตโนมัติจัดการกับการทำซ้ำ

อนาคตของ FlashAttention

FlashAttention ได้กลายเป็นแบบเอกสารสำเร็จรูปเริ่มต้น FlashAttention-2 ปรับปรุงการแบ่งพาร์ติชันการทำงานของ GPU และ FlashAttention-3 ใช้ประโยชน์จากคุณสมบัติฮาร์ดแวร์ Hopper รุ่นใหม่ เช่น อะซิงโครนัสและ FP8 ที่มีความแม่นยำต่ำ คาดว่าจะมีการออกแบบร่วมกับชิปอย่างต่อเนื่อง การผสานรวมที่ลึกยิ่งขึ้นในเซิร์ฟเวอร์การอนุมานสำหรับเอกสารขนาดยาว และรูปแบบต่างๆ ที่ปรับแต่งสำหรับความสนใจแบบกระจัดกระจายหรือหน้าต่างแบบเลื่อน ในขณะที่หน้าต่างบริบทผลักดันไปสู่โทเค็นนับล้าน เคอร์เนลที่รับรู้ IO เช่นนี้ยังคงมีความสำคัญต่อการจัดการต้นทุนการฝึกอบรมและการให้บริการ

การใช้งานจริงในโลกแห่งความเป็นจริง

ฝึกฝนโมเดลภาษาขนาดใหญ่ เช่น Llama และระบบแบบ GPT ได้เร็วขึ้นและลดต้นทุน GPU

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

เร่งความเร็วไปป์ไลน์การสรุปเอกสารที่ประมวลผลโทเค็นนับหมื่นในคราวเดียว

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

ความเสี่ยงและรั้ว

ข้อเท็จจริงที่หลอนประสาทสามารถเข้าสู่รายงาน กระแสสนับสนุน หรือผลการวิจัยได้อย่างเงียบๆ

ความละเอียดอ่อนของการแจ้งเตือนสามารถสร้างผลลัพธ์ที่ไม่สอดคล้องกันในคำขอที่คล้ายกัน

ข้อมูลข้อความที่ละเอียดอ่อนอาจถูกเปิดเผยหากการควบคุมการเข้าถึงอ่อนแอ

แผนงานการดำเนินงาน

1

กำหนดรูปแบบเอาต์พุต โทนเสียง และมาตรฐานคุณภาพก่อนเปิดตัว

2

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

3

รักษาจุดตรวจสอบการตรวจสอบโดยมนุษย์สำหรับผลลัพธ์ที่มีเดิมพันสูง

4

ติดตามรูปแบบความล้มเหลวและฝึกอบรมพร้อมท์หรือเวิร์กโฟลว์เป็นประจำ

สำรวจต่อไป

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the FlashAttention quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

เริ่มแบบทดสอบ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

คำแนะนำต่อไป

การฝังตำแหน่งโรตารี

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

What is FlashAttention?

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

อะไรคือจุดคอขวดหลักของเป้าหมาย FlashAttention ในความสนใจมาตรฐาน?

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

ผลลัพธ์ของ FlashAttention เปรียบเทียบกับความสนใจมาตรฐานอย่างไร

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

หน่วยความจำ GPU ใดที่ FlashAttention ใช้ประโยชน์โดยการประมวลผลข้อมูลเป็นไทล์

FlashAttention โหลดไทล์ขนาดเล็กลงใน SRAM บนชิปที่รวดเร็วของ GPU ทำให้งานหนักอยู่ใกล้กับหน่วยประมวลผล

เทคนิคใดที่ทำให้ FlashAttention คำนวณ softmax โดยไม่ต้องดูคะแนนทั้งหมดในคราวเดียว

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

FlashAttention-3 ใช้ประโยชน์จากอะไรเป็นพิเศษ

FlashAttention-3 ได้รับการออกแบบร่วมกับ Hopper GPU สมัยใหม่ โดยใช้การดำเนินการแบบอะซิงโครนัสและ FP8 ที่มีความแม่นยำต่ำเพื่อการเร่งความเร็วเพิ่มเติม