กำไร:
- ความสามารถในการแยกแยะว่าปัญหาคือข้อมูลหรือพฤติกรรม และประเมินการปรับแต่งอย่างละเอียดสำหรับปัญหาด้านพฤติกรรมหลังจากหมดเวลาพร้อมท์ ไม่กี่ครั้ง และ RAG เท่านั้น
- ทำความเข้าใจวิธีการปรับแต่งอย่างละเอียด (SFT, LoRA/PEFT, RLHF) และคุณลักษณะของข้อมูลที่กำหนดคุณภาพ (ความสม่ำเสมอ ความหลากหลาย การรักษาความลับ)
- ความสามารถในการวัดมูลค่าที่แท้จริงของการปรับแต่งแบบละเอียดด้วยการประเมินก่อน-หลัง การทดสอบการเรียนรู้มากเกินไป และการทดสอบการลืมแบบภัยพิบัติ
การปรับแต่งอย่างละเอียด (ปรับแต่งพฤติกรรมโดยการฝึกโมเดลที่ได้รับการฝึกอบรมล่วงหน้าเพิ่มเติมด้วยข้อมูลของคุณเอง) เป็นเครื่องมือที่ทรงพลังแต่มีราคาแพงในคลังแสงของวิศวกรที่ทำงานกับ LLM เมื่อใช้ผิดที่ก็จะเสียทั้งเงินและเวลาแต่เมื่อใช้ผิดที่ก็ให้คุณภาพที่ไม่สามารถทำได้อย่างอื่น ในหน่วยนี้ เราจะกล่าวถึงเมื่อจำเป็นต้องปรับแต่งอย่างละเอียด วิธีการพื้นฐานและความเสี่ยง เป้าหมายคือการทำให้คุณตัดสินใจ
คำถามแรกที่ถูกต้อง: จำเป็นต้องมีการปรับแต่งอย่างละเอียดหรือไม่
ข้อผิดพลาดที่แพงที่สุดของผู้เริ่มต้นคือการรีบเร่งเพื่อแก้ไขปัญหาที่สามารถแก้ไขได้ทันที ตั้งค่าคำสั่งซื้อดังนี้:
- วิศวกรรมพร้อมท์: คำสั่งที่ดีที่อธิบายงานได้อย่างชัดเจนสามารถแก้ไขปัญหาส่วนใหญ่ได้ บริโภคที่นี่ก่อน
- การเรียนรู้แบบไม่กี่ช็อต: การใส่ตัวอย่างบางส่วนในพรอมต์จะแสดงโมเดลในรูปแบบและลักษณะการทำงานที่ต้องการ
- RAG: หากปัญหาคือ "ขาดข้อมูล" (ต้องการข้อมูลที่โมเดลไม่ทราบ) วิธีแก้ไขคือ RAG (หน่วยที่ 4) ไม่ใช่การปรับแต่งอย่างละเอียด
- การปรับแต่งแบบละเอียด: จะเข้ามามีบทบาทหากสิ่งที่กล่าวมาข้างต้นยังไม่เพียงพอและปัญหาคือ "พฤติกรรม/รูปแบบ/สไตล์"
ความแตกต่างที่สำคัญ: การปรับแต่งอย่างละเอียดนั้นอ่อนแอและมีความเสี่ยงในการสอนโมเดลข้อมูลใหม่ แต่มีความแข็งแกร่งในการสอนวิธีปฏิบัติตน (รูปแบบเฉพาะ น้ำเสียง ศัพท์เฉพาะทาง โครงสร้างที่สอดคล้องกัน) “แบบจำลองของฉันไม่ทราบข้อมูลบริษัทของเรา” → RAG "ให้โมเดลของฉันให้ผลลัพธ์ในรูปแบบที่เราต้องการเสมอ" → ปรับแต่งตัวเลือก
เคล็ดลับ: ก่อนที่จะตัดสินใจปรับแต่ง ให้ถาม: "นี่เป็นปัญหาด้านความรู้หรือปัญหาด้านพฤติกรรม" ปัญหาข้อมูลได้รับการแก้ไขได้ดีขึ้นด้วย RAG ปัญหาด้านพฤติกรรมแก้ไขได้ดีกว่าด้วยการปรับแต่งอย่างละเอียด
วิธีการปรับแต่งแบบละเอียด
การปรับแต่งแบบละเอียดทั้งหมด: การฝึกพารามิเตอร์ทั้งหมดของโมเดลใหม่ ทรงพลังที่สุดแต่แพงที่สุด ต้องใช้ฮาร์ดแวร์ขนาดใหญ่ (GPU) และข้อมูลที่ระมัดระวัง มันไม่จำเป็นสำหรับทีมส่วนใหญ่
การปรับแต่งพารามิเตอร์อย่างมีประสิทธิภาพ (PEFT): วิธีการที่จะหยุดการทำงานของโมเดลส่วนใหญ่ โดยฝึกฝนพารามิเตอร์เพิ่มเติมเพียงชุดเล็กๆ เท่านั้น สิ่งที่พบบ่อยที่สุดคือ LoRA (การปรับตัวระดับต่ำ: การฝึกเลเยอร์ "อะแดปเตอร์" ขนาดเล็กที่เพิ่มเข้าไปในโมเดล) LoRA ให้ผลลัพธ์ที่ใกล้เคียงกับการปรับแต่งแบบเต็ม โดยมีหน่วยความจำและค่าใช้จ่ายน้อยกว่ามาก นั่นเป็นเหตุผลว่าทำไมจึงเป็นตัวเลือกแรกในทางปฏิบัติ
การปรับแต่งแบบละเอียดภายใต้การดูแล (SFT): การสอนแบบจำลองให้ "ตอบสนองต่ออินพุตนี้เช่นนี้" ด้วยข้อมูลที่ประกอบด้วยคู่เอาต์พุตในอุดมคติของอินพุต มันเป็นสถานการณ์ที่พบบ่อยที่สุด
การเรียนรู้แบบเสริมกำลังจากผลตอบรับของมนุษย์ (RLHF): การจัดแนวพฤติกรรมของแบบจำลองจากการตอบสนองที่ผู้คนต้องการ มันซับซ้อนและมีราคาแพง ความต้องการของทีมแอปพลิเคชันส่วนใหญ่เป็นไปตาม SFT การรู้จัก RLHF เป็นแนวคิดก็เพียงพอแล้ว
ข้อมูล: หัวใจของการปรับแต่งอย่างละเอียด
คุณภาพของการปรับแต่งแบบละเอียดนั้นขึ้นอยู่กับคุณภาพของข้อมูลการฝึกทั้งหมด ตัวอย่างคุณภาพสูงและสม่ำเสมอเพียงไม่กี่ร้อยตัวอย่างก็ดีกว่าตัวอย่างเลอะเทอะหลายพันตัวอย่าง เมื่อเตรียมข้อมูล:
- ความสม่ำเสมอ: ตัวอย่างทั้งหมดจะแสดงรูปแบบและโทนเสียงที่คุณต้องการอย่างสม่ำเสมอ ตัวอย่างที่ขัดแย้งกันทำให้โมเดลสับสน
- ความหลากหลาย: ตัวอย่างครอบคลุมถึงความหลากหลายในการใช้งานจริง แต่ไม่สม่ำเสมอ
- การทำความสะอาด: อินสแตนซ์ที่มีข้อมูลที่ไม่ถูกต้อง เอนเอียง หรือซ่อนไว้จะถูกส่งผ่านไปยังโมเดลอย่างถาวร ข้อมูลการปรับแต่งอย่างละเอียดควรอ่านอย่างละเอียดตามสัญญา
ข้อควรระวัง: ทุกอคติ ข้อผิดพลาด และข้อมูลที่ซ่อนอยู่ที่ป้อนข้อมูลการปรับแต่งจะถูกฝังลงในโมเดลและปรากฏขึ้นอีกครั้งในเอาต์พุต ตรวจสอบข้อมูลการฝึกอบรมของคุณอย่างพิถีพิถันราวกับว่าคุณกำลังเผยแพร่ข้อมูลนั้น ห้ามโพสต์ข้อมูลส่วนบุคคล
รีวิว: การปรับแต่งแบบละเอียดได้ผลหรือไม่?
ก่อนการปรับแต่งแบบละเอียด ให้จองชุดการประเมินแบบพักไว้และวัดคะแนนของแบบจำลองโดยไม่ต้องปรับแต่งแบบละเอียด (โมเดลพื้นฐาน) หลังจากปรับแบบละเอียดแล้ว ให้วัดอีกครั้งในธนาคารเดียวกัน คุณไม่สามารถพูดว่า "ดีขึ้น" โดยไม่มีการเปรียบเทียบ กับดักสองประการที่ต้องระวัง:
- การเรียนรู้มากเกินไป: การฝึกมากเกินไปด้วยข้อมูลขนาดเล็กทำให้แบบจำลองสูญเสียความสามารถในการจดจำและสรุปตัวอย่างการฝึกอบรม
- การลืมแบบหายนะ: การฝึกมากเกินไปในงานแคบอาจทำให้ความสามารถโดยรวมของโมเดลลดลง ทดสอบว่าทักษะเก่ายังคงอยู่ในขณะที่รับพฤติกรรมใหม่หรือไม่
แนวทางที่อ่อนแอ / แนวทางที่แข็งแกร่ง
อ่อนแอ: "ฉันมีบันทึกการแชท 3,000 รายการ มาปรับแต่งทั้งหมดกันเถอะ โมเดลจะได้พูดได้เหมือนเรา"
Güçlü: "ขั้นแรก ฉันประเมินโมเดลพื้นฐานด้วยงานจริง 100 งาน โดยจดคะแนนไว้ ฉันวัดได้ว่าโมเดลจะปรับปรุงได้มากเพียงใดด้วยการแจ้งเตือนและการยิงเพียงไม่กี่นัดเท่านั้น แต่ยังไม่เพียงพอ จากนั้นจากบันทึก 3000 รายการ ฉันเลือกและทำความสะอาดตัวอย่างเพียง 400 ตัวอย่างที่มีคุณภาพสูง รูปแบบที่สอดคล้องกัน และไม่มีข้อมูลที่ซ่อนอยู่ ฉันปรับแต่งอย่างละเอียดด้วย LoRA วัดอีกครั้งด้วยงานเดิม 100 รายการ และยืนยันด้วยการทดสอบแยกต่างหากว่าความสามารถทั่วไปยังคงเหมือนเดิม"
ความแตกต่าง: แนวทางที่เข้มงวดจะทำให้ทางเลือกอื่นหมดก่อน เลือกข้อมูล การวัดผลก่อนและหลัง และการทดสอบผลข้างเคียง
ความเป็นจริงของต้นทุนและการบำรุงรักษา
การปรับแต่งแบบละเอียดไม่ใช่งานที่ทำเพียงครั้งเดียว เป็นหน้าที่ที่ต้องดูแล อาจจำเป็นต้องฝึกใหม่เมื่อมีการอัปเดตโมเดลพื้นฐาน ต้องการการเปลี่ยนแปลง หรือข้อมูลสูญหาย นอกจากนี้ การโฮสต์โมเดลที่ได้รับการปรับแต่งอย่างละเอียดยังนำมาซึ่งต้นทุนและการดำเนินการเพิ่มเติมอีกด้วย เปรียบเทียบต้นทุนการเป็นเจ้าของทั้งหมดกับคุณภาพที่เพิ่มขึ้น โดยส่วนใหญ่แล้ว prompt + RAG ที่ดีจะมีราคาถูกกว่าและยืดหยุ่นกว่าการปรับแต่งแบบละเอียด
มินิเคสสามอัน
กรณีที่ 1 - การปรับแต่งแบบละเอียดโดยไม่จำเป็น ทีมงานเริ่มโครงการปรับแต่งราคาแพงเนื่องจาก "แบบจำลองของเราไม่รู้จักผลิตภัณฑ์ของเรา" มีการใช้เดือนและงบประมาณ ผลลัพธ์ที่ได้คือเปราะบาง โมเดลล้าสมัยทุกครั้งที่มีการเปลี่ยนแปลงแคตตาล็อกผลิตภัณฑ์ ในที่สุดพวกเขาก็เปลี่ยนมาใช้ RAG โดยดึงข้อมูลผลิตภัณฑ์จากฐานเอกสาร การอัปเดตเกิดขึ้นทันทีและต้นทุนก็ลดลง บทเรียน: ปัญหาข้อมูลไม่ได้รับการแก้ไขด้วยการปรับแต่งอย่างละเอียด
กรณีที่ 2 - การปรับแต่งแบบละเอียดที่ถูกต้อง บริษัทประกันภัยต้องการให้แบบจำลองจัดทำสรุปกรมธรรม์ในโครงสร้างที่เข้มงวดเหมือนเดิมเสมอ (ทีละรายการ โดยมีหัวข้อเฉพาะ) ความสอดคล้องกับพร้อมท์ติดอยู่ที่ 70% หลังจากการปรับแต่ง LoRA อย่างละเอียดด้วยตัวอย่างที่ดี 300 ตัวอย่าง ความสอดคล้องของรูปแบบก็เพิ่มขึ้นเป็น 98% นี่เป็นปัญหาด้านพฤติกรรมและการปรับแต่งอย่างละเอียดเป็นเครื่องมือที่เหมาะสม
กรณีที่ 3 - ความเป็นส่วนตัวที่หลบหนีเข้าไปในข้อมูล ทีมหนึ่งส่งบันทึกการแชทเพื่อปรับแต่งโดยไม่ต้องทำความสะอาด บันทึกประกอบด้วยชื่อลูกค้าและหมายเลขประจำตัวจริง โมเดลที่ได้รับการปรับแต่งอย่างดีเริ่ม "รั่วไหล" ชื่อเหล่านี้เป็นผลลัพธ์ในคำถามที่ไม่เกี่ยวข้อง โมเดลถูกถอนออก ปิดบังข้อมูลและฝึกอบรมใหม่ บทเรียน: ข้อมูลที่ซ่อนอยู่ในข้อมูลการปรับแต่งจะถูกถ่ายโอนไปยังโมเดลอย่างถาวร
เทมเพลตที่คัดลอกได้
ช่วยฉันตัดสินใจว่าการปรับแต่งแบบละเอียดจำเป็นสำหรับปัญหานี้ของฉันหรือไม่ ปัญหา: [คำอธิบาย] นี่เป็นปัญหาด้านข้อมูล (โมเดลไม่รู้อะไรบางอย่าง) หรือปัญหาพฤติกรรม (โมเดลไม่ได้สร้างรูปแบบ/โทน/โครงสร้างที่ฉันต้องการ) สามารถแก้ไขได้ด้วยการ prompt, little-shot และ RAG ก่อนหรือไม่? เหตุใดจึงลอง/ไม่ลองแต่ละรายการ คุณจะแนะนำให้ปรับแต่งอย่างละเอียดภายใต้เงื่อนไขใดเท่านั้น
ตรวจสอบชุดข้อมูลที่ปรับแต่งอย่างละเอียดนี้:1) ตัวอย่างมีความสอดคล้องกันในรูปแบบและโทนเสียงหรือไม่2) ตัวอย่างเหล่านี้ครอบคลุมรูปแบบในการใช้งานจริงหรือไม่3) มีข้อมูลที่เป็นความลับ/ข้อมูลส่วนบุคคล (ต้องปกปิด) หรือไม่4) มีตัวอย่างที่ขัดแย้งกันหรือไม่ ชุดย่อยของตัวอย่าง: [ตัวอย่าง]แสดงรายการแต่ละปัญหาและแก้ไขที่คุณพบ
จัดทำแผนการประเมินผลก่อนและหลังการปรับแต่งอย่างละเอียด ภารกิจ: [คำอธิบาย]- ควรเลือกชุดการประเมินที่ค้างไว้อย่างไร - คะแนนของแบบจำลองพื้นฐานวัดได้อย่างไร - เปรียบเทียบกับหน่วยเมตริกใดหลังจากการปรับแต่งแบบละเอียด - ฉันจะทดสอบได้อย่างไรว่าความสามารถทั่วไปไม่บกพร่อง (การลืมอย่างหายนะ)
แนะนำไฮเปอร์พารามิเตอร์เริ่มต้นสำหรับการปรับแต่งอย่างละเอียดด้วยขนาด LoRA ข้อมูล: [จำนวนตัวอย่าง]วัตถุประสงค์: [การสอนรูปแบบ/โทนเสียง]แนะนำยุค อัตราการเรียนรู้ และการหยุดตั้งแต่เนิ่นๆ เพื่อหลีกเลี่ยงการเรียนรู้มากเกินไป
ตารางการตัดสินใจ: เครื่องมือไหนเมื่อใด
ต้องการ
ลองก่อน
การปรับแต่ง?
โมเดลไม่ทราบข้อมูลใดๆ
เศษผ้า
ไม่
ข้อมูลปัจจุบันที่จำเป็น
เศษผ้า
ไม่
รูปแบบที่เข้มงวดโดยเฉพาะ
ไม่กี่นัด
ถ้าไม่พอใช่
โทน/สไตล์ที่สม่ำเสมอ
พรอมต์ + ไม่กี่ช็อต
ถ้าไม่พอใช่
ศัพท์เฉพาะภาคสนาม/สไตล์
พร้อมท์
หากยังไม่เพียงพอ LoRA
การเพิ่มประสิทธิภาพงานอย่างง่าย
วิศวกรรมที่รวดเร็ว
โดยทั่วไปไม่มี
ข้อผิดพลาดทั่วไป
- พยายามแก้ไขปัญหาข้อมูลด้วยการปรับแต่งอย่างละเอียด RAG เป็นเครื่องมือที่เหมาะสม
- เข้าสู่การปรับแต่งแบบละเอียดโดยไม่ต้องใช้ prompt/ไม่กี่ช็อต/RAG มีราคาแพงและไม่จำเป็น
- การฝึกอบรมด้วยข้อมูลคุณภาพต่ำ/ขัดแย้งกัน ข้อมูลน้อยแต่ชัดเจนจะดีกว่า
- นำข้อมูลที่เป็นความลับมาสู่การศึกษา แทรกซึมเข้าไปในโมเดลอย่างถาวร
- ไม่ได้วัดก่อนและหลัง คุณไม่สามารถพิสูจน์การฟื้นตัวได้
- ไม่ใช่การทดสอบการลืมอันหายนะ ทักษะใหม่อาจขัดขวางทักษะเก่า
โดยสรุป
การปรับแต่งอย่างละเอียดเป็นเครื่องมือที่ทรงพลังแต่มีราคาแพง และควรพิจารณาเฉพาะปัญหาด้านพฤติกรรม/รูปแบบหลังจากใช้งาน prompt-few-shot-RAG เท่านั้น ปัญหาข้อมูลเป็นของ RAG วิธีการประหยัดพารามิเตอร์ เช่น LoRA เป็นตัวเลือกแรกที่ใช้งานได้จริง คุณภาพขึ้นอยู่กับคุณภาพของข้อมูลทั้งหมด ใช้ข้อมูลที่มีขนาดเล็กแต่สะอาด สม่ำเสมอ และเป็นความลับ วัดก่อนและหลัง ทดสอบการเรียนรู้มากเกินไปและสูญเสียความสามารถ การปรับแต่งอย่างละเอียดเป็นหน้าที่ที่ต้องดูแล ชั่งน้ำหนักต้นทุนทั้งหมดเทียบกับคุณภาพที่ได้รับ
งานสมัคร
เลือกปัญหาและตัดสินใจว่าจำเป็นต้องปรับแต่งอย่างละเอียดโดยแยกความแตกต่างระหว่าง "ความรู้หรือพฤติกรรม" แล้วเขียนเหตุผลของคุณ หากเป็นปัญหาด้านพฤติกรรม ให้เตรียมตัวอย่างที่สอดคล้องกัน 20-30 ตัวอย่าง ตรวจสอบข้อมูลที่ซ่อนอยู่ และจัดทำเอกสารแผนการประเมินก่อนและหลัง (คลัสเตอร์ที่จัดขึ้น คะแนนฐาน ตัวชี้วัดการเปรียบเทียบ การลืมการทดสอบ) หากสามารถแก้ไขได้ด้วย RAG/ไม่กี่ช็อต แทนที่จะปรับแบบละเอียด ให้จดบันทึกสิ่งนี้ไว้ด้วย
รายการตรวจสอบ
- [ ] ฉันตัดสินใจว่าปัญหาคือความรู้หรือพฤติกรรม
- [ ] อันดับแรก ฉันประเมินทางเลือกที่รวดเร็ว ไม่กี่ช็อต และ RAG
- [ ] ฉันตรวจสอบข้อมูลที่ได้รับการปรับปรุงเพื่อความสอดคล้อง ความหลากหลาย และการรักษาความลับ
- [ ] ฉันจัดสรรคลัสเตอร์ประเมินที่จัดไว้และวัดคะแนนฐาน
- [ ] ฉันวางแผนเปรียบเทียบก่อน-หลังและลืมการทดสอบ
- [ ] ฉันเปรียบเทียบต้นทุนทั้งหมดกับคุณภาพที่มีให้