Fine-tuning เทียบกับ RAG: สองวิธีในการสอน LLM
หากคุณต้องการให้ LLM รู้จักเอกสารส่วนตัวหรือข่าวสารล่าสุดของคุณ คุณมีสองทางเลือกคือ RAG หรือ fine-tuning ซึ่งผู้คนมักจะเลือกผิดวิธี
กฎนั้นง่ายมาก ใช้ RAG สำหรับข้อเท็จจริง และใช้ fine-tuning สำหรับพฤติกรรม
RAG (Retrieval-Augmented Generation) เปรียบเสมือนการสอบแบบเปิดตำรา คุณเก็บข้อมูลไว้ภายนอกโมเดล แล้วดึงข้อมูลที่เกี่ยวข้องมาใส่ไว้ใน prompt
- ใช้สำหรับความรู้
- ใช้สำหรับข้อเท็จจริงที่เปลี่ยนแปลงบ่อย
- ราคาประหยัด
- อัปเดตได้ทันที
- มีการอ้างอิงแหล่งที่มา
Fine-tuning เปรียบเสมือนการสร้างนิสัยใหม่ให้ติดตัว คุณฝึกฝนโมเดลด้วยตัวอย่างที่เฉพาะเจาะจง
- ใช้สำหรับพฤติกรรม
- ใช้สำหรับน้ำเสียง (tone) และรูปแบบ (format)
- ใช้สำหรับทักษะเฉพาะทาง
- ต้องมีการรันการฝึกฝน (training run)
- ต้องใช้ตัวอย่างที่ผ่านการคัดสรรมาอย่างดี
- ข้อมูลจะล้าสมัยเมื่อข้อเท็จจริงเปลี่ยนไป
วิธีการเลือก: ถามตัวเองว่าคุณต้องการ "ข้อเท็จจริง" หรือ "วิธีการแสดงออก"
ใช้ RAG หากคุณต้องการอัปเดต:
- แคตตาล็อกสินค้า
- นโยบายบริษัท
- ข่าวประจำวัน
ใช้ fine-tuning หากคุณต้องการ:
- น้ำเสียงเฉพาะของแบรนด์
- รูปแบบการแสดงผล JSON ที่เคร่งครัด
แนวทางที่ดีที่สุดมักจะเป็นการผสมผสานทั้งสองอย่าง ใช้ fine-tuning เพื่อกำหนดวิธีการตอบของโมเดล และใช้ RAG สำหรับข้อมูลข้อเท็จจริงที่นำมาใช้ ตัวอย่างเช่น บอทสนับสนุนลูกค้า (support bot) จะใช้ fine-tuning เพื่อให้ดูเป็นมืออาชีพ และใช้ RAG เพื่อเข้าถึงบทความช่วยเหลือล่าสุด
เริ่มต้นด้วยการทำ prompting และ RAG ก่อน แล้วค่อยขยับไปใช้ fine-tuning เมื่อจำเป็นจริงๆ เท่านั้น
ทดสอบสถานการณ์เหล่านี้ได้ที่นี่: https://dev48v.infy.uk/ai/days/day10-finetune-vs-rag.html
ที่มา: https://dev.to/dev48v/fine-tuning-vs-rag-two-ways-to-teach-an-llm-3d04
ชุมชนแห่งการเรียนรู้เพิ่มเติม (ไม่บังคับ): https://t.me/GyaanSetuAi