19 คะแนน โดย GN⁺ 2025-04-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แอปพลิเคชันที่ทำงานบน LLM (Large Language Model) ประเมินด้วยวิธีทดสอบแบบดั้งเดิมได้ยาก เนื่องจากมี ลักษณะผลลัพธ์ที่ไม่เป็นเชิงกำหนดแน่นอน
  • ดังนั้นเพื่อรักษาและปรับปรุงประสิทธิภาพของระบบ LLM จึงจำเป็นต้องมี วิธีประเมินเฉพาะทาง (evals)

เหตุใด eval จึงสำคัญ

  • การกำหนดเกณฑ์ประสิทธิภาพ: ให้ทิศทางต่อประสิทธิภาพของโมเดลและตั้ง benchmark ที่เปรียบเทียบกันได้
  • สร้างความสม่ำเสมอและความน่าเชื่อถือ: ค้นพบและควบคุมผลลัพธ์ที่คาดเดาไม่ได้ล่วงหน้า
  • ชี้ทิศทางการปรับปรุง: ระบุจุดที่ประสิทธิภาพลดลงอย่างชัดเจนเพื่อให้ปรับปรุงได้อย่างตรงจุด
  • รองรับ regression test: ตรวจสอบว่าหลังการเปลี่ยนแปลงแล้วประสิทธิภาพยังคงเดิมหรือไม่ เพื่อรับประกันเสถียรภาพ

องค์ประกอบสำคัญของการประเมินก่อนนำขึ้นใช้งานจริง

เหตุใดการประเมินก่อนนำขึ้นใช้งานจริงจึงสำคัญ

  • วัดประสิทธิภาพได้ตั้งแต่เนิ่น ๆ และเปรียบเทียบกันได้
  • สามารถตรวจจับปัญหา regression ได้ล่วงหน้าเมื่อมีการเปลี่ยนโค้ด พรอมป์ต์ หรือพารามิเตอร์

วิธีดำเนินการประเมิน

1. สร้างชุดข้อมูล Ground Truth

  • ต้องมีชุดข้อมูลที่ประกอบด้วยคู่คำถาม-คำตอบซึ่งจัดทำโดยผู้เชี่ยวชาญ
  • สิ่งสำคัญคือ ต้องครอบคลุมหลายสถานการณ์ ที่สะท้อนรูปแบบคำถามของผู้ใช้จริง
LLM สามารถสร้าง Ground Truth ได้หรือไม่?
  • LLM สามารถช่วยในบทบาทเสริมได้ แต่ไม่แนะนำให้สร้างเองทั้งหมดเพียงลำพัง
    • ยังเข้าใจพฤติกรรมผู้ใช้ได้ไม่เพียงพอ
    • คำถามและคำตอบที่เหมาะกับบริบทจำเป็นต้องมีการตรวจทานโดยมนุษย์
    • การตรวจทานโดยมนุษย์เป็นสิ่งจำเป็นเพื่อรับประกันความเหมาะสมกับโดเมนและคุณภาพ

2. การเลือกตัวชี้วัดการประเมิน

  • Answer relevancy: ให้คำตอบที่ตรงประเด็นและมีความหมายต่อคำถามหรือไม่
  • Coherence: ความลื่นไหลเชิงตรรกะและความชัดเจนของคำตอบ
  • Contextual relevance: พิจารณาบริบทของบทสนทนาได้ดีเพียงใด
  • Responsibility: เป็นผลลัพธ์ที่มีความรับผิดชอบหรือไม่ เช่น ด้านจริยธรรม ความเป็นอันตราย และอคติ

3. ตัวชี้วัดการประเมิน RAG

  • ตัวชี้วัดการสร้างคำตอบ:
    • Faithfulness: อิงข้อเท็จจริงหรือไม่
    • Answer relevancy: ความเหมาะสมของคำตอบ
  • ตัวชี้วัดการค้นคืนข้อมูล:
    • Context precision: สัดส่วนสัญญาณต่อสัญญาณรบกวนของข้อมูลที่เกี่ยวข้อง
    • Context recall: ค้นข้อมูลที่จำเป็นต่อคำตอบที่ถูกต้องได้ดีเพียงใด

4. ตัวชี้วัดเฉพาะงาน

  • จำเป็นต้องมีตัวชี้วัดแบบปรับแต่งให้เหมาะกับงานเฉพาะ
    • ตัวอย่าง: งานสรุปความใช้ Fluency, Coherence, Consistency, Relevance

