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