คู่มือทางเทคนิค

การเพิ่มประสิทธิภาพแคช KV

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

ภาพรวม

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

KV Cache Optimization เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในระดับต่างๆ

เจาะลึก

ในหม้อแปลงไฟฟ้า แต่ละโทเค็นใหม่จะเข้าร่วมกับโทเค็นก่อนหน้าทั้งหมดผ่านคีย์ความสนใจ (K) และค่า (V) การคำนวณ K และ V ใหม่สำหรับลำดับทั้งหมดในทุกขั้นตอนจะเป็นกำลังสองและสิ้นเปลือง ดังนั้นโมเดลจึงแคชสิ่งเหล่านี้: แคช KV ข้อเสียคือขนาด แคชจะเพิ่มขึ้นเป็นเส้นตรงตามความยาวลำดับ ขนาดแบตช์ เลเยอร์ และส่วนหัว ดังนั้นคำขอที่มีบริบทยาวจึงอาจใช้หน่วยความจำ GPU มากกว่าน้ำหนักของโมเดลเอง การเพิ่มประสิทธิภาพจะจัดการกับปัญหานี้จากหลายมุม: หน่วยความจำเพจ (PagedAttention ของ vLLM) จะจัดเก็บแคชไว้ในบล็อกที่ไม่ต่อเนื่องกันเพื่อกำจัดการกระจายตัวและเปิดใช้งานการแบ่งปัน การหาปริมาณเก็บ K และ V ในรูปแบบ 8 บิตหรือ 4 บิต และการเปลี่ยนแปลงทางสถาปัตยกรรม เช่น Grouped-Query Attention (GQA) และ Multi-Query Attention (MQA) ทำให้ส่วนหัวของแบบสอบถามจำนวนมากแชร์ส่วนหัวของคีย์/ค่าน้อยลง ส่งผลให้ขนาดแคชที่ต้นทางลดลง

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

PagedAttention ยืมเพจหน่วยความจำเสมือนจากระบบปฏิบัติการ: แคชอยู่ในบล็อกขนาดคงที่ซึ่งแมปผ่านตารางการค้นหา ดังนั้นคำขอจะใช้เฉพาะบล็อกที่ต้องการและคำนำหน้าเหมือนกัน (เช่น ข้อความแจ้งของระบบที่ใช้ร่วมกัน) สามารถชี้ไปที่บล็อกเดียวกันได้ Multi-head Latent Attention (MLA) ที่ใช้ในโมเดล DeepSeek บีบอัด K และ V ให้เป็นเวกเตอร์แฝงขนาดเล็กที่ใช้ร่วมกัน ซึ่งจะตัดหน่วยความจำอย่างมากในขณะที่ยังคงความแม่นยำไว้

การเรียนรู้การเพิ่มประสิทธิภาพแคช KV อย่างเชี่ยวชาญ

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

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

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

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

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

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

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด

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

ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต

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

อนาคตของการเพิ่มประสิทธิภาพแคช KV

เมื่อหน้าต่างบริบทขยายออกไปเป็นโทเค็นหลายแสนหรือหลายล้านโทเค็น แคช KV จะกลายเป็นต้นทุนการให้บริการหลัก คาดว่าจะมีการบีบอัดแคชเชิงรุกและการขับไล่ (ทิ้งโทเค็นการเอาใจใส่ต่ำ), การแชร์คำนำหน้าคำขอข้ามเป็นค่าเริ่มต้น, ถ่ายโอนแคชเย็นไปยัง CPU หรือ NVMe และสถาปัตยกรรมเช่น MLA และ GQA กลายเป็นมาตรฐาน การจัดการแคชจะมีลักษณะคล้ายกับลำดับชั้นหน่วยความจำเต็มรูปแบบมากขึ้นด้วยระดับและการดึงข้อมูลล่วงหน้าแบบอัจฉริยะ

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

PagedAttention ของ vLLM ให้บริการเซสชันการสนทนาพร้อมกันจำนวนมากโดยบรรจุบล็อก KV โดยไม่มีการกระจายตัวของหน่วยความจำ

Grouped-Query Attention ในโมเดล Llama ที่ลดขนาดแคช KV เพื่อให้บริบทที่ยาวขึ้นพอดีกับหน่วยความจำ GPU

การกำหนดปริมาณแคช KV เป็น 8 บิต (KV8) เพื่อลดหน่วยความจำแคชลงครึ่งหนึ่งโดยประมาณในระหว่างการสรุปเอกสารขนาดยาว

การแคชคำนำหน้าที่ใช้บล็อก KV ของพรอมต์ระบบที่ใช้ร่วมกันกับคำขอ API หลายพันรายการ

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

การเพิ่มประสิทธิภาพแคช KV ในทางปฏิบัติ

PagedAttention ของ vLLM ให้บริการเซสชันการสนทนาพร้อมกันจำนวนมากโดยบรรจุบล็อก KV โดยไม่มีการกระจายตัวของหน่วยความจำ

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

การเพิ่มประสิทธิภาพแคช KV ในทางปฏิบัติ

Grouped-Query Attention ในโมเดล Llama ที่ลดขนาดแคช KV เพื่อให้บริบทที่ยาวขึ้นพอดีกับหน่วยความจำ GPU

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

การเพิ่มประสิทธิภาพแคช KV ในทางปฏิบัติ

การกำหนดปริมาณแคช KV เป็น 8 บิต (KV8) เพื่อลดหน่วยความจำแคชลงครึ่งหนึ่งโดยประมาณในระหว่างการสรุปเอกสารขนาดยาว

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

การเพิ่มประสิทธิภาพแคช KV ในทางปฏิบัติ

การแคชคำนำหน้าที่ใช้บล็อก KV ของพรอมต์ระบบที่ใช้ร่วมกันกับคำขอ API หลายพันรายการ

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

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

!

การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้

!

ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป

!

ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น

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

1

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน

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

2

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง

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

3

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

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

4

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด

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

สำรวจต่อไป