Prompt vs RAG vs Fine-tuning
เมื่อไหร่ควรใช้วิธีไหนในการปรับแต่ง AI
การเลือกใช้เทคนิคปรับแต่งโมเดล (ออกสอบแน่นอน!)
เมื่อความรู้เดิมของ Foundation Model ไม่พอสำหรับงานของคุณ เรามี 3 วิธีหลักในการเพิ่มความสามารถให้โมเดล ได้แก่ การเขียน Prompt, การทำ RAG, และการ Fine-Tuning
คำศัพท์ที่ต้องรู้: - RAG (Retrieval-Augmented Generation): การไปค้นหาข้อมูลจากฐานข้อมูลภายนอก (Retrieve) มาประกอบเป็นความรู้ให้โมเดลอ่านก่อนตอบ - Fine-Tuning: การนำโมเดลเดิมมาสอนเพิ่มเติม (Train) ด้วยชุดข้อมูลเฉพาะทาง
1. Prompt Engineering = บอกปากเปล่าว่าต้องทำยังไง (เร็ว แต่อาจลืมถ้าสั่งยาวไป) 2. RAG = ยื่นคู่มือพนักงานให้เขาเปิดอ่านตอนเจอคำถาม (ข้อมูลอัปเดตง่าย เปลี่ยนคู่มือใหม่ได้ตลอด) 3. Fine-Tuning = เอาตัวอย่างงานเก่าๆ 100 ชิ้นมาให้เขาฝึกทำ (ใช้ข้อมูลแบบมีเฉลย เพื่อปรับสไตล์การทำงาน) 4. Continuous Pre-training = ให้พนักงานไปอ่านหนังสือการแพทย์ทั้งห้องสมุดเพื่อให้เข้าใจศัพท์แพทย์ (ใช้ข้อมูลไม่มีเฉลย Unlabeled data เพื่อเพิ่มความรู้เฉพาะทาง)
สรุป Key Takeaways
- Prompt Engineering: ง่ายสุด ถูกสุด ใช้กับข้อมูลที่เปลี่ยนบ่อยได้ดีถ้ามีขนาดเล็ก
- RAG (Retrieval-Augmented Generation): ดึงข้อมูลจากฐานความรู้ภายนอกมาแนบกับ Prompt เหมาะกับข้อมูลเฉพาะองค์กรที่มีจำนวนมากและเปลี่ยนบ่อย
- Fine-tuning: นำโมเดลมา Train เพิ่มเติมด้วยข้อมูลที่ Label แล้ว เหมาะสำหรับปรับ "สไตล์" หรือรูปแบบการตอบ
- Continuous Pre-training: สอนโมเดลด้วยข้อมูลดิบเฉพาะทาง (Unlabeled) จำนวนมหาศาล เพื่อให้มีความรู้ลึกซึ้งในโดเมนนั้น
คำถามที่พบบ่อย
ลำดับการปรับแต่งโมเดลจากถูกไปแพงคืออะไร (หัวใจของ Domain นี้)
Prompt engineering → RAG → Fine-tuning → เทรนเองจากศูนย์ (continued pre-training) — ข้อสอบถามซ้ำๆ ว่าสถานการณ์นี้ควรใช้ระดับไหน: อยากได้ข้อมูลบริษัทที่อัปเดต = RAG · อยากได้สไตล์/รูปแบบเฉพาะทาง = fine-tuning · แค่ปรับคำสั่ง = prompt
RAG แก้ปัญหาอะไรที่ fine-tuning แก้ไม่ได้
ความรู้ที่ "เปลี่ยนตลอดเวลา" — RAG ค้นเอกสารล่าสุด ณ ตอนตอบ อัปเดตแค่แก้เอกสาร ไม่ต้องเทรนใหม่ และอ้างอิงแหล่งที่มาได้ (ลด hallucination) ส่วน fine-tuning ฝังความรู้ตายตัว ณ วันเทรน — ข้อมูลราคาสินค้า/นโยบายที่แก้บ่อยจึงเป็นโจทย์ของ RAG เสมอ
Fine-tuning ใน Bedrock ต้องเตรียมอะไร
ชุดข้อมูลตัวอย่าง prompt-completion คุณภาพดี (labeled data) วางใน S3 — จุดที่ข้อสอบชอบแตะ: fine-tuning สร้าง "custom model ของเราเอง" ที่ต้องจ่ายค่า provisioned throughput ตอนใช้ และข้อมูลเทรนของเราไม่ถูกเอาไปปนกับโมเดลกลาง
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 2 ข้อ · เฉลยทันที

