UPDATE : GPT-3 คุยกับมนุษย์ได้ดีที่สุดตั้งแต่เคยเห็นมา
มาดู 5 applications เจ๋งๆ จาก GPT-3
ThaiKeras and Kaggle - 14 มีนาคม 2021
พวกเราอาจเคยได้ยินคำล่ำลือถึงความฉลาดของ GPT-3 ผลงานจากทีม OpenAI ที่สามารถสื่อสารเรื่องราวทางภาษาได้ใกล้เคียงกับมนุษย์มาก
สิ่งที่น่าสนใจก็คือ GPT-3 สามารถเอาไปใช้ทำอะไรได้บ้างกันนะ … ปัจจุบันแม้ GPT-3 จะยังไม่ถูก open source แต่ทาง OpenAI ก็ได้เปิดโอกาสให้ผู้พัฒนา software หลายกลุ่มได้นำ GPT-3 ไปสร้างสรรค์ applications ใหม่ๆ มากมาย
ปัจจุบันมีผู้รวบรวม Applications ต่างๆ ของ GPT-3 ไว้ที่ www.gpt3demo.com ซึ่งแบ่งเป็นหมวดหมู่ให้เยี่ยมชมไว้มากมาย เราลองมาดูสัก 5 ตัวอย่างเจ๋งๆ กันครับ
Game - AI Dungeon (Dragon Mode)
AI Dungeon - https://play.aidungeon.io/ คือ เกมส์ Text Adventure ที่จะเล่าเรื่อง story ต่างๆ ให้เราซึ่งเป็นตัวละครหนึ่งได้ฟัง และให้เราตัดสินใจว่าจะทำอย่างไรในเหตุการณ์นั้นๆ โดยการพิมพ์ข้อความเข้าไป
โดย AI ซึ่งเมื่อทำความเข้าใจทางเลือกของเราแล้ว (GPT-2 สำหรับผู้เล่นธรรมดาและ GPT-3 สำหรับผู้เล่น premium) จะนำการตัดสินใจของเราไปดำเนินเรื่อง และสร้างเหตุการณ์ต่างๆ ให้เราได้ตัดสินใจเรื่อยๆ อย่างสนุกสนาน
โดยเนื้อเรื่องจะเป็นโลกแฟนตาซีสมมติหรือโลกความเป็นจริงในประเทศอะไรก็ได้
AI Dungeon น่าจะเป็น รายแรกๆ ที่นำ GPT-3 มาใช้และเปิดให้ผู้เล่น premium (ประเภท Gold เดือนละ 10 เหรียญ หรือ300 บาท)
วิธีการเล่นหรือคุยกับ GPT-3 เมื่อสมัคร premium แล้วทำได้ง่ายๆ เพียงแค่เลือกไปยังโหมด "Dragon" เราสามารถเล่นกับ AI Dungeon ได้เสมือนกับเราได้มีส่วนแต่งนิยายแฟนตาซีเจ๋งๆ ที่ไม่มีวันจบ
เรายังสามารถทดลองคุยกับ GPT-3 ในลักษณะ ChatBot ได้บน AI Dungeon อีกด้วย
ChatBot - Emerson
ถ้าเราอยากคุยกับ GPT-3 ในรูป Chatbot ใน FB messenger หรือ Telegram เราสามารถลองได้ฟรี ที่ emerson.ai
โดยผมได้ทดลองคุยให้ Emerson แนะนำสถานที่ท่องเที่ยวในประเทศไทยของเรา เจ้า bot ตัวนี้แนะนำได้น่าสนใจมากๆ ว่าถ้าชอบภูเขาให้ไปเขาใหญ่ ชอบทะเลให้ไปเสม็ด แต่ถ้าชอบชิลๆ ให้ไปเชียงใหม่ หรือถ้าอยากดูวัฒนธรรมโบราณบ้านเราให้ไปสุโขทัย
จากนั้นผมลองเจาะลึกให้แนะนำเกาะที่น่าสนใจต่างๆ ในบ้านเรา Emerson ก็แนะนำเกาะเสม็ด เกาะช้าง ภูเก็ด เกาะลันตา เกาะกระดาน เกาะหมาก เกาะกูด พร้อมทั้งบอกเสร็จสรรพว่าที่ไหนคนเยอะ ที่ไหนเงียบ ซึ่งค่อนข้างใกล้เคียงกับความจริงมากๆ ลองถามต่อว่ารู้จักหลีเป้ะไหม ก็ตอบได้
อย่างไรก็ดีถ้าเราเจาะลึกมากๆ เช่นให้แนะนำที่พักในโคราช เจ้า Emerson ก็โชว์ความไม่สมบูรณ์แบบออกมา โดยแนะนำให้ไปพักที่โรงแรมสนามบินโคราช (ซึ่งไม่มี)
ถือได้ว่าเป็น Bot ที่เก่งมากๆๆ และคุยสนุกจริงๆ ครับ อย่างไรก็ดีการคุยฟรีจะคุยได้ไม่กี่ประโยคใน 1 วันเท่านั้น ถ้าอยากคุยต่อต้อง subscribe premium ซึ่งมีราคาราวๆ 10 เหรียญต่อเดือนครับ
Virtual Reality + AI - ModBox
ModBox ได้ทดลองทำ prototype การนำ GPT-3 มาผนวกกับ Virtual Reality Game โดยให้ characters อื่นๆ ทุกตัวนอกจากผู้เล่นใน VR ตอบโต้กับผู้เล่นด้วย GPT-3
เราสามารถดูตัวอย่าง VR ได้ที่ (ปัจจุบันยังไม่มีให้เล่นจริง เป็นเพียง prototype เท่านั้น)
แค่ prototype ก็ดูตืนตาตื่นใจมากครับ
จากตัวอย่างเดาว่านำอาชีพ สถานที่ การแต่งตัว มุมมองของตัวละครมาเปลี่ยนเป็นข้อมูลให้ GPT-3 ประกอบกับประโยคพูดคุยของผู้เล่นในการสร้างบทสนทนา
.
Digital Marketing - Pencil
ที่ https://www.trypencil.com/ อ้างว่าสามารถสร้างโฆษณา Facebook Ads ได้อย่างอัตโนมัติ! ไม่ว่าจะเป็น ads แบบรูปภาพหรือ ads แบบวิดิโอ โดยรวมพลัง Computer Vision ในการทำความเข้าใจรูปภาพ และ GPT-3 ในการสร้างคำบรรยาย
นอกจากนี้ตัว software ยังประกอบไปด้วยโมเดล predict ประสิทธิภาพของโฆษณาที่ถูกสร้างมาอัตโนมัติด้วย เช่น CTA CTR metrics ใน Facebook Analytics
การสมัคร premium เพื่อสร้างโฆษณานั้นราคาค่อนข้างแพงมากถึง 750$ (23,000 บาท) ต่อเดือน ทางทีมงาน ThaiKeras เลยมิบังอาจลองใช้งานครับ 😀
อย่างไรก็ดีดูตัวอย่างโฆษณาที่สร้างโดย AI ได้ที่
https://www.youtube.com/playlist?list=PLPkUfyZOOFdn44f-8BBy_wJvFPjWWQ9MH
Content Generation - ContentBot
ที่ https://contentbot.ai/ ได้พัฒนา GPT-3 ให้สามารถสร้างบทความได้หลายรูปแบบไม่ว่าจะเป็นการเขียน Blog เขียนข่าว หรือโฆษณา
โดยเราเพียงกำหนดหัวข้อว่าต้องการให้เขียนเกี่ยวกับเรื่องอะไร จากนั้น contentbot จะ generate content ที่น่าสนใจที่เกี่ยวข้องกับหัวข้อนั้นให้เราทันที
Contentbot.ai นั้นให้เราทดลองสร้าง free account ได้และจะได้ 20 credits โดยเราทดลองสร้าง contents ได้ เช่น
ถ้าเรากำหนดไปว่าอยากสร้างโฆษณา dunkin donuts ตัว contentbot ก็จะสร้างคำบรรยายให้ เช่น
Dunkin' Donuts is famous for their delicious products. But in our store you can choose your most favorite flavors!
หรือถ้ากำหนดหัวข้อ blogs ตัว contentbot ก็จะสร้าง intro ให้ 5 แบบในหัวข้อที่กำหนด (ดูตัวอย่างในรูปแนบสำหรับหัวข้อ การทำ marketing สำหรับบริษัท startups) เป็นต้น
.
Applications อื่นๆ
นอกจาก 5 ตัวอย่าง applications ที่เล่ามายังมีตัวอย่างอีกมากมายใน gpt3demo.com เพื่อนๆ ลองเข้าไปเล่นกันดูได้ครับ
ใช้งาน OpenAI API และ GPT3 อย่างเป็นทางการ!!
ThaiKeras and Kaggle - 8 เมษายน 2021
สวัสดีครับเพื่อนๆ หลังจากที่เราได้เล่า applications เจ๋งๆ ของ GPT3 ในบทความเดือนก่อน
http://bit.ly/thaikeras-openai-gpt ทาง ThaiKeras ก็ได้รับ surprise จาก OpenAI ที่อนุญาตให้เราทดลองใช้งาน GPT3 ได้อย่างเป็นทางการครับ!! (หลังจากที่รออยู่ใน waitlist น่าจะเกิน 6 เดือน)
โดย GPT3 ที่ OpenAI ให้นักพัฒนาใช้งานนั้นจะอยู่ในชื่อเรียกว่า OpenAI API ดูจากชื่อนี้ประกอบกับหัวข้อสนทนาใน OpenAI community คาดว่าน่าจะมีบริการอื่นนอกจาก GPT3 (เช่น Dall-E https://openai.com/blog/dall-e/ ) ออกมาให้นักพัฒนาได้ใช้ในอนาคตอันใกล้นี้ครับ
ล่าสุดทาง OpenAI แจ้งว่าได้เปิด API นี้ให้นักพัฒนากว่า 50,000 รายทั่วโลกได้ใช้งานแล้ว และวันนี้ทีม ThaiKeras จะลองพาเพื่อนๆ ไปดูว่า Ecosystem ของ Open AI เป็นอย่างไรบ้าง และมีค่าบริการ pricing ในการใช้งานอย่างไร ในกรณีที่เพื่อนๆ มีไอเดียจะประยุกต์ GPT3 เข้ากับธุรกิจหรือ Startup ด้านต่างๆ
สำหรับผู้ที่สนใจเรื่องค่าใช้จ่ายในการใช้งาน GPT3 หรือ OpenAI API สามารถเลื่อนลงไปดูในท้ายบทความได้เลยครับ
GPT3 เป็นโมเดลด้านภาษาที่เก่งที่สุดในเรื่อง "การเขียน" (แต่ไม่ใช่โมเดลที่ฉลาดที่สุดในแง่ "การอ่าน" ดังที่เราเคยเล่าในบทความเจาะลึกโมเดล NLP https://bit.ly/thaikeras-understanding-nlp เว้นเสียแต่เราพิจารณาการอ่านแบบ few-shots [อธิบายด้านล่าง] ซึ่ง GPT3 น่าจะเก่งที่สุด) และนับว่าเป็นหนึ่งในโมเดลที่ฉลาดที่สุดเท่าที่มีมาในวงการ AI
โดยเราสามารถให้ GPT3 เขียนเรื่องราวสร้างสรรค์เรื่องราวอะไรก็ได้เหมือนกับมนุษย์ โดยใช้ภาษาอังกฤษเป็นสื่อกลาง หรือจะใช้ภาษาไทยผ่าน Translator API ก็ย่อมได้ (ตัวอย่าง https://bit.ly/thaikeras-kaggle-gpt2thai ) ดังนั้นน่าสนใจมากๆ ภาคธุรกิจหรือ Startup ในบ้านเราจะสามารถนำพลังของ GPT3 มาประยุกต์ได้อย่างไรบ้าง
.
รู้จัก Zero-shot กับ Few-shots และงานที่ GPT3 ทำได้
หลักการการใช้งานของ GPT3 ผ่าน OpenAI API นั้นถือว่าเรียบง่ายมากๆ ครับเรียกว่าเป็น "Text-In Text-Out" คือเรากำหนด Input Texts หรือเรื่องราวเบื้องต้นส่งไปให้ทาง OpenAI Server เค้าก็จะส่ง Texts ที่ GPT3 แต่งต่อจาก Input ของเรากลับมาให้
โดย OpenAI ได้ให้ตัวอย่างงานต่างๆ ที่ GPT3 ทำได้เกือบ 50 ตัวอย่าง ดังแสดงในรูปที่ 1 ครับ ซึ่งมีตั้งแต่งานง่ายๆ เช่น จำแนกประเภทประโยค แก้ Grammar นำข้อมูลสำคัญออกจากข้อความ หรืองานยากๆ เช่น ChatBot เปลี่ยนภาษามนุษย์เป็นภาษาโปรแกรม หรือเขียนนิยายสยองขวัญ เป็นต้น
GPT3 นั้นฉลาดมาก โดยการทำงานอยู่บนหลักการที่เรียกว่า Zero-shot หรือ Few-shots ซึ่งเป็นปัญหาที่ยากมากๆ ในวงการ Machine Learning ซึ่งโดยปกติต้องการข้อมูลสอนมหาศาล
คำว่า Few-shots คือสอนโดยให้แค่ไม่กี่ตัวอย่าง (ใช้นิ้วมือนับได้) ส่วน Zero-shot คือการสอนโดยไม่ต้องให้ตัวอย่างใดๆ เลย!! ซึ่งเป็นปัญหาที่ยากมากๆ แต่ GPT3 ทำได้ดีมากๆ นับว่าเป็น practical solution ของปัญหาที่ยากมากๆ ปัญหานึงในวงการ AI
Zero-shot หมายถึง เราสั่งให้มันทำงานที่ต้องการได้โดยที่ไม่ต้องสอนอะไรเลย อาทิเช่น เราให้บทความยาวๆ ไปแล้วบอกให้ GPT3 "สรุปประเด็นสำคัญ" ให้โดยที่ไม่สอนว่า "สรุปประเด็นสำคัญ" นั้นแปลว่าอะไร ซึ่ง GPT3 สามารถทำงานประเภทนี้ได้ทันที (ฉลาดสุดๆ) เนื่องจาก GPT3 ได้อ่าน Texts ต่างๆ ที่มีอยู่ในโลกนี้เป็นปริมาณมหาศาล ทำให้เข้าใจความหมายของคำว่า "สรุปประเด็นสำคัญ" อยู่แล้ว
อย่างไรก็ดี "ประเด็นสำคัญ" ของผู้ใช้งานแต่ละคนอาจไม่เหมือนกัน บางคนอาจสนใจที่เหตุการณ์ บางคนอาจสนใจที่ตัวบุคคล หรืออื่นๆ ดังนั้น GPT3 จะสามารถทำงานได้ดีมากขึ้นไปอีกถ้าเราให้ตัวอย่าง "การสรุปประเด็นสำคัญ" สัก 2-3 ตัวอย่าง (Few shots) ว่าผู้ใช้งานต้องการสรุปประมาณไหน
ซึ่ง GPT3 ก็จะปรับสไตล์การสรุปให้เข้ากับสิ่งที่เราต้องการได้ทันที!!
ลองเล่น OpenAI ผ่าน Playground
โดยก่อนที่เราจะเขียน Application และเรียกใช้งาน API ผ่าน server เราสามารถลองเล่น GPT3 ได้ผ่าน playground ที่ OpenAI ทำไว้ให้ครับ (รูปที่ 2 -- Few-shots QA ChatBot)
ซึ่งเจ้า Playground นี้สามารถ import ตัวอย่าง 50 ตัวอย่างที่ OpenAI เตรียมไว้มาปรับเล่นได้ทันที
และเป็นโอกาสที่ดีที่จะให้เราได้ลองปรับ Options ต่างๆ ได้ด้วย โดย Option ที่สำคัญมีดังต่อไปนี้
- Engine -- มีให้เลือก 4 Engines คือ Davinci (ใหญ่ที่สุด ดีที่สุด แพงที่สุด) Curie Babbage และ Ada (เล็กที่สุด เร็วที่สุด ถูกที่สุด) โดย OpenAI มี document สอน use case ไว้ว่างานแบบไหนควรใช้ Engine แบบไหน
- Response Length -- ความยาว tokens สูงสุดที่ GPT3 จะตอบกลับมาหาเราได้
- Temperature และ TopP ใช้กำหนด "ความคิดสร้างสรรค์" ของโมเดล โดยถ้าสองค่านี้มากโมเดลจะมีความคิดสร้างสรรค์มาก แต่ในขณะเดียวกันอาจจะออกทะเลได้ง่ายๆ เหมือนกัน
- Frequency Penalty -- ปรับค่านี้เพื่อให้โมเดลตัดการพูดซ้ำเรื่องๆ เดิมๆ ออกไป
- Stop Sequences -- กำหนด tokens ที่จะทำให้โมเดลจบการสร้าง texts
- Show Probabilities -- แสดงผลความน่าจะเป็นของแต่ละ tokens ที่ถูก generate ออกมาว่าความน่าจะเป็นมาก (แม่นยำ) หรือน้อย (สร้างสรรค์)
รูปที่ 3 แสดงตัวอย่างการให้ texts บทความเกี่ยวกับดาวพลูโตแบบ zero-shot และสั่งให้ GPT3 สรุปใจความสำคัญมา 8 ข้อ ส่วนรูป 4 แสดงตัวอย่าง output ที่ได้พร้อมสีความน่าจะเป็นครับ (สีเขียวความน่าจะเป็นมาก สีแดงความน่าจะเป็นน้อย)
.
Supports ของ OpenAI ในการพัฒนาและ Deployment
เมื่อเราได้เข้าใช้งาน GPT3 อย่างเป็นทางการ เราจะสามารถพูดคุยกับเพื่อนๆ หรือทีมของ OpenAI ได้ผ่านทาง Slack หรือผ่านทาง Discord community ดังรูปที่ 5 ครับ ซึ่งคึกคักมากทีเดียว
เมื่อเราพัฒนาไอเดียบน Playground และพัฒนา Application จนน่าจะใช้งานจริงได้แล้ว อย่าเพิ่งเปิดให้ใช้งานครับ!!! เพราะ OpenAI กำหนดว่าทุก Application จะต้องผ่านการรีวิวจาก OpenAI ก่อน มิเช่นนั้นจะถูกตัดสิทธิการเข้าถึงโดยถาวรครับ
ทั้งนี้เนื่องจากว่า GPT3 นั้นสร้างสรรค์เรื่องต่างๆ ได้ทุกเรื่อง และในบางครั้งถ้าไม่มีการควบคุมที่เหมาะสมก็อาจจะสร้างสรรค์เนื้อเรื่องที่ หยาบคาย เหยียด ลวนลามหรือเรื่องที่ไม่เหมาะสมอื่นๆ ได้
โดย OpenAI กำหนดว่าการใช้งานช่วงทดลอง ห้ามเผยแพร่ผ่าน Public URL และมีผู้ทดลองใช้งานได้ไม่เกิน 5 คน
ใน Documentations OpenAI จะมีอธิบายกระบวนการรีวิวอย่างละเอียด รวมทั้งมีตัวอย่างของ Application ที่ไม่ผ่านการรีวิวแน่นอน เช่น Chatbot ที่สามารถ "คุยได้ทุกเรื่อง" (หมายรวมถึงเรื่องหยาบด้วย)
ค่าบริการในการใช้งาน GPT3 ผ่าน OpenAI API
ปัจจุบัน GPT3 มีให้เลือก 4 โมเดล โดยยิ่ง parameters เยอะยิ่งมีความสามารถในการเขียนที่สูง
โมเดล Davinci (175 Billion parameters) 0.06 เหรียญ / 1,000 tokens
โมเดล Curie (13 Billion parameters) 0.006 เหรียญ / 1,000 tokens
โมเดล Babbage (6.7 Billion parameters) 0.0012 เหรียญ / 1,000 tokens
โมเดล Ada (2.6 Billion parameters) 0.0008 เหรียญ / 1,000 tokens
หมายเหตุ
- Billion = พันล้าน , 175 Billion = 175,000 ล้าน
- GPT3 จะแบ่ง 1 คำในประโยคภาษาอังกฤษออกเป็น 1-4 tokens โดยเฉลี่ยแล้ว 1 คำจะประมาณ 1.5 tokens
- GPT3 ประมวลผลได้สูงสุด (อ่าน + เขียน) ได้ไม่เกิน 2,048 tokens หรือราวๆ 1,500 คำ ต่อการเรียกใช้งาน 1 ครั้ง ดังนั้นการใช้งานเต็มที่ 1 ครั้งในโมเดล Davinci ตกราวๆ 3-4 บาท หรือถ้าใช้โมเดล Curie ก็จะตกราวๆ 30-40 สตางค์
- งานเขียนที่ใช้ความคิดสร้างสรรค์ควรเลือก Davinci หรือ Curie เท่านั้น ในขณะที่งานเขียนของ Babbage นั้นมีคุณภาพค่อนข้างต่ำ
คนที่อยากลองใช้งานในมุมธุรกิจ หรือต้องการพัฒนาร่วมกับ Applications ที่มีอยู่แล้วสามารถกรอกรายละเอียดใน waitlist ที่นี่ครับ
https://share.hsforms.com/1Lfc7WtPLRk2ppXhPjcYY-A4sk30
สำหรับผู้ที่ต้องการใช้ในงานวิจัยกรอกฟอร์มนี้ครับ

Building AGI Using Language Models
https://bmk.sh/2020/08/17/Building-AGI-Using-Language-Models/