โมเดลและแพลตฟอร์ม AI

โลรา, QLoRA และ QA-LoRA: การปรับให้เหมาะสมอย่างมีประสิทธิภาพในโมเดลภาษาขนาดใหญ่ผ่านการแยกตัวประกอบเมทริกซ秩ต่ำ

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

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

ในบทความก่อนหน้านี้ เราได้พูดถึงการปรับให้เหมาะสมของ LLM เพื่อตอบสนองความต้องการเฉพาะ เราได้สำรวจวิธีการปรับให้เหมาะสมต่างๆ เช่น การปรับให้เหมาะสมตามคำแนะนำ การปรับให้เหมาะสมสำหรับงานเดียว และการปรับให้เหมาะสมที่มีประสิทธิภาพ (PEFT) แต่ละวิธีมีการเข้าถึงที่เป็นเอกลักษณ์ในการปรับให้เหมาะสมของ LLM สำหรับงานที่แตกต่างกัน สิ่งสำคัญที่สุดคือโครงสร้างของทรานส์ฟอร์เมอร์ ซึ่งเป็นกระดูกสันหลังของ LLM และความท้าทายที่เกิดจากความต้องการทางคำนวณและหน่วยความจำในการจัดการพารามิเตอร์จำนวนมากในช่วงการปรับให้เหมาะสม

พารามิเตอร์ใน LLM

https://huggingface.co/blog/hf-bitsandbytes-integration

รูปด้านบนแสดงถึงขนาดของโมเดลภาษาขนาดใหญ่หลายรุ่น โดยเรียงลำดับตามจำนวนพารามิเตอร์ สิ่งสำคัญคือ PaLM, BLOOM ฯลฯ

ในปีนี้ มีการพัฒนาโมเดลที่ใหญ่ขึ้น แต่การปรับให้เหมาะสมของโมเดลเหล่านี้ในระบบมาตรฐานนั้นเป็นไปไม่ได้โดยไม่มีการปรับให้เหมาะสมแบบเฉพาะเจาะจง

นี่คือจุดที่ Low-Rank Adaptation (LoRA) เข้ามา โดย Microsoft (MSFT ) ได้แนะนำใน บทความ นี้ เพื่อลดความท้าทายเหล่านี้และทำให้ LLM มีความสามารถและปรับให้เหมาะสมได้มากขึ้น

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

การพัฒนาวิธีการปรับให้เหมาะสมของ LLM

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

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

เมื่อผู้ปฏิบัติงานพยายามหาวิธีการที่มีประสิทธิภาพมากขึ้น การปรับให้เหมาะสมแบบเต็มรูปแบบก็ได้รับการพัฒนาเป็นวิธีการที่เข้มงวดแต่มีผลตอบแทนที่ดี

การแนะนำ LoRA

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

  • เมทริกซ์เต็มอันดับ: อันดับของมันตรงกับจำนวนแถวหรือคอลัมน์ที่น้อยกว่า
  • เมทริกซ秩ต่ำ: อันดับของมันเล็กกว่าจำนวนแถวและคอลัมน์ทั้งสองอย่าง

โมเดลขนาดใหญ่เข้าใจโดเมนของมันอย่างกว้างขวาง เช่น ภาษาในโมเดลภาษา แต่การปรับให้เหมาะสมของมันสำหรับงานเฉพาะมักต้องการเน้นย้ำส่วนเล็กๆ ของความเข้าใจเหล่านี้ นี่คือจุดที่ LoRA ส่องแสง LoRA แสดงว่าเมทริกซ์ที่แสดงถึงการปรับเปลี่ยนน้ำหนักสามารถเป็นเมทริกซ秩ต่ำได้ ซึ่งจับ特徵ที่น้อยลง

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

การนำ LoRA ไปใช้กับทรานส์ฟอร์เมอร์

