หลังจากที่กระแส ChatGPT ได้สร้างปรากฏการณ์ในวงการคอมพิวเตอร์จำนวนมาก ทั้ง Bing นำมาเป็นส่วนหนึ่งของระบบค้นหา, Google เปิดตัว Bard ที่ใช้ LaMBDA มาเพื่อแข่งกับ Bing และอื่น ๆ แต่ผู้ใช้งาน ChatGPT คงเจอปัญหาเวลาใช้งาน ChatGPT กับภาษาไทยแล้วทำงานช้ามาก เพราะ ChatGPT ไม่ได้ฝึกฝนด้วยชุดข้อมูลภาษาไทย นอกจากนั้น ChatGPT ยังเป็นซอฟต์แวร์ที่เป็นกรรมสิทธิ์ของ OpenAI และไม่ได้เป็น Open Source (ไม่เปิดเผยชุดข้อมูลที่ใช้ฝึกสอน-ไม่เปิดเผย Source Code)
ในปัจจุบันได้มีความพยายามสร้างโมเดล ChatGPT ในรูปแบบของ Open Source ที่ฝึกสอนโมเดลจากชุดข้อมูลบทสนทนาในภาษาต่าง ๆ ตัวอย่างเช่น ภาษาอังกฤษ, ภาษาจีน โมเดล ChatYuan และภาษาอื่น ๆ แต่สำหรับภาษาไทย ชุดข้อมูลบทสนทนา (conversational datasets) สำหรับใช้สอนโมเดล ณ ปัจจุบันยังไม่มี และค่าใช้จ่ายในการสร้างชุดข้อมูลค่อนข้างสูง เนื่องจากต้องใช้คนมาช่วยกันป้อนข้อมูลบทสนทนาให้โมเดลเรียนรู้ ดังนั้นผมจึงขอเชิญชวนชาว Blognone มาช่วยกันสร้างชุดข้อมูลบทสนทนาภาษาไทยสำหรับสอนแชทบอทที่เหมือน ChatGPT เพื่อให้นักวิจัยไทย และนักพัฒนาปัญญาประดิษฐ์ได้มีชุดข้อมูลสำหรับสร้างปัญญาประดิษฐ์ผู้ช่วยภาษาไทย (Open Assistant; AI Assistant หรือ “ChatGPT ภาษาไทย”)
สำหรับโครงการที่แนะนำคือ โครงการ Open Assistant โดย LAION-AI เจ้าของผลงานชุดข้อมูล LAION-5B ชุดข้อมูลคู่ข้อความ-รูปภาพอันลือลั่นที่ทำให้เกิดปรากฏการณ์ปัญญาประดิษฐ์วาดรูปอย่าง Midjourney และ Stable Diffusion มาแล้ว
ในครั้งนี้ LAION-AI มีเป้าหมายคือสร้างปัญญาประดิษฐ์ผู้ช่วยแบบโอเพนซอร์สเสมือน ChatGPT แต่ใช้งานได้ฟรี, เปิดเผยชุดข้อมูล, เปิดเผย Source Code, และนำไปทำงานบนคอมพิวเตอร์ตัวเองแบบออฟไลน์ได้ทั้งงานวิจัยและเชิงพาณิชย์ ขณะนี้ทางโครงการได้เริ่มต้นรับบริจาคชุดข้อมูลบทสนทนาในภาษาต่าง ๆ แบบ Crowdsourcing โดยหลังจากเสร็จสิ้นจะปล่อยภายใต้ CC BY 4.0 โดยก่อนอื่น ผมขอแนะนำให้อ่านเอกสาร Guidelines ตามที่ทางโครงการ PyThaiNLP ได้จัดทำขึ้นที่ pythainlp.github.io/Open-Assistant-Thailand/
มาเริ่มสร้างชุดข้อมูลกัน!
โดยข้อมูลที่ป้อนต้องทำตาม Guidelines สรุปย่อ ๆ คือเป็นข้อความใหม่ ไม่ก็อปจากที่ไหน, เป็นข้อความที่ไม่สนับสนุนความรุนแรง/เนื้อหาทางเพศ/ความเกลียดชัง/ข้อความที่ผิดกฎหมาย ข้อความที่ป้อนสามารถใช้ markdown ได้
3.3 “ตอบกลับเป็นผู้ช่วย” (Reply as Assistant) สำหรับสร้างข้อความที่ Open Assistant จะตอบคำถามกลับไปหาผู้ใช้งาน เช่น “การทอดไข่ดาวแบบกึ่งสุกกึ่งดิบมีขั้นตอนดังต่อไปนี้ 1. ใช้ไฟอ่อนๆ …” คำแนะนำในการสร้างข้อความคล้ายกับ 3.1 แต่เพิ่มเติมจาก PyThaiNLP คือให้สวมบทเป็นปัญญาประดิษฐ์ เช่น ใช้คำตอบแบบไม่ระบุเพศ (ไม่ต้องมีครับ/ค่ะ, แทนตัว Open Assistant ด้วยฉัน) เป็นต้น
3.4 “จัดประเภทการตอบกลับของผู้ช่วย” (Classify Assistant Reply) เป็นการกำกับข้อความที่ Open Assistant ตอบกลับใน 3.3 เกณฑ์การประเมินคล้ายกับ 3.2 เพิ่มเติมคือ
กรณีไม่ดี (ตอบ ใช่)
ถาม: สีประจำวันพุธสีอะไร
ตอบ: วันพุธเป็นวันกลางสัปดาห์
กรณีดี (ตอบ ไม่)
ถาม: สีประจำวันพุธสีอะไร
ตอบ: สีเขียว
3.5 “จัดอันดับการตอบกลับของผู้ช่วย” (Rank Assistant Replies) เป็นการจัดอันดับความตอบกลับที่ Open Assistant สร้างขึ้น ให้ลากวางคำตอบที่เหมาะกับ Prompt ที่สุด
โจทย์
ผู้ใช้: ช่วยบอกวิธีการทำอาหารอิตาเลี่ยนหน่อย
Open Assistant: คุณต้องการอาหารอิตาเลี่ยนเมนูไหน
คุณต้องตอบด้วยข้อความ เช่น “ขอเมนูพาสต้าแล้วกัน” หรือ “ขอเมนูพิซซ่า” เป็นต้น
3.7 “จัดประเภทการตอบกลับของ Prompter” (Classify Prompter Reply) เป็นการกำกับข้อความที่ผู้ใช้ตอบกลับ Open Assistant ใน 3.6 โดยมีเกณฑ์เดียวกับ 3.2
สามารถดูรายละเอียดเพิ่มเติมได้ที่ Open-Assistant.io/th และ pythainlp.github.io/Open-Assistant-Thailand/
พูดคุยกับชุมชน Open Assistant Thailand ได้ที่ Open Assistant Thailand - Facebook Groups
ข้อมูลเปิดเผย โครงการ PyThaiNLP เป็นผู้เขียนบทความนี้