LoRA คืออะไร

Low-Rank Adaption หรือ LoRA คืออีกหนึ่งเทคนิคในการทำ Downstream Tasks สำหรับ Large Language Models (LLMs) โดยมีจุดเด่นคือการประหยัดหน่วยความจำที่ต้องใช้ในการฝึกสอนและช่วยให้การฝึกสอนทำได้เร็วขึ้นเป็นอย่างมาก อีกทั้งยังต้องการข้อมูลน้อยลงด้วย วัตถุประสงค์หลักของ LoRA คือการแก้ปัญหาในการทำ Fine-Tuning LLMs เนื่องจากโมเดลภาษายุคหลังมานี้มีขนาดที่ใหญ่มากเกินกว่าที่เครื่องคอมพิวเตอร์ทั่วไปจะฝึกสอนได้ (หรือแม้กระทั่งเครื่องสำหรับงานเฉพาะทางนี้เองก็ตาม) ทำให้การ Fine-Tuning ตามปกตินั้นต้องใช้ต้นทุนมหาศาลในการเทรน

LoRA ต่างกับ Fine-Tuning อย่างไร

Fine-Tuning โดยปกติแล้วจะเป็นการฝึกสอนทุก ๆ พารามิเตอร์ของโมเดลอีกครั้งเพื่อปรับให้โมเดลเข้ากับงานที่ต้องการ ยกตัวอย่างเช่น GPT-3 ถูกฝึกสอนล่วงหน้ามาแล้วด้วยข้อมูลด้านภาษาจำนวนมาก และเราต้องการปรับให้ GPT-3 สามารถทำ Text Classification กับข้อมูลข่าวธุรกิจในไทย การฝึกสอนนี้จะต้องเทรนพารามิเตอร์จำนวนกว่า 175 Billion อีกครั้งเพื่อปรับให้เข้ากับงานที่เรากำหนด เป็นต้น ดังนั้นแล้วจึงทำได้ยากมากทั้งในการเตรียมข้อมูลและจัดหาเครื่องที่จะนำมาใช้ฝึกสอน (ยิ่งถ้าเป็นงาน Generative ยาก ๆ ยิ่งแล้วใหญ่)

LoRA จึงถูกนำเสนอขึ้นมาเพื่อแก้ปัญหานี้ โดยหลักการคือจะคง Model Weights ที่ถูกฝึกสอนไว้แล้วตามเดิมและเพิ่มเมทริกซ์ที่สามารถฝึกสอนได้เข้าไปยังแต่ละ Layer ของ Transformer Architecture แทน (Transformers คือส่วนประกอบสำคัญที่ทำให้ LLMs ทุกวันนี้เรียนรู้ได้อย่างชาญฉลาดและเข้าใจความหมายของประโยค) ด้วยวิธีนี้ช่วยให้ลดจำนวนพารามิเจอร์ที่จะต้องฝึกสอนลงได้กว่า 10,000 เท่าและประหยัด GPU Memory ลง 3 เท่า โดยที่ยังคงประสิทธิภาพการทำงานไว้เทียบเท่าหรือสูงกว่าวิธี Fine-Tuning ได้ และแตกต่างกับวิธีการเพิ่ม Adapter อื่นที่ทำให้ Inference ใช้เวลามากขึ้น LoRA ยังคงความเร็วตอน Inference เช่นเดิม

ประโยชน์หลักของ LoRA

  1. ประหยัด Storage ที่จะต้องใช้ในการจัดเก็บโมเดล โดยตัว Pre-trained Model สามารถที่จะใช้งานแชร์กันได้ โดยเปลี่ยนเพียงแค่ส่วน LoRA เพื่อสลับใช้กับงานต่างประเภทกันได้
  2. ลดข้อจำกัดด้าน Hardware ที่ต้องใช้เทรน เพราะไม่จำเป็นต้องคำนวณ Gradients และเก็บ Optimizer ทั้งหมดอีกต่อไป โดยเราสามารถ Optimize แค่ส่วนของ LoRA ได้
  3. ถูกออกแบบมาอย่างเรียบง่ายสามารถนำ LoRA ไปรวมเข้ากับ Pre-trained Model ได้ทันที สะดวกต่อการ Deploy
  4. LoRA สามารถใช้ร่วมกับเทคนิคอื่น ๆ ได้ เพื่อเสริมประสิทธิภาพของโมเดล

อ่านเพิ่มเติมได้ที่: https://arxiv.org/abs/2106.09685

ติดตามบทความอื่น ๆ เพิ่มเติมได้ที่ SBC Blog

LINE OA: SUBBRAIN

Facebook: SUBBRAIN

Categories: Data&IT