การแสดงตัวอย่าง Example Prompting
Example Prompting หรือ Few-shot Prompting คือการใส่ตัวอย่างลงไปใน Prompt เพื่อชี้นำให้ AI ตอบในรูปแบบหรือบริบทที่เราต้องการ ซึ่งมีอยู่ 3 รูปแบบหลักๆ ได้แก่ Zero-Shot, One-Shot และ Few-Shots
💡 Key Takeaways
- เข้าใจเทคนิค Example Prompting หรือ Shot Prompting
- เข้าใจ Zero-Shot Prompting และตัวอย่าง
- เข้าใจ One-Shot Prompting และตัวอย่าง
- เข้าใจ Few-Shots Prompting และตัวอย่าง
- ตัวอย่าง Few-Shots Prompting แบบเป็นโครงสร้าง
- การประยุกต์ใช้ Few-Shots Prompting กับ Sentiment Analysis
รูปแบบต่างๆ ของ Example Prompting หรือ Shot Prompting
Example Prompting หรือ Few-shot Prompting คือการใส่ตัวอย่างลงไปใน Prompt เพื่อชี้นำให้ AI ตอบในรูปแบบหรือบริบทที่เราต้องการ
ซึ่งคำว่า "Shot" ในบริบทของ AI prompting หมายถึง "ตัวอย่าง" ที่เราใช้แสดงให้ AI Model เห็นว่าเราต้องการให้มันสร้างผลลัพธ์แบบใด โดยทั่วไปแล้วจะมีการเรียกชื่อตามจำนวนตัวอย่างที่ใช้ เช่น Zero-Shot (ไม่ใช้ตัวอย่าง), One-Shot (ใช้ตัวอย่าง 1 ชุด) และ Few-Shots (ใช้ตัวอย่างหลายชุด) เรามาดูตัวอย่างง่าย ๆ ของแต่ละแบบกันดีกว่า
Zero-Shot Prompting
Zero-Shot Prompting เป็นรูปแบบพื้นฐานที่สุดของ Prompting คือการสั่ง Prompt ให้ Model AI โดยไม่มีตัวอย่าง (Zero-Example) และขอให้มันสร้างผลออกมา ดังนั้น Prompt Instruction ทั้งหมดที่คุณได้เรียนในบทก่อนหน้านี้จนถึงตอนนี้จึงเป็น Zero-Shot Prompting
ตัวอย่าง ของ Zero-Shot Prompt เช่น
Prompt :
คำสั่งแบบนี้จัดเป็น Zero-Shot เพราะเราไม่ได้ให้ตัวอย่างใด ๆ กับ Model AI
One-Shot Prompting
One-Shot Prompting คือ การที่เราแสดงตัวอย่างเพียง หนึ่งตัวอย่าง ให้กับโมเดล
ตัวอย่างเช่น
Prompt :
2+2:
คำสั่งนี้จัดเป็น One-Shot เพราะเราได้ทำการแสดงตัวอย่างให้ Model AI เห็นหนึ่งตัวอย่างคือ 3+3: 6 ดังนั้น Model AI จะทำการคาดการณ์ว่า 2+2: จะมีคำตอบเท่ากับ 4
Few-Shots Prompting
Few-Shots Prompting คือ เมื่อคุณแสดงตัวอย่างให้โมเดลดู 2 ตัวอย่างหรือมากกว่านั้น
เรามาดูตัวอย่างของ Few-Shots กัน
Prompt :
5+5: 10
2+2:
คำสั่งนี้จัดเป็นการสั่งงานแบบ Few-Shots ที่เราได้แสดงตัวอย่างสำหรับโมเดล 2 ตัวอย่าง (3+3: 6 และ 5+5: 10) โดยทั่วไปแล้วยิ่งคุณแสดงตัวอย่างให้โมเดลดูเยอะเท่าไหร่ผลลัพธ์ที่ได้ก็จะดีขึ้นเท่านั้น
การจัดโครงสร้าง Example’s Prompt Structure
วิธีที่เราจัดโครงสร้าง Example Prompt นั้นมีความสำคัญมากสำหรับ Few-Shot Prompting คือ เมื่อคุณต้องการให้ผลลัพธ์มี "โครงสร้างในรูปแบบเฉพาะ" ซึ่งยากที่จะอธิบายให้โมเดลเข้าใจ เพื่อทำความเข้าใจเรื่องนี้ ลองพิจารณาตัวอย่างนี้
สมมติว่าคุณต้องการรวบรวมรายชื่อและอาชีพของผู้เข้าสมัคร สว. จาก ข่าวนี้ ซึ่งเป็นบทความจากหนังสือพิมพ์ออนไลน์ คุณต้องการให้โมเดลอ่านข่าวและแสดงผลรายชื่อและอาชีพในรูปแบบ ชื่อ นามสกุล [อาชีพ] เพื่อสั่งให้โมเดลทำตามแบบที่คุณต้องการ คุณควรแสดงตัวอย่างให้ดูสอง-สามตัวอย่าง ดังนี้
Prompt :
ก่อนใช้คำสั่ง Prompt ให้ทำการ Upload ไฟล์ “ข่าวคัดเลือกสว.pdf” เข้าไปก่อน
หลังจากนั้นให้พิมพ์ Prompt ตามนี้
อ่านข้อมูลจาก pdf ที่แนบไปให้, เขียนรายการชื่อที่ปรากฎในบทความและอาชีพหรือตำแหน่งตามตัวอย่าง
#ตัวอย่าง:
นางฉันทนา หวันแก้ว -> อดีตรองคณบดีคณะรัฐศาสตร์
นายดิเรก ถึงฝั่ง -> อดีต สว.
AI Output :
การแสดงตัวอย่างรูปแบบผลลัพธ์ที่ถูกต้องให้โมเดลเห็น มันจะสามารถสร้างผลลัพธ์ที่ถูกต้องตามที่เราต้องการได้ เราสามารถสร้างผลลัพธ์แบบเดียวกันนี้โดยใช้ไม่ให้ตัวอย่าง (Zero-Shot Prompting) แทนก็ได้ แต่การให้ตัวอย่าง 2-3 ตัวอย่าง (Few-Shots Prompting) จะให้ผลลัพธ์ที่สม่ำเสมอกว่ามาก
การประยุกต์ใช้ Few-Shots Prompting กับ Sentiment Analysis
ลองพิจารณาตัวอย่างจากรูป "Sentiment Analysis" เป็นการวิเคราะห์เพื่อจำแนกประเภทหรือ “Classify” ความคิดเห็นของลูกค้าว่าเป็นเชิงบวกหรือเชิงลบ เราแสดงตัวอย่างความเห็นเชิงบวก/ลบให้ Model เห็น 3 ตัวอย่าง จากนั้นเราก็แสดงความเห็นใหม่ที่ยังไม่ได้ถูก Classify (It doesn't work!:) ให้ Model เห็น ดังนั้น Model จะสังเกตว่า 3 ตัวอย่างแรกถูก Classify เป็น บวก (Positive) หรือ ลบ (Negative) และใช้ข้อมูลนี้ในการ Classify ตัวอย่างใหม่ว่าเป็น Negative
คราวนี้เรามาดูตัวอย่างการวิเคราะห์ Sentiment Analysis ความคิดเห็นลูกค้าที่เป็นภาษาไทยกันดูบ้าง
Prompt :
- จำแนกประเภทความคิดเห็นของลูกค้าตามตัวอย่าง
#ตัวอย่าง
- เป็นผลิตภัณฑ์ที่ยอดเยี่ยม : บวก
- ทำงานไม่ค่อยดี ติดๆขัดๆ : ลบ
- ช่วยให้งานเร็วขึ้นเยอะ : บวก
#ความคิดเห็นลูกค้า
- ห่วยบรม! :
- ชอบ ใช้ง่าย :
- บริการหลังการขาย รอนานมาก :
Ai Output :
ในการใช้งานจริงเราสามารถนำความคิดเห็นลูกค้าที่ Export มาแล้วจากระบบต่าง ๆ เป็น xls หรือ csv มาเพื่อใช้ Upload เป็น Input ในการคัดแยกได้
สรุป
โดยสรุปแล้ว Few-Shots Prompting นับเป็นกลยุทธ์ที่มีประสิทธิภาพซึ่งสามารถชี้นำ Model AI ให้สร้างคำตอบที่ถูกต้องและมีโครงสร้างที่เหมาะสมได้ การใช้ตัวอย่าง 2 - 3 ตัวอย่าง ทำให้ Few-Shots Prompting ทำให้ Model เข้าใจรูปแบบ Output ที่เราต้องการ ซึ่งทำให้วิธีนี้เป็นที่นิยมมากกว่า Zero-Shot และ One-Shot Prompting ในหลาย ๆ สถานการณ์
นอกจากนี้ Few-Shots Prompting จะช่วยให้ AI Model เรียนรู้และปรับตัวเข้ากับ Task ใหม่ ๆ ได้อย่างรวดเร็ว โดยอาศัยข้อมูลตัวอย่างจำนวนไม่มากนัก วิธีนี้จึงมีประโยชน์อย่างยิ่งในการพัฒนา AI ให้มีความยืดหยุ่นและสามารถประยุกต์ใช้งานได้หลากหลาย และเราคาดหวังว่าเทคนิคดังกล่าวจะถูกนำไปใช้งานกันอย่างแพร่หลายมากขึ้นในวงการ AI
บทเรียนถัดไป บทที่ 7 "รวม Prompt เทคนิคเข้าด้วยกัน"
อ่านบทเรียนอื่น ๆ เพิ่มเติม ได้ ที่นี่