Skip to content

Fine-tuning หรือ Retrieval? เริ่มจากรู้ว่าข้อมูลอยู่ตรงไหน

VibeSolo
ภาพปกการบรรยายของ Anant Srivastava พร้อมข้อความ Prompt? Memory? Weights? และตรา AI Engineer World’s Fair
ภาพปกการบรรยายของ Anant Srivastava เครดิต: AI Engineer / Stop Fine-Tuning to Fix Retrieval Problems

ผู้ช่วยฝ่ายบริการยังตอบชื่อสินค้าที่เลิกขายไปแล้ว ทั้งที่ทีมเปลี่ยนแค็ตตาล็อกใน prompt เป็นฉบับใหม่เรียบร้อย ปัญหาในตัวอย่างนี้อยู่ที่ข้อมูลสินค้าเก่าปะปนในเคสบริการย้อนหลังที่นำไป fine-tuning จึงเข้าไปอยู่ใน weights ของโมเดลด้วย

Anant Srivastava ยกกรณีนี้ในการบรรยาย Stop Fine-Tuning to Fix Retrieval Problems ทางช่อง AI Engineer เพื่อชวนทีมดูว่าความรู้ถูกเก็บไว้ตรงไหน เขาเสนอให้มอง prompt, memory และ weights เป็นเครื่องมือสำหรับงานต่างชนิด แทนการไล่เปลี่ยนไปใช้สิ่งที่ซับซ้อนขึ้นทุกครั้งที่ AI ตอบผิด

ข้อมูลเก่าเข้าไปอยู่ใน weights ได้อย่างไร

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

พอสินค้าเปลี่ยน ทีมอัปเดตแค็ตตาล็อกที่มองเห็นได้ แต่ข้อมูลเดิมไม่ได้อยู่แค่จุดนั้น ชื่อสินค้าเก่าอยู่ในเคสที่ใช้ฝึกด้วย จึงยังปรากฏในคำตอบได้ ตามคำอธิบายของ Srivastava ความผิดพลาดนี้เกิดจากหลายทีมค่อย ๆ เพิ่มส่วนของตัวเอง โดยไม่มีใครรับผิดชอบการวางข้อมูลทั้งระบบ

ประเด็นของกรณีนี้จึงอยู่ที่การตามหาทุกทางที่ข้อมูลเดินเข้าโมเดล การดูเพียง prompt ล่าสุดหรือรายชื่อเอกสารที่อัปโหลดไว้ อาจยังไม่เห็นสิ่งที่เคยถูกใส่ในชุดฝึก

แยกคำสั่ง ความรู้ และทักษะออกจากกัน

ผู้บรรยายใช้กรอบสามส่วนเพื่อช่วยวินิจฉัยปัญหา โดยย้ำว่ามีข้อยกเว้นได้ ไม่ใช่กฎที่ใช้ตัดสินทุกระบบโดยไม่ดูบริบท

  • Prompt: คำสั่งเรื่องพฤติกรรม เช่น น้ำเสียง วิธีตอบ และจุดที่ต้องส่งต่อให้คน ควรกระชับและแก้ไขได้สะดวก
  • Memory: ความรู้ที่ต้องหยิบมาใช้ เช่น เอกสาร นโยบาย และข้อมูลที่เปลี่ยนตามเวลา รวมถึงแหล่งภายนอกที่ค้นผ่าน RAG
  • Weights: ส่วนของโมเดลที่เปลี่ยนจากการฝึก ในกรอบนี้เขาสนใจการฝึกรูปแบบหรือทักษะที่เริ่มนิ่งแล้ว มากกว่าการให้โมเดลจำข้อมูลธุรกิจที่ยังเปลี่ยนอยู่
สไลด์ตารางเปรียบเทียบหน้าที่ของ prompt memory และ weights
สไลด์ The diagnostic แบ่งหน้าที่และข้อควรระวังของ prompt, memory และ weights เป็นกรอบที่ผู้บรรยายใช้วินิจฉัยปัญหา เครดิต: Anant Srivastava / AI Engineer

