QLoRA และการปรับแต่งแบบละเอียด 4 บิต
QLoRA เป็นเทคนิคที่ช่วยให้คุณปรับแต่งโมเดลภาษาขนาดใหญ่บน GPU สำหรับผู้ใช้ทั่วไปเพียงรายเดียว โดยจัดเก็บโมเดลที่แช่แข็งไว้เพียง 4 บิตต่อน้ำหนัก
ภาพรวม
It made customizing 65B-parameter models possible on hardware that previously could only handle models a fraction of that size.
เจาะลึก
โดยปกติแล้ว การปรับแต่งโมเดลขนาดใหญ่อย่างละเอียดหมายถึงการโหลดทุกน้ำหนักด้วยความแม่นยำ 16 บิต และอัปเดตน้ำหนักทั้งหมดซึ่งต้องใช้หน่วยความจำมหาศาล QLoRA ผสมผสานสองแนวคิดเข้าด้วยกัน ขั้นแรก มันจะหยุดโมเดลที่ฝึกไว้ล่วงหน้าแล้วลดขนาดลงเหลือ 4 บิต เฉือนหน่วยความจำประมาณสี่เท่า ประการที่สอง ใช้ LoRA: แทนที่จะอัปเดตเมทริกซ์น้ำหนักขนาดยักษ์ แต่จะอัดเมทริกซ์อะแดปเตอร์ระดับต่ำที่สามารถฝึกได้ขนาดเล็กไว้ข้างๆ จึงมีการอัปเดตพารามิเตอร์เพียงไม่กี่ล้านตัวเท่านั้น ฐาน 4 บิตยังคงอยู่ในขณะที่การไล่ระดับสีไหลผ่านอะแดปเตอร์ขนาดเล็กเท่านั้น QLoRA เปิดตัวในปี 2023 โดย Dettmers และเพื่อนร่วมงาน แสดงให้เห็นว่าการปรับแต่งรุ่น 65B บน GPU 48GB หนึ่งตัวอาจตรงกับคุณภาพของการปรับแต่งแบบละเอียด 16 บิตเต็มรูปแบบ
ข้อมูลเชิงลึกทางเทคนิค
QLoRA แนะนำสามเทคนิค NF4 (NormalFloat 4 บิต) เป็นประเภทข้อมูลที่ปรับให้เหมาะสมสำหรับการกระจายน้ำหนักประสาทแบบโค้งระฆัง ซึ่งให้ความแม่นยำที่ดีกว่า int4 ธรรมดา การหาปริมาณสองเท่าจะบีบอัดค่าคงที่ของการหาปริมาณเอง ซึ่งช่วยประหยัดหน่วยความจำเพิ่มเติม เครื่องมือเพิ่มประสิทธิภาพ Paged ใช้หน่วยความจำรวม GPU-CPU เพื่อดูดซับการเพิ่มขึ้นอย่างรวดเร็วระหว่างลำดับที่ยาว ป้องกันการล่มของหน่วยความจำไม่เพียงพอ ในระหว่างการส่งต่อและย้อนกลับ น้ำหนัก 4 บิตจะถูก dequantize ให้เป็น 16 บิตทันเวลาพอดีสำหรับการคูณเมทริกซ์ จากนั้นจึงละทิ้ง
ผลกระทบเชิงกลยุทธ์
ความเร็วและขนาด
ขั้นตอนการทำงานของภาษาสามารถดำเนินไปได้เร็วขึ้นโดยไม่กระทบต่อความสม่ำเสมอ
เข้าถึงและเข้าถึง
ขยายการเข้าถึงภาษาและรูปแบบการสื่อสาร
การตัดสินใจที่ชัดเจนยิ่งขึ้น
ทีมสามารถใช้เวลามากขึ้นในการตัดสิน ในขณะที่ระบบอัตโนมัติจัดการกับการทำซ้ำ
อนาคตของ QLoRA และการปรับแต่งแบบละเอียด 4 บิต
การปรับแต่งแบบละเอียด 4 บิตกลายเป็นแนวทางปฏิบัติมาตรฐาน และปัจจุบันการวิจัยมุ่งไปสู่ความแม่นยำที่ต่ำลง รวมถึงการแสดงแบบ 2 บิตและ 1 บิต (แบบไตรภาค) รูปแบบการหาปริมาณที่ใหม่กว่า เช่น AWQ, GPTQ และ HQQ ปรับแต่งความแม่นยำเพิ่มเติม ในขณะที่เทคนิค เช่น QA-LoRA มุ่งหวังที่จะรักษาแบบจำลองเชิงปริมาณไว้ แม้ว่าจะรวมอะแดปเตอร์แล้วก็ตาม เมื่อโมเดล open-weight เติบโตขึ้น คาดหวังว่าเครื่องมือจะช่วยให้มือสมัครเล่นปรับแต่งโมเดล 70B-plus บน GPU สำหรับเล่นเกมตัวเดียวให้กลายเป็นกิจวัตรและปรับแต่งได้ตามใจชอบ
การใช้งานจริงในโลกแห่งความเป็นจริง
สตาร์ทอัพปรับแต่งโมเดล 70B Llama บน GPU 48GB ตัวเดียว เพื่อสร้างผู้ช่วยสนับสนุนลูกค้าตามเสียงของแบรนด์ของตัวเอง โดยไม่ต้องเช่าคลัสเตอร์เซิร์ฟเวอร์
นักวิจัยที่มี RTX 4090 สำหรับผู้บริโภคเพียงรายเดียวปรับโมเดลแบบเปิดให้เข้ากับชุดข้อมูลตอบคำถามทางการแพทย์เฉพาะกลุ่มในชั่วข้ามคืน
นักพัฒนาสร้างอะแดปเตอร์ LoRA ขนาดเล็กที่ถอดเปลี่ยนได้หลายสิบตัวสำหรับงานที่แตกต่างกัน โดยทั้งหมดนี้ใช้โมเดลพื้นฐาน 4 บิตตัวเดียวที่โหลดในหน่วยความจำ
ผู้ที่ชื่นชอบงานอดิเรกปรับแต่งโมเดลในบันทึกการแชทส่วนตัวเพื่อเลียนแบบสไตล์การเขียนโดยเฉพาะโดยใช้ฮาร์ดแวร์เกรด Colab ฟรี
ความเสี่ยงและรั้ว
ข้อเท็จจริงที่หลอนประสาทสามารถเข้าสู่รายงาน กระแสสนับสนุน หรือผลการวิจัยได้อย่างเงียบๆ
ความละเอียดอ่อนของการแจ้งเตือนสามารถสร้างผลลัพธ์ที่ไม่สอดคล้องกันในคำขอที่คล้ายกัน
ข้อมูลข้อความที่ละเอียดอ่อนอาจถูกเปิดเผยหากการควบคุมการเข้าถึงอ่อนแอ
แผนงานการดำเนินงาน
กำหนดรูปแบบเอาต์พุต โทนเสียง และมาตรฐานคุณภาพก่อนเปิดตัว
การตอบสนองภาคพื้นดินกับแหล่งข้อมูลที่เชื่อถือได้เมื่อใดก็ตามที่ความแม่นยำมีความสำคัญ
รักษาจุดตรวจสอบการตรวจสอบโดยมนุษย์สำหรับผลลัพธ์ที่มีเดิมพันสูง
ติดตามรูปแบบความล้มเหลวและฝึกอบรมพร้อมท์หรือเวิร์กโฟลว์เป็นประจำ
สำรวจต่อไป
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 QLoRA and 4-Bit Fine-Tuning 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 QLoRA and 4-Bit Fine-Tuning?
QLoRA เป็นเทคนิคที่ช่วยให้คุณปรับแต่งโมเดลภาษาขนาดใหญ่บน GPU สำหรับผู้ใช้ทั่วไปเพียงรายเดียว โดยจัดเก็บโมเดลที่แช่แข็งไว้เพียง 4 บิตต่อน้ำหนัก ทำให้การปรับแต่งโมเดลพารามิเตอร์ 65B เป็นไปได้บนฮาร์ดแวร์ที่ก่อนหน้านี้สามารถรองรับโมเดลได้เพียงเศษเสี้ยวของขนาดนั้นเท่านั้น
แนวคิดหลักในการประหยัดหน่วยความจำเบื้องหลังส่วน '4 บิต' ของ QLoRA คืออะไร
QLoRA จัดเก็บตุ้มน้ำหนักที่ฝึกไว้ล่วงหน้าแบบแช่แข็งไว้ที่ 4 บิตต่อค่า ซึ่งจะตัดหน่วยความจำประมาณสี่เท่าเมื่อเทียบกับ 16 บิต
ในระหว่างการปรับแต่ง QLoRA อย่างละเอียด พารามิเตอร์ใดที่ได้รับการอัพเดตตามการไล่ระดับลงจริง ๆ
โมเดลพื้นฐานถูกแช่แข็ง เฉพาะเมทริกซ์อะแดปเตอร์ระดับต่ำที่ถูกแทรกเท่านั้นที่จะได้รับการอัปเดตการไล่ระดับสี ซึ่งเป็นเพียงส่วนเล็กๆ ของพารามิเตอร์
NF4 คืออะไรในบริบทของ QLoRA
NF4 (NormalFloat 4 บิต) เป็นประเภทข้อมูลที่ออกแบบมาเพื่อการกระจายน้ำหนักของโครงข่ายประสาทเทียมด้วยเส้นโค้งระฆัง เพื่อความแม่นยำที่ดีกว่า int4 ธรรมดา
'เครื่องมือเพิ่มประสิทธิภาพเพจ' ในที่อยู่ QLoRA มีปัญหาอะไร
เครื่องมือเพิ่มประสิทธิภาพ Paged ใช้หน่วยความจำรวม GPU-CPU เพื่อดูดซับหน่วยความจำที่เพิ่มขึ้นอย่างรวดเร็ว ป้องกันการล่มของหน่วยความจำไม่เพียงพอระหว่างการฝึกอินพุตที่ยาว
เมื่อใดที่ตุ้มน้ำหนัก 4 บิตจะถูกแปลงกลับไปให้มีความแม่นยำสูงกว่าในระหว่างการฝึกซ้อม
ตุ้มน้ำหนัก 4 บิตจะถูกลดปริมาณเป็นความแม่นยำ 16 บิตทันทีสำหรับแต่ละเมทริกซ์คูณ จากนั้นสำเนาที่มีความแม่นยำสูงกว่าจะถูกโยนทิ้งไปเพื่อประหยัดหน่วยความจำ