เจาะประเด็น
AI / LLMs
อย่าให้ AI จำแนก ให้มันมโน! เทคนิคสุดแหวกแนวแก้ปัญหาแท็กของเก่า
ใครว่าการจัดหมวดหมู่ต้องเป๊ะเสมอ? บางทีทางออกที่ดีที่สุดคือการปล่อยให้โมเดลได้ "คิดสร้างสรรค์" ก่อน แล้วค่อยมาไล่จับคู่ทีหลัง
ทีมข่าว เอไอไทย.com
⏱ อ่าน 3 นาที
เรื่องนี้มันเริ่มมาจากความรกของบล็อกส่วนตัวนี่แหละ Simon Willison เจ้าของบล็อกชื่อดังระดับตำนานวงการ dev เปิดเผยว่าเขามีคอนเทนต์เก่าๆ ที่ยังไม่ได้ติดแท็กอีกเพียบ และปัญหาคือบล็อกเขามีแท็กอยู่แล้วถึง 1,856 แท็ก! ตัวเลขขนาดนั้นจะโยนเข้า LLM ทีเดียวเพื่อให้ช่วยเลือกว่าบทความไหนควรได้แท็กอะไร มันก็ไม่เวิร์ค เพราะบริบทมันใหญ่เกินไป โมเดลคงมึนตึ้บไปเลย
ปกติวิธีคิดแบบคนทั่วไป (รวมถึงผมด้วย) คือเราจะพยายามบีบให้ AI เลือกจากตัวเลือกที่มีอยู่แล้ว เรียกว่าเป็นแนวทาง "จำแนก" (classify) แต่ Doug Turnbull เสนอทางออกที่พลิกมุมคิดโดยสิ้นเชิง — แทนที่จะให้โมเดลเลือกจากลิสต์แท็กเก่าๆ ที่มีอยู่ ทำไมไม่ให้มัน "มโน" แท็กขึ้นมาใหม่ก่อนล่ะ? ไม่ต้องสนใจว่ามีแท็กอะไรอยู่แล้ว ขอแค่ให้มันคิดว่าบทความนี้มันควรเกี่ยวกับอะไร แล้วค่อยใช้ vector embeddings ไปเทียบกับคลังแท็กที่มีอยู่จริงเพื่อหาตัวที่ใกล้เคียงที่สุดอีกที
ฟังดูอาจเหมือนการอ้อมไปอ้อมมา แต่จริงๆ แล้วมันฉลาดมาก เพราะการบังคับให้โมเดลเลือกจากหมวดหมู่เดิมที่อาจไม่ครอบคลุมหรือไม่ตรงกับเนื้อหาใหม่ๆ มันคือการล่ามโซ่ความคิด (หรือที่ภาษาอังกฤษเขาว่า constrained generation) ซึ่งเป็นการบีบให้ AI ทำงานในกรอบที่อาจจะผิดตั้งแต่ต้น แต่ถ้าปล่อยให้มันคิดอิสระก่อน มันจะได้ "จินตนาการ" หมวดหมู่ที่เหมาะสมออกมา ซึ่งอาจจะใกล้เคียงหรือทับซ้อนกับของเดิม แต่ก็เผื่อไปโดนหมวดหมู่ใหม่ๆ ที่เราไม่เคยคิดถึง
ในบล็อกโพสต์ของ Doug เขายกตัวอย่าง prompt ที่น่าสนใจมาก โดยเฉพาะการใส่ตัวอย่างหน้าตาของแท็กให้โมเดลดูก่อน เพื่อให้มันเดาได้แม่นขึ้น เช่น "Furniture / Living Room Furniture / Coffee Tables & End Tables" หรือ "Décor & Pillows / Decorative Pillows & Blankets / Throw Pillows" เห็นโครงสร้างแบบนี้แล้วโมเดลจะเข้าใจว่ามันต้องสร้างแท็กแบบมีลำดับชั้น (hierarchy) ยังไง ไม่ใช่มโนเป็นคำโดดๆ แล้วก็ให้ query มาว่า "brown coffee table" เพื่อให้มันสร้างหมวดหมู่ขึ้นมาใหม่
วิธีนี้มันคือการแยกงานออกเป็นสองสเตปชัดเจน: สเตปแรกคือ "สร้าง" (generation) ที่ให้ AI ได้ใช้ความเข้าใจเชิงความหมายอย่างเต็มที่ และสเตปที่สองคือ "จับคู่" (matching) ซึ่งใช้ embeddings ที่แม่นยำในการหาความใกล้เคียงเชิงเวกเตอร์ระหว่างแท็กที่มโนขึ้นมากับแท็กจริงที่มีอยู่แล้วในระบบ มันคือการผสมผสานจุดแข็งของสองโลกเข้าด้วยกัน และที่สำคัญคือมันแก้ปัญหาที่ว่าเราไม่สามารถยัดแท็ก 1,856 ตัวเข้าไปใน context window ได้ในคราวเดียวได้อย่างแยบยล
ผมว่าเทคนิคนี้มันไปไกลกว่าการจัดการแท็กในบล็อกนะ มันคือตัวอย่างของ "design pattern" ในการทำงานกับ AI ที่ควรค่าแก่การจดใส่กรอบไว้ติดตัว มนุษย์เรามักจะคิดว่าการให้ AI ทำงานภายใต้กฎเกณฑ์ที่เคร่งครัดจะได้ผลลัพธ์ที่แม่นยำ แต่จริงๆ แล้วในหลายกรณี การปล่อยให้มันได้ "เพ้อ" ก่อน แล้วค่อยใช้เครื่องมืออื่นมาดึงเข้าสู่โลกความจริง กลับให้ผลลัพธ์ที่ดีกว่าและครอบคลุมกว่าเยอะ
แต่แน่นอน มันก็ไม่ใช่สูตรสำเร็จตายตัวสำหรับทุกโจทย์ ถ้างานของคุณคือการแยกแยะอีเมลสแปมออกจากอีเมลปกติ การให้ AI มโนหมวดหมู่ใหม่ๆ ขึ้นมาคงไม่ช่วยอะไร แต่สำหรับงานที่ขอบเขตมันกว้างและข้อมูลเก่ามันเยอะจนไม่รู้จะเริ่มต้นยังไง แนวคิด "Don't classify. Hallucinate!" นี้คือแสงสว่างที่ปลายอุโมงค์จริงๆ มันคือการเปลี่ยนจาก "บังคับให้ถูก" มาเป็น "ปล่อยให้มั่ว แล้วค่อยมาปัดฝุ่นทีหลัง" ซึ่งบางครั้งก็ให้ผลลัพธ์ที่เหนือความคาดหมาย
ประเด็นสำคัญไม่ได้อยู่ที่การ "มโน" แต่คือการออกแบบระบบให้รู้ว่าเมื่อไหร่ควรบังคับให้ AI เลือก และเมื่อไหร่ควรปล่อยให้มันคิดก่อน แล้วค่อยใช้เครื่องมืออื่นมาช่วยจัดระเบียบ วิธีนี้แหละที่จะทำให้ AI ทำงานได้อย่างมีประสิทธิภาพสูงสุด ไม่ใช่แค่การติดแท็ก แต่รวมถึงงานด้านข้อมูลอื่นๆ อีกเพียบ
ที่มา: Simon Willison's Weblog — อ่านต้นฉบับ
ความคิดเห็น 4
กำลังโหลดความคิดเห็น...