CategoriesTechnology...My interested

OpenThaiGPT

ตั้งใจเพิ่มความรู้ให้ตัวเอง จากโจทย์ที่ว่า หากเราต้องการจะทำ AI Chatbot ขึ้นมาเอง เราต้องศึกษาเรียนรู้อะไรบ้าง เลยเป็นที่มาให้มาเรียนหัวข้อนี้

อันที่จริงนอกจากหัวข้อที่กล่าวไป คือบริษัทที่ตัวเราเองกำลังทำงานอยู่ตอนนี้ ได้มีการเอา AI Chatbot + Image Processing หรือ OCR ต่างๆเข้ามาร่วมใช้งาน จึงทำให้อยากรู้ว่า ในมุมของคนที่ทำงานเป็น QA Engineer ฝั่ง Software เนี่ย หากต้องการอยากจะประยุกต์การทดสอบร่วมกับการทำงานกับพวก AI , Machine Learning พวกนี้ มันจะเป็นไปได้ไหม (เท่าที่เรียนวันนี้ คนที่ทำงานฝั่งนักทดสอบระบบฯ ไม่น่าจะได้แตะงานส่วนนี้เลยนะ อาจมีได้แตะคือในส่วนงานการตรวจสอบพวก Train Data ว่ามีการใส่ค่ามาถูกต้องหรือเปล่า จากนั้นก็ไปทดสอบที่ทางปลายทางเลย คือ Input คำถามอะไรไป แล้วได้ค่าตามที่คาดหวังหรือเปล่า ประมาณนี้)

หัวข้อการเรียนในวันนี้ มีตั้งแต่
-Large Language Models ( LLM ) ,GPT-2 ,GPT-3 ,GPT-4 คืออะไร
-NLP ( chatGPT ) คืออะไร
-พื้นฐานการใช้งาน Colab
-Workshop : OpenThaiGPT-1.0.0-beta (GPT-3.5) + Gradio Web Interface
-Workshop : Fine-tuning OpenThaiGPT-1.0.0-beta ด้วย Dataset ของเราเอง
-Workshop : ทำ Gradio Web chatGPT

หลังเรียนจบไป ได้วิธีการ Train Data และการเรียกใช้งานมาเบื้องต้น แต่ถ้าถามว่าหากเราจะทำเองตั้งแต่ต้น และต้องสอนให้มันเข้าใจในบริบทต่างได้เองนั้น อันนี้ยังไม่มั่นใจ เพราะการทำเช่นนั้นได้ เราจะต้องเตรียมพวก Train Data เช่นหากเรามีผลิตภัณฑ์ภายในบริษัทของเรา เราคิดว่าเราจะเจอคำถามแบบไหน แล้วหากเราเจอคำถามแบบนั้นเข้ามา เราจะตอบกลับไปอย่างไร ซึ่งคิดว่าหากเรามีสิ่งต่างๆเหล่านี้เตรียมพร้อมไว้ การทำให้ AI (ตามที่เรียนในหัวข้อนี้) น่าจะตอบกลับไปได้

หรือใครอยากทำให้สิ่งนี้มีความรู้ในเรื่องของกฏหมาย หรือความรู้ของหมออะไรพวกนี้ ก็จะต้องสร้าง Data Train ดีๆส่งให้กับมัน จากนั้นค่อยให้มันเรียนรู้แล้วตอบเรากลับมา (ที่เรียนในวันนี้ เป็นตัวอย่างการถามตอบ โดยเอา Train Data มาจาก Website Pantip เว็บบอร์ดของไทย ทำให้เวลาที่ถามอะไรพี่เขาไป พี่เขาตอบกลับมาห้วนเหลือเกิน ฮ่าๆๆๆ)

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

ซึ่งเรื่องนี้มันจะยากขึ้นมาเลยสำหรับใครก็ตามที่เป็นนักพัฒนา Individual ไม่ได้สังกัดองค์กร และอยากจะสร้างสิ่งนี้ขึ้นมาเพื่อใช้สนับสนุนงานอดิเรกของตัวเอง (Colab ของ Google น่าจะอยู่ที่ประมาณ 70 ชั่วโมงต่อการเทรนแบบ 16 Bit 7 tb ในราคา 300 กว่าบาท )

ถามว่าจะเอาความรู้นี้ไปประยุกต์อะไรได้บ้าง ?!
ต้องบอกเลยว่าตอนนี้ยังคิดไม่ออก แต่คิดว่าการรู้วิธีทำเรื่องนี้ตั้งแต่ต้น จนขึ้นโครงได้ น่าจะเป็นพื้นฐานการศึกษาที่ดี ที่เราจะเอาไปต่อยอดในเรื่องอื่นต่อได้ในอนาคต

ลืมบอกไปว่าตอนเรียนในหัวข้อเรื่อง “เขียนโค้ดยามว่าง : หลักสูตรพัฒนาบอทเกมส์ด้วยภาษา Python ร่วมกับ OpenCV และ LdPlayer” มีการประยุกต์ใช้งาน Python + Machine Leaning ที่ทำให้เราพอเข้าใจ Concept พื้นฐานในวันนั้น

พอมาถึงวันนี้ การเรียนเรื่อง OpenThaiGPT ทำให้เรามีความรู้สึกดีใจ ก็เพราะว่าความรู้ที่ผ่านมาวันนั้นไม่ได้สูญเปล่า สามารถเอามาต่อยอดในสิ่งที่เรียนในวันนี้ได้ โดยสิ่งที่เหมือนกันของทั้ง 2 คอร์ส คือเรื่องของการใช้งานความสามารถของ Cuda บนการ์ดจอ + การส่ง Data ไปเทรนเหมือนๆกัน แตกต่างกันเพียง หัวข้อการทำบอทใช้การเทรนรูปภาพ ส่วนหัวข้อในวันนี้ ใช้การเทรนในส่วนของข้อความเท่านั้นเอง

หากใครอยากรู้ว่าหัวข้อนี้สามารถเรียนตามได้ที่ไหน? ต้องขอแนะนำว่าสามารถกดตามได้ที่ลิ้งค์นี้เลย > Soft Power Group

ก่อนจบไป ได้ Key Takeaways ดังนี้
-Cuda
-Pretrained
-Fine Tune
-Lora
-Lama
-Yolo7 , Yolo8 (อันนี้แถม แต่เอามาช่วยเรื่องทำความเข้าใจรูปภาพ)

เอาความรู้อีกจุดลงไปเพิ่มลงให้สมอง และภาวนาบอกกับสมองไปว่า “จง Connect , จง Connect , จง Connect”….

We are drowning in information but starved for knowledge.

John Naisbitt.