คู่มือ AI ภาษา

แคช KV

แคช KV จัดเก็บคีย์และเวกเตอร์ค่าที่ Transformer ได้คำนวณไว้แล้วสำหรับโทเค็นก่อนหน้านี้ ดังนั้นจึงไม่จำเป็นต้องคำนวณใหม่สำหรับทุกคำใหม่ที่สร้างขึ้น

ภาพรวม

แคช KV จัดเก็บคีย์และเวกเตอร์ค่าที่ Transformer ได้คำนวณไว้แล้วสำหรับโทเค็นก่อนหน้านี้ ดังนั้นจึงไม่จำเป็นต้องคำนวณใหม่สำหรับทุกคำใหม่ที่สร้างขึ้น นี่เป็นเหตุผลเดียวที่ใหญ่ที่สุดในการสร้างข้อความที่รวดเร็ว — และสิ่งสำคัญคือการกินหน่วยความจำ GPU ของคุณในระหว่างการสนทนาที่ยาวนาน

KV Cache เป็นส่วนหนึ่งของสแต็กภาษา-AI ที่ใช้ในการอ่าน สร้าง จำแนก และแปลงข้อความและคำพูดตามขนาด

เจาะลึก

Transformers สร้างข้อความทีละโทเค็น และชั้นความสนใจของโทเค็นใหม่แต่ละชั้นจำเป็นต้องเปรียบเทียบกับโทเค็นก่อนหน้าทั้งหมด กลไกความสนใจจะเปลี่ยนแต่ละโทเค็นให้เป็นเวกเตอร์คิวรี คีย์ และค่า หากไม่มีการแคช การสร้างโทเค็นจำนวน 1,000 จะหมายถึงการคำนวณคีย์และค่าใหม่สำหรับโทเค็นก่อนหน้าทั้งหมด 999 รายการในทุกขั้นตอน ซึ่งเป็นงานกำลังสองที่สิ้นเปลือง แคช KV จะบันทึกเวกเตอร์คีย์และค่าเหล่านั้นหลังจากที่คำนวณครั้งแรกและนำมาใช้ซ้ำ ดังนั้นแต่ละขั้นตอนใหม่จะคำนวณเฉพาะเวกเตอร์สำหรับโทเค็นใหม่ล่าสุดเพียงรายการเดียวและดูแลผ่านแคชที่เก็บไว้ สิ่งนี้จะลดต้นทุนต่อโทเค็นจากการปรับขนาดด้วยความยาวของลำดับเป็นค่าคงที่โดยประมาณ ข้อเสียเปรียบก็คือหน่วยความจำ: แคชจะเพิ่มขึ้นเป็นเส้นตรงตามความยาวบริบท จำนวนเลเยอร์ และส่วนหัวของความสนใจ ซึ่งมักจะกลายเป็นผู้ใช้หน่วยความจำที่โดดเด่นในการให้บริการตามบริบทแบบยาว

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

ในระหว่างขั้นตอน 'กรอกข้อมูลล่วงหน้า' โมเดลจะประมวลผลพร้อมท์ทั้งหมดและเติมแคช ในระหว่าง 'ถอดรหัส' มันจะต่อท้าย K/V ของโทเค็นหนึ่งรายการต่อขั้นตอนและเข้าร่วมอีกครั้ง ขนาดแคชจะปรับขนาดเป็น 2 (K และ V) × เลเยอร์ × หัว × head_dim × sequence_length × แบทช์ ในความแม่นยำที่เลือก เพื่อควบคุมสิ่งนี้ โมเดลสมัยใหม่ใช้ความสนใจแบบกลุ่มแบบสอบถามหรือหลายแบบสอบถามเพื่อแบ่งปันคีย์/ค่าข้ามส่วนหัว และระบบให้บริการเช่น vLLM ใช้ PagedAttention เพื่อจัดสรรแคชในบล็อกที่ไม่ต่อเนื่องกัน ลดการกระจายตัวและการสิ้นเปลือง

การเรียนรู้แคช KV

แคช KV จัดเก็บคีย์และเวกเตอร์ค่าที่ Transformer ได้คำนวณไว้แล้วสำหรับโทเค็นก่อนหน้านี้ ดังนั้นจึงไม่จำเป็นต้องคำนวณใหม่สำหรับทุกคำใหม่ที่สร้างขึ้น นี่เป็นเหตุผลเดียวที่ใหญ่ที่สุดในการสร้างข้อความที่รวดเร็ว — และสิ่งสำคัญคือการกินหน่วยความจำ GPU ของคุณในระหว่างการสนทนาที่ยาวนาน KV Cache เป็นส่วนหนึ่งของสแต็กภาษา-AI ที่ใช้ในการอ่าน สร้าง จำแนก และแปลงข้อความและคำพูดตามขนาด หากต้องการสร้างความเข้าใจอย่างลึกซึ้ง ให้ถือว่า KV Cache เป็นเพียงโมเดลการดำเนินงาน ไม่ใช่คุณลักษณะเดียว: กำหนดผลลัพธ์ที่ต้องการ ชี้แจงสมมติฐาน และแยกสิ่งที่ระบบสามารถทำได้อย่างน่าเชื่อถือจากสิ่งที่ยังต้องใช้วิจารณญาณจากผู้เชี่ยวชาญ