ตัวอย่าง prompt ในคลิปคือผู้ช่วยบริการซอฟต์แวร์ที่ใช้น้ำเสียงมืออาชีพ เสนอส่งต่อเจ้าหน้าที่หลังแก้ปัญหาไม่สำเร็จสามครั้ง และบอกขั้นตอนถัดไปให้ชัด นี่เป็นตัวอย่างกติกาของระบบที่เขายกมา ไม่ใช่จำนวนครั้งที่เหมาะกับทุกธุรกิจ

คำว่า prompt ในการบรรยายครอบคลุมคำสั่งที่เขียนไว้ในไฟล์และส่วนอื่นของระบบด้วย ส่วนการเตือนไม่ให้ใช้ prompt เป็นคลังข้อมูลถาวร ไม่ได้แปลว่าห้ามส่งข้อเท็จจริงเข้าสู่ context เมื่อจะตอบคำถาม ข้อมูลที่ค้นมาและเกี่ยวข้องกับงานยังต้องถูกส่งให้โมเดลใช้ ความต่างอยู่ที่การเลือกข้อมูลให้ตรงโจทย์ แทนการแนบคลังทั้งหมดซ้ำทุกครั้ง

สำหรับ memory ผู้บรรยายเน้นความรู้ที่มีปริมาณมาก เปลี่ยนเร็วกว่ารอบฝึก และต้องอ้างกลับไปยังแหล่งข้อมูลได้ เขานับทั้งความจำของเอเจนต์และฐานความรู้ภายนอกองค์กรไว้ในคำนี้ จึงไม่ควรอ่านว่า memory หมายถึงประวัติแชตเพียงอย่างเดียว

ตรวจข้อมูลที่ค้นได้จริง ก่อนฝึกโมเดลเพิ่ม

ผู้บรรยายยกผู้ช่วยเขียนโค้ดเป็นตัวอย่าง คลังโค้ดมีขนาดใหญ่และเปลี่ยนอยู่เรื่อย ๆ จึงต้องดูวิธีแบ่งข้อมูลเป็นส่วนย่อยและเลือกส่วนที่เกี่ยวข้องกลับมาใช้ เขาเน้นการแบ่งโดยคำนึงถึงโครงสร้างโค้ด พร้อม metadata ที่บอกว่าชิ้นนั้นมาจาก repository ใดและอยู่ในขอบเขตการเข้าถึงของใคร

ข้อเสนอคือให้ตัวกรองช่วยจำกัดชุดข้อมูลที่ดึงมา แทนการคืนชิ้นส่วนจำนวนมากจนปะปนกัน สำหรับข้อมูลที่ผู้ใช้แต่ละคนเห็นได้ไม่เท่ากัน การออกแบบสิทธิ์จึงต้องอยู่ในเส้นทางค้นข้อมูลด้วย

กรณีคล้ายกันเกิดกับผู้ช่วยค้นเอกสารภายใน หากมันตอบผิดเพราะไม่ได้รับส่วนที่เกี่ยวข้องจากคู่มือ การนำคู่มือทั้งรุ่นไป fine-tuning อาจทำให้ยิ่งผูกกับข้อมูลเก่า Srivastava เสนอให้กลับไปแก้การค้นและการเลือกชิ้นข้อมูลก่อน

วิธีตรวจที่นำหลักนี้มาใช้ได้คือเลือกคำถามที่ตอบผิดหนึ่งข้อ แล้วเปิดดูข้อมูลที่โมเดลได้รับจริง: เอกสารถูกฉบับหรือไม่ มีเงื่อนไขสำคัญครบหรือไม่ และอยู่ในขอบเขตสิทธิ์ที่ถูกต้องหรือไม่ เมื่อข้อมูลถูกแล้วแต่ยังใช้เหตุผลผิด จึงแยกไปประเมินความสามารถของโมเดลและรูปแบบงานต่อ วิธีตรวจนี้ต่อยอดจากกรอบที่ผู้บรรยายเสนอ

เมื่อใดจึงมีเหตุผลให้ fine-tuning

Srivastava ไม่ได้เสนอให้เลิก fine-tuning เขาเสนอให้มีเหตุผลชัดว่ากำลังแก้ข้อจำกัดด้านความสามารถหรือประเมินทางเลือกด้านต้นทุน และต้องดูว่ารูปแบบที่กำลังจะฝึกนิ่งพอแล้วหรือยัง