LoRA ช่วยลดภาระการฝึกอบรมในเครือข่ายประสาทเทียมโดยการเน้นไปที่เมทริกซ์น้ำหนักที่เฉพาะเจาะจง ในโครงสร้างทรานส์ฟอร์เมอร์ เมทริกซ์น้ำหนักบางตัวเชื่อมโยงกับกลไกการดึงความสนใจตนเอง เช่น Wq, Wk, Wv และ Wo นอกจากนี้ยังมีเมทริกซ์อีกสองตัวในโมดูล Multi-Layer Perceptron (MLP)

โครงสร้างทรานส์ฟอร์เมอร์

โครงสร้างทรานส์ฟอร์เมอร์

 

หัวการดึงความสนใจของทรานส์ฟอร์เมอร์

หัวการดึงความสนใจของทรานส์ฟอร์เมอร์

การอธิบายทางคณิตศาสตร์เบื้องหลัง LoRA

มาทำความเข้าใจคณิตศาสตร์เบื้องหลัง LoRA กัน:

  1. เมทริกซ์น้ำหนักที่ฝึกไว้แล้ว : เริ่มต้นด้วยเมทริกซ์น้ำหนักที่ฝึกไว้แล้ว มีมิติ ซึ่งหมายความว่าเมทริกซ์นี้มี แถวและ คอลัมน์

การเริ่มต้นและการปรับขนาด:

เมื่อฝึกโมเดล การเริ่มต้นพารามิเตอร์สามารถส่งผลกระทบอย่างมากต่อประสิทธิภาพและประสิทธิผลของกระบวนการเรียนรู้ ในบริบทของการปรับเปลี่ยนเมทริกซ์น้ำหนักด้วย และ :

ผลกระทบเชิงปฏิบัติของ LoRA

LoRA ได้แสดงศักยภาพในการปรับให้เหมาะสมของ LLM สำหรับงานเฉพาะอย่างมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งในการปรับให้เหมาะสมของโมเดลเพื่อเลียนแบบสไตล์ศิลปะของ Greg Rutkowski

QLoRA (Quantized)

ในขณะที่ LoRA เป็นตัวเปลี่ยนเกมในการลดความต้องการเก็บข้อมูล แต่ก็ยังคงต้องการ GPU ที่มีประสิทธิภาพสูงในการโหลดโมเดลสำหรับการฝึกอบรม นี่คือจุดที่ QLoRA หรือ Quantized LoRA เข้ามา โดยผสมผสาน LoRA กับการปรับขนาดเพื่อเข้าใกล้ที่ชาญฉลาดยิ่งขึ้น

ปกติแล้ว พารามิเตอร์น้ำหนักจะถูกเก็บไว้ในรูปแบบ 32 บิต (FP32) ซึ่งหมายความว่าแต่ละองค์ประกอบในเมทริกซ์จะใช้พื้นที่ 32 บิต ลองนึกภาพถึงการบีบอัดข้อมูลเดียวกันลงในเพียง 8 บิตหรือแม้กระทั่ง 4 บิต นั่นคือแนวคิดหลักของ QLoRA การปรับขนาดหมายถึงกระบวนการของการแมปกับค่าไม่สิ้นสุดต่อชุดของค่าจำกัดที่เป็นไปได้ ในบริบทของ LLM การปรับขนาดหมายถึงกระบวนการในการแปลงน้ำหนักของโมเดลจากประเภทข้อมูลที่มีความแม่นยำสูงไปเป็นประเภทข้อมูลที่มีความแม่นยำต่ำกว่า

สรุป

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

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

เมทริกซ์

เมทริกซ์

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

ฉันใช้เวลาที่ผ่านมา 5 ปีในการศึกษาสิ่งที่น่าสนใจเกี่ยวกับ Machine Learning และ Deep Learning ความเชี่ยวชาญและความหลงใหลของฉันทำให้ฉันเข้าร่วมในโครงการพัฒนาซอฟต์แวร์มากกว่า 50 โครงการที่มีความหลากหลาย โดยมุ่งเน้นไปที่ AI/ML ความอยากรู้อยากเห็นของฉันยังทำให้ฉันสนใจในด้าน Natural Language Processing ซึ่งเป็นสาขาที่ฉันต้องการสำรวจต่อไป