5. การคำนวณคะแนนและการจูนระบบ

  • คำนวณคะแนนโดยเปรียบเทียบผลลัพธ์จริงกับ Ground Truth สำหรับแต่ละตัวชี้วัด
  • ตัวอย่าง:
    • Recall ต่ำ: ลด chunk size
    • Precision ต่ำ: พิจารณาใช้ re-ranking
  • ตัวอย่างไลบรารีสำหรับการประเมิน: DeepEval, Relari-ai

เทคนิคการประเมินแบบ LLM-as-Judge

  • ใช้ LLM เช่น GPT-4 เป็นตัวประเมิน โดยไม่ต้องมี Ground Truth
  • ตัวอย่าง: เฟรมเวิร์ก G-eval, งานวิจัย Vicuna, QLoRA
  • ข้อเสีย:
    • ตัวชี้วัดบางอย่าง (เช่น Context Recall) วัดไม่ได้หากไม่มี Ground Truth
    • ในด้านความแม่นยำและความละเอียด การประเมินโดยมนุษย์ยังเหนือกว่า
  • บทสรุป: แนวทางที่เหมาะที่สุดคือ ใช้ LLM-as-Judge ควบคู่กับ Ground Truth

วิธีผสานการประเมินเข้ากับขั้นตอนการนำขึ้นใช้งานจริง

  • ผสานระบบอัตโนมัติของการประเมินเข้ากับ deployment pipeline
    • รันทดสอบอัตโนมัติก่อน commit โค้ดหรือก่อน deploy
    • ตัวอย่าง: ใช้ Giskard สำหรับการทดสอบอัตโนมัติเพื่อตรวจจับความเป็นอันตรายและ hallucination
  • ควรรวมการทดสอบสำหรับขั้นตอน preprocessing และการเก็บรวบรวมข้อมูลด้วย

การประเมินหลังนำขึ้นใช้งานจริงและ data flywheel

การมอนิเตอร์ระหว่างปฏิบัติการ

  • ติดตามอินพุต/เอาต์พุตแบบเรียลไทม์
  • จัดเซสชันประเมินร่วมกับผู้เชี่ยวชาญโดเมนเป็นประจำ
  • มีช่องทางรับ feedback จากผู้ใช้

กลยุทธ์ data flywheel

  • ใช้ข้อมูลและ feedback ที่เกิดขึ้นระหว่างการใช้งานจริงเพื่อสร้าง ลูปการปรับปรุงอย่างต่อเนื่อง
    • ตัวอย่าง: วิเคราะห์แพตเทิร์นคำถามของผู้ใช้ → ปรับปรุงวิธีค้นคืนข้อมูล
    • ปรับพรอมป์ต์ พารามิเตอร์ inference และวิธีค้นคืนข้อมูลตามเมตริก
  • อาจจำเป็นต้องเปลี่ยนตัวชี้วัดตามพฤติกรรมผู้ใช้และสถานการณ์ความล้มเหลว

บทสรุป: กลยุทธ์ “Evals First” คือหัวใจของผลิตภัณฑ์ LLM ที่เชื่อถือได้

  • ควรนำแนวคิดที่ให้การประเมินเป็นศูนย์กลางมาใช้ตั้งแต่ช่วงเริ่มต้นของการพัฒนาแอปพลิเคชัน LLM
  • หัวใจสำคัญคือ กำหนดตัวชี้วัดและเกณฑ์ที่ถูกต้องตั้งแต่ต้น และใช้สิ่งเหล่านี้เป็น จุดอ้างอิงของการพัฒนาและการนำขึ้นใช้งานจริง
  • ต้องกำหนดให้การประเมินเป็น กระบวนการพัฒนาหลัก ไม่ใช่งานที่ทำภายหลัง จึงจะสร้าง ระบบ AI ที่เชื่อถือได้และยึดผู้ใช้เป็นศูนย์กลาง ได้

1 ความคิดเห็น

 
winterjung 2025-04-03

จากประสบการณ์ของผมเอง รวมถึงจากกรณีอื่น ๆ อย่าง https://blog.lawrencejones.dev/ai-mvp/ ก็ดูเหมือนว่าโมเดลรุ่นใหม่ล่าสุดไม่ได้รับประกันว่าจะให้ผลลัพธ์ที่ดีกว่าเสมอไปนะครับ ทุกครั้งที่ปรับจูนโมเดลหรือพรอมป์ต์ ก็ต้องทำ evaluation ผ่านชุดข้อมูลอยู่ดี และถึงแม้ว่า llm จะช่วยสนับสนุนการตัดสินใจได้ แต่สุดท้ายมนุษย์ก็ยังต้องมานั่งสร้างชุดข้อมูล ground truth ให้โมเดล llm ด้วยมือทีละรายการอยู่ดี ซึ่งก็ค่อนข้างย้อนแย้งดีเหมือนกันครับ 555