ตัวอย่างในคลิปคืองานที่คนยังตัดสินต่างกันในช่วงแรก เช่น การกลั่นกรองเนื้อหา เมื่อเก็บการแก้ไขของคนไปสักระยะ อาจเห็นส่วนที่เริ่มมีมาตรฐานตรงกันกับส่วนที่ยังถกเถียง ผู้บรรยายมองว่าส่วนที่นิ่งแล้วเป็นผู้สมัครสำหรับการฝึกเพิ่มเติม ขณะที่กรณีกำกวมยังต้องให้คนดูต่อ หลังฝึกก็ยังต้องติดตามว่ามาตรฐานหรือข้อมูลเปลี่ยนไปหรือไม่

เขายังยกงานจับคู่บันทึกกับรหัสทางการแพทย์เพื่อแยก “ความรู้เรื่องรายการรหัส” ออกจาก “ทักษะอ่านรูปแบบข้อมูลและเลือกผลลัพธ์” จุดของตัวอย่างคือไม่จำเป็นต้องฝังรายการทั้งหมดไว้ในโมเดลเพื่อฝึกให้ทำงานกับรูปแบบนั้นได้ บทความนี้ใช้เป็นตัวอย่างด้านสถาปัตยกรรมเท่านั้น ไม่ได้ประเมินความถูกต้องหรือแนะนำการนำไปตัดสินงานทางการแพทย์

ส่วนการใช้โมเดลขนาดเล็กกับงานที่มีรูปแบบชัด ผู้บรรยายเสนอว่าอาจเป็นทางเลือกด้านต้นทุนได้ แต่ไม่ได้ให้ผลทดลองที่ใช้คำนวณความประหยัดสำหรับระบบของผู้อ่าน การมีข้อมูลที่นิ่งจึงยังต้องประกอบกับเป้าหมายและการประเมินผลของงานนั้น

ออกแบบการส่งต่อระหว่างสามส่วน

ช่วงท้ายของการบรรยายเชื่อมสามส่วนกลับเข้าด้วยกัน ข้อมูลจากการทำงานบางอย่างถูกเลือกเก็บเป็น memory เมื่อเริ่มงานใหม่ ระบบดึงข้อมูลที่เกี่ยวข้องกลับเข้า context และเมื่อพบรูปแบบที่นิ่งพอ ก็อาจนำไปสร้างชุดฝึกได้

สไลด์แผนภาพวงกลม prompt memory และ weights เชื่อมด้วยลูกศร
สไลด์ The circulation อธิบายการส่งข้อมูลระหว่าง prompt, memory และ weights รวมถึงการทบทวนสิ่งที่ต้องค้นหลังฝึกโมเดล เป็นแนวทางออกแบบที่ผู้บรรยายเสนอ เครดิต: Anant Srivastava / AI Engineer

หลังฝึกให้โมเดลคุ้นกับรูปแบบบางอย่างแล้ว ตัวอย่างที่เคยต้องดึงมาประกอบทุกครั้งอาจเปลี่ยนไป ส่วนข้อเท็จจริงที่ต้องเป็นปัจจุบันยังต้องได้รับการดูแลในแหล่งข้อมูลของมัน วงจรนี้ต้องมีการคัดเลือกและประเมินผล ไม่ได้หมายความว่าเอเจนต์จะฝึกตัวเองหรือทำงานดีขึ้นโดยอัตโนมัติเพียงเพราะใช้งานมากขึ้น

ก่อนเปลี่ยนโมเดลหรือเริ่มชุดฝึกใหม่ คำถามที่บทบรรยายฝากไว้จึงเป็นเรื่องที่ตรวจได้: ข้อมูลที่ทำให้ตอบผิดมาจากไหน ใครเป็นคนอัปเดต และควรแก้ตรงจุดใด คำตอบเหล่านี้ช่วยให้การแก้ระบบมีเป้าหมายชัดกว่าการเพิ่ม prompt เพิ่มเอกสาร และเพิ่มการฝึกพร้อมกัน

แหล่งที่มา: Stop Fine-Tuning to Fix Retrieval Problems / Anant Srivastava / AI Engineer