การปรับแต่งละเอียด

การปรับแต่งละเอียด

ไฟน์-ทูนนิ่ง (Fine-Tuning) หมายถึงกระบวนการนำข้อมูลการเรียนรู้เพิ่มเติมมาใช้กับโมเดลแมชชีนเลิร์นนิงที่ผ่านการ Pre-Training มาแล้ว เพื่อปรับให้เหมาะสมกับงานหรือโดเมนเฉพาะ

«ฉลาดในเชิงทั่วไป แต่ไม่รู้จักงานของบริษัทตัวเอง» — เมื่อพยายามนำ LLM ไปใช้งานจริง แทบจะหลีกเลี่ยงกำแพงนี้ไม่ได้ Fine-tuning คือกระบวนการปรับแต่งโมเดลทั่วไปให้เหมาะสมกับความต้องการเฉพาะขององค์กร

ในเชิงประวัติศาสตร์ กระบวนการนี้ได้รับการยอมรับเป็น workflow มาตรฐานของ NLP ตั้งแต่ยุคของ BERT (ราวปี 2018) กรอบการเรียนรู้สองขั้นตอน ได้แก่ การเรียนรู้โครงสร้างภาษาทั่วไปผ่าน pre-training และการเขียนทับ pattern เฉพาะงานผ่าน fine-tuning ยังคงไม่เปลี่ยนแปลง สิ่งที่เปลี่ยนไปคือขนาดของโมเดลและปัญหาด้านต้นทุนที่ตามมา

Fine-tuning ในปัจจุบันแบ่งออกเป็น 3 ประเภทหลัก

Full FT คือการอัปเดต parameter ทั้งหมดของโมเดล ให้ความแม่นยำสูงสุดได้ แต่สำหรับโมเดลขนาด 70B ต้องใช้ A100 80GB อย่างน้อย 8 ใบ และไม่ใช่เรื่องแปลกที่การเทรนจะใช้เวลาหลายวัน เหมาะสำหรับสถาบันวิจัยหรือ big tech ที่มีงบประมาณและเวลาเพียงพอ

PEFT (LoRA / QLoRA ฯลฯ) คือการอัปเดตเพียงบางส่วนของ parameter ด้วยต้นทุน 1/10 ถึง 1/100 ของ Full FT แต่ให้ความแม่นยำใกล้เคียงกันในหลายงาน ตั้งแต่ปี 2024 เป็นต้นมา วิธีนี้กำลังกลายเป็นกระแสหลักในการใช้งานจริง

Instruction Tuning มีลักษณะที่แตกต่างออกไปเล็กน้อย โดยสอนให้โมเดลมี «ความสามารถในการปฏิบัติตามคำสั่ง» ที่ ChatGPT สามารถสนทนาได้อย่างเป็นธรรมชาติ ก็เป็นผลมาจากการ fine-tune base model ด้วยคู่คำสั่ง-การตอบสนองจำนวนมากนั่นเอง

ไม่ว่าจะเลือกวิธีใด คุณภาพของข้อมูลสำหรับการเทรนคือปัจจัยที่กำหนดทุกอย่าง ข้อมูล 1,000 รายการที่มีการ annotate อย่างพิถีพิถัน ให้ผลลัพธ์ที่ดีกว่าข้อมูลหยาบ 10,000 รายการ — นี่คือบทเรียนที่ผู้เขียนได้เรียนรู้มาอย่างเจ็บปวดหลายครั้ง

บทความที่กล่าวถึงคำศัพท์นี้