Fine Tune หรือ RAG
จากการทำงานคลุกคลีเรื่อง GenAI ตลอด 2 ปีที่ผ่านมา ถ้าให้เลือกประเด็นที่หลายองค์กรยังสับสนอยู่บ่อยๆ และพบเป็นอันดับต้นๆ คงหนีไม่พ้นความเข้าใจว่า “ทำ GenAI solution ใช้เอง = Fine Tune โมเดล เป็นของตัวเอง”
 
ก่อนอื่นต้องเท้าความก่อน
  • LLM คือโมเดลภาษาที่ผู้ผลิตสร้าง (หรือที่เรียกว่า Train) มาให้เราเรียบร้อยแล้ว จากข้อมูลจำนวนมหาศาลเท่าที่ผู้ผลิตแต่ละรายจะแสวงหามาได้
  • ปัญหาคือพอเทรนเสร็จแล้ว ส่งออกมาให้เราใช้แล้ว LLM ก็ไม่ได้ “อ่านหนังสือเพิ่มอีก” ซึ่งนั่นหมายถึง cut-off date ของ train data ดังที่ LLM แต่ละค่ายก็จะมีบอกเอาไว้
  • ดังนั้น ถ้าเราอยากสร้าง GenAI solution ขึ้นมาใช้ สิ่งแรกที่ต้องตั้งคำถามก่อนคือ “เราใช้ pre-trained data ที่มากับ LLM แกะกล่องได้ไหม หรือเราต้องป้อนข้อมูลอื่นใด ให้ LLM มันอ่านเพิ่มหลังจากแกะกล่องออกมา”
 
 

ซึ่งกระบวนการ “ป้อน” ข้อมูลเพิ่มนั่นแหละครับ มีสองวิธี คือ Fine Tuning กับ RAG

 

Fine Tuning หมายถึง การปรับโมเดลโดยการนำข้อมูลใหม่มาฝึกซ้ำกับโมเดลเดิม
โดย ให้โมเดลเรียนรู้จากข้อมูลเฉพาะทางที่เราต้องการ ซึ่งต้องใช้เวลามาก ค่าใช้จ่ายสูง และต้องใช้ความเชี่ยวชาญในการจัดการกับ model training pipeline และ อาจมีความเสี่ยงเรื่อง overfitting หรือ bias หากข้อมูลที่ใช้ฝึกมีความเอนเอียงหรือไม่เพียงพอ ทำให้ เหมาะกับกรณีที่ต้องการให้โมเดลมี “ความรู้ใหม่ถาวร” หรือเปลี่ยนพฤติกรรมของโมเดลในระดับรากฐาน
 
ส่วน RAG นั้นย่อมาจาก Retrieval-Augmented Generation หมายถึงกระบวนการแปลง ข้อมูลที่เรามี (เช่น เอกสารภายใน อีเมล ฐานความรู้) ให้เป็น สิ่งที่เรียกว่า Vector หรือ embedding จากนั้น เก็บไว้ในระบบค้นหา เช่น Vector database เพื่อให้ LLM นำไป ค้นหาเฉพาะข้อมูลที่เกี่ยวข้อง ณ เวลาที่ผู้ใช้ถามคำถาม จนสุดท้าย LLM จะนำข้อมูลที่ค้นพบมาใช้ร่วมกับคำถามของผู้ใช้ เพื่อสร้างคำตอบแบบตรงตามเนื้อหาที่อัปเดต
 
ไม่ว่า Fine Tune หรือ RAG ล้วนมี ข้อดี-ข้อเสีย แตกต่างกันครับ ซึ่งหากให้ผมสรุป น่าจะได้ประมาณนี้
 
Fine Tuning
ข้อดี
  • ทำให้โมเดล “จำ” ข้อมูลใหม่แบบถาวร ใช้ตอบคำถามได้โดยไม่ต้องพึ่งพาฐานข้อมูลภายนอก
  • เหมาะสำหรับกรณีที่ต้องการเปลี่ยนพฤติกรรมของโมเดล เช่น ใช้ภาษาท้องถิ่น สำนวนเฉพาะ หรือโทนเสียงเฉพาะองค์กร
  • เหมาะกับงานที่ข้อมูลมีโครงสร้างซ้ำ ๆ เช่น document classification, intent detection ฯลฯ

ข้อเสีย
  • ใช้เวลานานและต้นทุนสูง ทั้งในด้านการเตรียมข้อมูลและการประมวลผล
  • ต้องมีความรู้ด้าน machine learning และ infra เพื่อจัดการเรื่อง training และ deployment
  • เสี่ยงเรื่อง Overfitting หากข้อมูลไม่หลากหลายหรือไม่สมดุล
  • ไม่เหมาะกับข้อมูลที่เปลี่ยนแปลงบ่อย เพราะต้อง re-train ทุกครั้งที่ข้อมูลเปลี่ยน

     

RAG (Retrieval-Augmented Generation)
ข้อดี

  • อัปเดตข้อมูลได้ง่าย ไม่ต้อง retrain model แค่เปลี่ยนข้อมูลในฐานความรู้
  • รองรับข้อมูลที่เปลี่ยนแปลงบ่อย เช่น ข่าว เอกสารภายในบริษัท ฯลฯ
  • ค่าใช้จ่ายต่ำกว่า ไม่ต้องใช้ทรัพยากรหนักเหมือน fine tuning
  • เหมาะกับ use case ที่ต้องอ้างอิงข้อมูลจากแหล่งภายนอก เช่น chatbot ตอบคำถามจากคู่มือองค์กร
 