ในทางปฏิบัติ ทีมที่แข็งแกร่งใช้พรอมต์การออกแบบ KV Cache การดึงข้อมูล และลูปการตรวจสอบเป็นระบบการสื่อสารแบบรวมระบบเดียว โดยจะบันทึกเกณฑ์ความสำเร็จที่ชัดเจน ทดสอบกับข้อมูลและขั้นตอนการทำงานที่สมจริง และทำซ้ำตามรูปแบบความล้มเหลวที่สังเกตได้ แทนที่จะชนะการวัดประสิทธิภาพเพียงครั้งเดียว นี่คือจุดที่ความเข้าใจทางทฤษฎีกลายเป็นความสามารถที่คงทนของผลิตภัณฑ์ นโยบาย และการดำเนินงาน

ขั้นตอนการทำงานของภาษาสามารถดำเนินไปได้เร็วขึ้นโดยไม่กระทบต่อความสม่ำเสมอ ในขณะเดียวกัน ข้อเท็จจริงที่หลอนประสาทสามารถเข้าสู่รายงาน กระแสสนับสนุน หรือผลการวิจัยได้อย่างเงียบๆ แนวทางที่ยืดหยุ่นที่สุดคือการรวมความเร็วของการทดลองเข้ากับวินัยในการกำกับดูแล: ดำเนินการนำร่อง จับหลักฐาน เผยแพร่บันทึกการตัดสินใจ และอัปเดตการป้องกันอย่างต่อเนื่องเมื่อพฤติกรรมของโมเดล ความคาดหวังของผู้ใช้ และข้อกำหนดด้านกฎระเบียบมีการเปลี่ยนแปลง

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

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

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

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

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

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

ทีมสามารถใช้เวลามากขึ้นในการตัดสิน ในขณะที่ระบบอัตโนมัติจัดการกับการทำซ้ำ ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

อนาคตของแคช KV

เมื่อหน้าต่างบริบทขยายออกไปเป็นโทเค็นนับแสน แคช KV จะกลายเป็นคอขวดส่วนกลาง ดังนั้นนวัตกรรมจึงรุนแรง: การกำหนดปริมาณแคชเป็น 8 หรือ 4 บิต นโยบายการขับไล่ที่ทิ้งโทเค็นที่มีความสำคัญต่ำ การแชร์คำนำหน้าคำขอข้าม และการลดการโหลดไปยัง CPU หรือดิสก์ การเปลี่ยนแปลงทางสถาปัตยกรรม เช่น ความสนใจแฝงแบบหลายหัวจะบีบอัดแคชเอง คาดว่าจะมีการออกแบบร่วมกันอย่างต่อเนื่องสำหรับรูปแบบความสนใจและระบบหน่วยความจำโดยมุ่งเป้าไปที่การให้บริการบริบทที่ยาวมากในราคาถูกและมีปริมาณงานสูง

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

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

การแคชคำนำหน้าที่แชร์แคชเพื่อให้ระบบพร้อมท์กับผู้ใช้จำนวนมาก ลดต้นทุนและเวลาแฝง

PagedAttention ของ vLLM จัดการแคช KV ในบล็อกเพื่อรองรับคำขอจำนวนมากพร้อมกันบน GPU ตัวเดียวอย่างมีประสิทธิภาพ

การหาปริมาณแคช KV ให้มีความแม่นยำน้อยลงเพื่อให้พอดีกับบริบทที่ยาวขึ้นในหน่วยความจำ GPU ที่จำกัด

รูปแบบการดำเนินงาน

KV Cache ในทางปฏิบัติ

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

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

KV Cache ในทางปฏิบัติ

การแคชคำนำหน้าที่แชร์แคชเพื่อให้ระบบพร้อมท์กับผู้ใช้จำนวนมาก ลดต้นทุนและเวลาแฝง

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

KV Cache ในทางปฏิบัติ

PagedAttention ของ vLLM จัดการแคช KV ในบล็อกเพื่อรองรับคำขอจำนวนมากพร้อมกันบน GPU ตัวเดียวอย่างมีประสิทธิภาพ

PagedAttention ของ vLLM จัดการแคช KV ในบล็อกเพื่อรองรับคำขอจำนวนมากพร้อมกันบน GPU ตัวเดียวอย่างมีประสิทธิภาพ ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

KV Cache ในทางปฏิบัติ

การหาปริมาณแคช KV ให้มีความแม่นยำน้อยลงเพื่อให้พอดีกับบริบทที่ยาวขึ้นในหน่วยความจำ GPU ที่จำกัด

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

ติดตามรูปแบบความล้มเหลวและฝึกอบรมพร้อมท์หรือเวิร์กโฟลว์เป็นประจำ ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

สำรวจต่อไป