ข้อเสีย
  • ไม่ได้เปลี่ยนพฤติกรรมของโมเดลโดยตรง ถ้าโจทย์คือปรับสไตล์หรือโทนเสียง ต้องพึ่งวิธีอื่นเสริม
  • ถ้าระบบ retrieval (การค้นหา) ไม่ดี โมเดลก็จะตอบผิดหรือไม่ตรงจุด
  • ต้องจัดการเรื่องการแปลงข้อมูลให้เหมาะกับ retrieval เช่น การทำ embedding และการจัดโครงสร้างข้อมูล
 

จากบทสรุปข้างต้น จะเห็นว่าการจะเลือกใช้วิธีใด ขึ้นอยู่กับ เป้าหมายของระบบว่าต้องการให้ LLM “รู้เพิ่มถาวร” (Fine Tune) หรือแค่ “อ้างอิงข้อมูลเพิ่ม ณ จุดที่ถูกถาม” (RAG) การจะเลือกได้ จึงจำเป็นต้องออกแบบระบบในองค์รวม เข้าใจ Use case และเข้าใจ Data flow ที่เหมาะสม

 

ตัวอย่างเช่น
หากข้อมูลของคุณเปลี่ยนแปลงรายสัปดาห์ การตั้งโครงการด้วยวิธี Fine Tune นั้นไม่เหมาะแน่ เพราะกว่าจะเทรน LLM เสร็จ ข้อมูลก็คงเปลี่ยนไปอีกหลายรอบแล้ว
 
ในทางกลับกัน หากข้อมูลของคุณ มีความคงที่ ไม่เปลี่ยนแปลง และมีลักษณะเฉพาะทางสูง การใช้ RAG ย่อมไม่เหมาะสมเนื่องจาก การดึงข้อมูลแบบ dynamic ทุกครั้งอาจไม่คุ้มค่า และยังไม่สามารถเปลี่ยนพฤติกรรมพื้นฐานของโมเดลให้เข้าใจภาษาหรือเนื้อหาเฉพาะทางได้เท่ากับ Fine Tune
 
อย่างไรก็ตาม ทั้งสองวิธีมีความท้าทายในเรื่อง การตรวจสอบย้อนกลับ (Traceability) ซึ่งเป็นประเด็นสำคัญในระบบระดับองค์กร โดยเฉพาะเมื่อคำตอบจาก AI ถูกนำไปใช้ในบริบทที่ต้องการความน่าเชื่อถือ หรือมีข้อกำหนดด้านกฎหมาย
 
สำหรับ Fine-Tuning: เนื่องจากข้อมูลที่ใช้ในการฝึกถูกฝังลงไปในพฤติกรรมของโมเดลโดยตรง เราจึงไม่สามารถระบุได้ว่า คำตอบที่ได้มาจากแหล่งข้อมูลใดบ้างอย่างชัดเจน สิ่งนี้ทำให้การตรวจสอบหรืออธิบายที่มาของคำตอบทำได้ยาก และต้องพึ่งพาวิธีทดสอบทางอ้อม เช่น การวัดคุณภาพคำตอบจากชุด Test cases เท่านั้น
 
สำหรับ RAG: แม้จะใช้ข้อมูลนอกตัวโมเดล แต่เราสามารถออกแบบระบบให้แสดง “แหล่งที่มา” ของคำตอบ ได้ เช่น การแนบชื่อเอกสาร ย่อหน้าที่ใช้ หรือ URL ที่ระบบค้นเจอและนำมาใช้ประกอบการตอบคำถาม เช่น ถ้าผู้ใช้ถามถึงนโยบายภายใน บริษัทสามารถตั้งค่าให้ AI ตอบพร้อมแนบว่า “อ้างอิงจากหน้าที่ 5 ของคู่มือนโยบายเวอร์ชันล่าสุด” ได้ทันที ซึ่งช่วยเพิ่มความโปร่งใส และความมั่นใจให้ผู้ใช้ปลายทาง
 
สุดท้ายแล้ว ไม่ว่าจะเลือกใช้ Fine-Tune หรือ RAG สิ่งสำคัญไม่ใช่แค่ “เลือกเทคนิคให้ถูก” แต่คือการเลือกให้สอดคล้องกับ บริบทองค์กร ทั้งในด้านข้อมูล เป้าหมาย ทีมงาน และข้อจำกัดด้านเวลา/งบประมาณ เพื่อช่วยในการตัดสินใจ ลองตั้งคำถามเหล่านี้ก่อนเริ่มต้น:
  • ข้อมูลที่ต้องใช้ มีการเปลี่ยนแปลงบ่อยหรือไม่?
  • ทีมของเรามีความพร้อมในการดูแล training pipeline และ model deployment หรือไม่?
  • ระบบ AI ของเราจำเป็นต้องอธิบายแหล่งที่มาของคำตอบได้หรือไม่ (เช่น ด้านกฎหมาย หรือ Compliance)?
  • เราต้องการเปลี่ยน “พฤติกรรมของโมเดล” เช่น โทนเสียง, ภาษาท้องถิ่น หรือแค่ต้องการให้มันตอบข้อมูลที่อัปเดต?
 
หากองค์กรต้องการความยืดหยุ่นสูงและมีข้อมูลที่เปลี่ยนแปลงเป็นประจำ RAG มักเป็นทางเลือกที่เหมาะสมกว่า แต่ถ้าองค์กรต้องการฝังความรู้เฉพาะทางลงในโมเดลโดยถาวร และมีทีมพร้อม Fine-Tuning ก็เป็นทางเลือกที่ดีครับ