ChatGPT/LLM/GenerativeAI คืออะไร มายังไง แล้วไปไงต่อ (ฉบับอ่านง่าย)

Nut Janekitiworapong
Nut .
Published in
4 min readJun 3, 2024

ทำความรู้จัก LLM หรือที่เราชอบเรียกกันแบบงงๆ ว่า ChatGPT

Disclaimer: Opinions are my own and not the views of my employer (and they don’t know it yet.)

ทำความเข้าใจพื้นฐานกันก่อน

ก่อนจะเริ่มพูดถึง ChatGPT ขอแนะนำให้รู้จักคำว่า LLM (อ่านทีละตัวอักษรว่า แอล แอล เอ็ม ไม่ต้องพยายามออกเสียงเป็นพยางค์เดียว) มาจากคำว่า Large Language Model แปลเป็นไทยว่า “โมเดลภาษาขนาดใหญ่” — ซึ่ง Model นี้หมายถึง Machine Learning Model ถ้าไม่เข้าใจว่า “โมเดล” คืออะไร ให้นึกภาพเป็นเหมือนโปรแกรมคอมพิวเตอร์ประเภทหนึ่ง ซึ่งสร้างด้วยการใช้ข้อมูลจำนวนมาก เพื่อให้โปรแกรมเรียนรู้ (Learning) ว่าถ้าเจอข้อมูลแบบนี้ (Input) ควรจะให้คำตอบหรือผลลัพท์ (Output) ว่าอะไร

เขียนโปรแกรมแต่ใช้ข้อมูลคืออะไร? — ปกติแล้วเวลาเรานึกถึงการเขียนโปรแกรม เราก็จะนึกถึงเขียนโค้ดเพื่อสร้าง Website หรือสร้าง App สมมุติว่าเราสร้างแอปเครื่องคิดเลข เราก็จะเขียนโค้ดเพื่อ “กำหนดคำสั่งหรือวิธีการไว้แล้ว” (defined instructions) ว่าถ้า 1+1 จะได้ 2 ถ้ากดปุ่มคูณให้เอาเลขมาคูณกัน ฯลฯ แต่การสร้าง Machine Learning Model เราไม่ได้กำหนดคำสั่งไว้ตายตัว เราให้มันเดาคำตอบจากข้อมูลที่เราให้

พออ่านถึงตรงนี้อาจมีคำว่า AI (Artificial Intelligence) เข้ามาในหัว ขอไม่อธิบายยาวๆ แต่ขอพูดง่ายๆ ว่า Machine Learning เป็นส่วนหนึ่งของ AI แล้ว Generative AI หละ? Generative AI ก็คือประเภทหนึ่งของ AI ที่เน้นการสร้าง (generate) content (เช่น ข้อความ รูป เสียง วิดิโอ)

โมเดลมันเดาคำตอบได้ยังไง? — Machine Learning Model เดาคำตอบจากความน่าจะเป็น (Probability)โดยเรียนรู้จาก Pattern ของข้อมูลที่เราบอกมันไว้ก่อนหน้า (Training data) สมมุติว่าเรามีรูปภาพส้ม 100 รูป กับรูปภาพแตงโม 100 รูป แล้วให้โมเดลเรียนรู้ว่าแบบนี้คือส้มนะ แบบนี้คือแตงโมนะ ทีนี้เราให้รูปส้มไป โมเดลก็จะ ‘เดา’ ได้ว่ารูปนี้มีโอกาสเป็นส้มมากกว่าเป็นแตงโ​ม (สำคัญว่ามัน ‘เดา’ เพราะฉะนั้นมันมีโอกาสผิด) แต่ถ้าเราให้รูปหมาไป มันก็จะงง เพราะข้อมูลที่เราใช้สอน (Train) นั้นไม่มีรูปหมา

ถ้าให้รูปแตงโม 3 รูป โมเดลอาจจะให้คำตอบเป็นเสียงได้

ทำไมไม่กำหนดคำสั่งหรือวิธีการไปเลยเหมือนโปรแกรมเครื่องคิดเลข ทำไมต้องทำอะไรยากๆ? — เพราะว่าเราไม่สามารถกำหนดคำสั่งหรือวิธีการของทุกอย่างได้ (หรือเรากำหนดไว้ได้ แต่มันไม่แม่น) ลองนึกในหัวว่า ถ้าเราจะแยกดอกกุหลาบ 20 สายพันธุ์ให้แตกต่างกัน เราจะเขียนลงกระดาษว่าอย่างไรได้บ้าง เป็นข้อๆ นึกไปนึกมาจะพบว่าให้เขียนเป็นหน้าเราก็ยังเขียนไม่หมด เพราะรายละเอียดมันเยอะมาก สรุปได้ว่าวิธีแก้ปัญหาด้วย Machine Learning Model (ML Model) จำเป็นมาก เมื่อโจทย์หรือคำตอบที่ต้องการเริ่มซับซ้อนจนเรากำหนดไว้ทั้งหมดไม่ได้

ความท้าทายของ ML Model อยู่ที่ความแม่น แม่นไม่แม่นขึ้นกับข้อมูลที่เราให้ว่าข้อมูลเยอะแค่ไหน เพราะยิ่งเห็นรูปส้มที่แตกต่างกันเยอะๆ ก็ยิ่งแยกได้ง่ายว่านี่คือส้ม เยอะอย่างเดียวไม่พอ ข้อมูลต้องมีคุณภาพด้วย เช่น สมมุติเราให้รูปแตงโมแล้วบอกไปผิดๆ ว่านี่คือส้ม มันก็จะสับสน

more examples at “how to confuse machine learning

วกกลับมาที่ LLM — LLM ทำงานอย่างไร?

ถ้าจะพูดแบบเข้าใจง่ายที่สุดคือ LLM ใช้วิธีการ “เดาคำถัดไป” จากคำตอบในปัจจุบัน นึกภาพง่ายๆ เหมือน Auto Completion ที่คีย์บอร์ดของโทรศัพท์ ที่มันเดาคำต่อไปเรื่อยๆ แต่ LLM มันเดาได้ดูฉลาดมากๆ (ย้ำว่าดูฉลาด) เพราะว่ามันเรียนรู้จากข้อมูลขนาดใหญ่มากๆ จนมันจับ pattern ได้ว่าคำต่อไปคือคำว่าอะไร จนทำให้ประโยคดูสวยงามเป็นธรรมชาติเหมือนเป็นประโยคที่มาจากคนเขียน ซึ่งก็แน่ เพราะมันเรียนรู้จากประโยคหรือข้อความที่คนเขียนจริงๆ

How to เดา? เฉลย: LLM ค่อยๆ เดาทีละ Token (อธิบายอย่างง่ายว่า token หมายถึง ‘คำ’ ที่รวมไปถึงเครื่องหมายต่างๆ บางทีคำยาวๆ มันก็ตัดเป็นหลายๆ token) โดยส่วนใหญ่แล้ว LLM Model จะเอาข้อความ input ของเราเข้าไปคำนวณหาว่า token ต่อไปที่ดู make sense มากที่สุดคือ token ไหน โดยคำนวณความน่าจะเป็นจาก Token ทั้งหมดที่มี แล้วจะเรียงและเลือกเอา token ที่ค่าความน่าจะเป็นมากที่สุดมาต่อท้าย แล้ววนต่อ model ไปเรื่อยๆ จนว่าจะเจอ token ที่สั่งให้หยุด หรือโดน Limit ไว้ตอนเราใช้งานว่าให้ตอบมาแค่ 100 tokens (ถ้าเราไม่กำหนดความยาวและมันยังไม่เจอ token ที่สั่งให้หยุด มันก็จะไม่หยุดเลย)

(Note: บางที่ บางโมเดล ไม่ใช้ว่า Token และใช้ Token ในความหมายอื่น)

เกือบได้กินชายสี่หมี่หยกแล้ว

ย่อหน้าก่อนใช้คำว่าส่วนใหญ่ เพราะจริงๆ แล้วมีหลายเทคนิคในการเลือก token ถัดไป มี 2–3 คำที่สำคัญคือคำว่า Temperature, Top_p, Top_k และคำอธิบายข้างบนนี้ลดทอนส่วน Technical ไปเยอะมาก แต่ขอละไว้เพื่อไม่ให้งงไปมากกว่านี้

Max token = 10 แปลว่าให้โมเดลตอบได้แค่ 10 tokens ปรากฏว่าพูดไม่รู้เรื่องเลย

LLM คือนักเดาที่ฉลาดเพราะเห็นมามาก

ถ้าได้ลองใช้มาบ้างแล้วจะเห็นว่า LLM มันดูฉลาด สาเหตุที่ดูฉลาดเพราะมันเห็นข้อมูลมามาก สำคัญว่า LLM เห็น แต่ไม่เข้าใจความหมายทั้งหมด LLM รู้ว่าแต่ละคำมีความสัมพันธ์กันอย่างไรเพราะรู้ patterns ของข้อความที่เห็น รู้ว่าควรเอาคำว่าอะไรมาต่อ แต่มันไม่เข้าใจว่าทั้งหมดแล้วหมายถึงอะไร เหมือนที่เราท่องบดสวดมนต์ได้แต่ไม่รู้ว่าแปลว่าอะไร (เช่น มะยัง แล้วต้อง ภันเต)

ส่วนนี้ยังเป็นที่ถกเถียงกันในเชิงปรัชญาว่า คำว่า understanding และ knowledge ที่จริงแล้วหมายถึงอะไร การรู้ patterns ของข้อความนั้นถือว่ามี understanding แล้วหรือไม่ ส่วนในทาง Computer Science ก็กำลังหาวิธี integrate ข้อมูลอื่นๆ เข้าไปในโมเดลเช่นกันเพื่อให้มันฉลาดขึ้น (เหมือนที่ ChatGPT บอกข้างล่างนี้)

ถาม ChatGPT ว่ารู้ไหม ChatGPT บอกว่าไม่รู้ ไม่รู้ ไม่รู้
Gemini Flash ก็บอกว่าไม่รู้ ไม่รู้ ไม่รู้

ที่บอกว่าโมเดลขนาดใหญ่ ใหญ่แค่ไหน? — คนชอบพูดถึงขนาดของโมเดล LLM ด้วยเลข Parameters GPT-4 ลือว่ามี 1.7 trillion (ล้านล้าน) parameters แต่เลขนี้คืออะไรกันนะ

เลข Parameters คือเลขภายในโมเดล เลขนี้อธิบายแบบง่ายคือเป็นเลขที่ใช้อธิบายความสามารถในการประมวลผล (ไม่ใช่เลขของจำนวนข้อมูลที่ใช้เทรน) นึกภาพง่ายๆ ว่าโมเดลนี้เหมือนบ้านหลังหนึ่ง ถ้ามี parameters เยอะ บ้านหลังนี้ก็จะมีฟังก์ชันในการใช้งานเยอะขึ้น เช่น มีสวน เลี้ยงหมาได้ สร้างสระว่ายน้ำได้ ฯลฯ ข้อดีคือยิ่งโมเดลที่มี Parameters เยอะ ก็จะสามารถทำอะไรได้มากขึ้น (ความสามารถมากขึ้น) ข้อเสียคือมันใช้ทรัพยากรในการสร้างเยอะ บ้านหลังใหญ่มีหลายห้อง หลายชั้น ก็ใช้เวลาสร้างนาน ใช้วัสดุเยอะ ใช้เงินเยอะ เหมือนกันกับโมเดล ก็ต้องใช้ส่วนประมวลผลที่จะมาสร้างเยอะขึ้น ใช้ไฟเยอะขึ้น ฯลฯ เรื่องที่น่าสนใจคือบ้านหลังใหญ่ไม่ได้ดีเสมอไป เพราะบางทีเราแค่อยากได้บ้านตากอากาศริมทะเล ที่ใช้แค่พักผ่อน เพราะฉะนั้นโมเดลที่ parameters น้อยกว่าอาจจะดีกว่าใน usecase ที่เราต้องการ

แล้วเลขจำนวนข้อมูลที่ใช้เทรนหละ — ส่วนใหญ่แล้วตอนนี้ใช้ข้อมูลระดับ TB (1 TB = 1,000 GB) เข้าใจว่าข้อมูลนี้ไม่เปิดเผยกัน เพราะเป็นความลับกันว่าข้อมูลมาจากไหนและเยอะแค่ไหน ถ้าเสิชหาจะมีคนลือว่า GPT-3 ใช้ข้อมูล 45TB ในการเทรน โดยส่วนมากแล้วโมเดลพวกนี้จะใช้ข้อมูลจาก Open Web (Common Crawl) Wikipedia และหนังสือต่างๆ

ถ้า ChatGPT คือ LLM ซึ่งเป็นนักเดา แล้ว ChatGPT รู้ได้ไงว่าวันนี้วันอะไร?

เฉลย มันไม่รู้ (หรือมันอาจแค่เดาถูก) เพราะในทางทฤษฏี​ LLM มันเดา token ต่อไป มันต้องไม่รู้ว่าวันนี้วันอะไร ซึ่งรวมไปถึงความสามารถในการคิดเลข มันต้องคิดเลขไม่ได้

ส่วนนี้เป็นหนึ่งในปัญหาของการอธิบายให้คนเข้าใจว่าเทคโนโลยีนี้คืออะไร สิ่งที่ควรรู้คือ ChatGPT ที่ใช้ผ่าน https://chatgpt.com หรือ Gemini ที่ใช้ผ่าน https://gemini.google.com นั้นไม่ใช่การใช้งานผ่าน LLM แบบเพียวๆ แต่มันถูกห่อไว้อีกชั้นหนึ่งด้วยอะไรสักอย่าง เพื่อให้ผลลัพท์ดีขึ้น

ลองดูตัวอย่างเทียบข้างล่างนี้ เป็นการทดลองระหว่างใช้ LLM Model แบบเพียวๆ กับใช้ผ่าน application จะเห็นว่า Application ดูจะตอบได้ดีกว่าเพราะมีอะไรสักอย่างมาช่วย (ไม่ใช่เพราะโมเดลมี parameters เยอะกว่า)

วันนี้วันอะไรนะ gpt3.5

สิ่งที่ห่อไว้หรือครอบไว้ให้คิดง่ายๆ เหมือนสกิน อันนี้เป็นความท้าทายของแต่ละเจ้าว่าจะทำอะไรมาห่อหรือครอบไว้บ้าง ถ้าดูที่ชั้น “some programs” จากรูปข้างล่างจะเห็นว่าชั้นนี้ทำอะไรหลายอย่างมากกับคำถามของเรา (input) และคำตอบจากโมเดล (output) สังเกตที่สีแดง จากที่คิดว่าเราถามโมเดลว่า “วันนี้วันอะไร” กลายเป็นว่ามีชั้นก่อนหน้ามาแอบเติมคำถามของเรา ทำให้โมเดลเห็นข้อความยาวๆ “วันนี้วันที่ 2 มิถุนายน 2567 ตอบสั้นๆ อย่าเวิ่นเว้อ วันนี้วันอะไร” เทคนิคนี้ใช้กันทั่วไปและเรียกว่า preambles (เวลาที่เราคุยกับ ChatGPT แล้วมันรู้ว่าคำถามก่อนหน้าคืออะไร ก็ใช้วิธีนี้แหละ)

ลองพิสูจน์ดู

มันรู้แล้ว!
Multi-turn ทำท่านี้

สิ่งที่ต้องระวัง = อย่าเชื่อ

อย่าลืมว่า LLM เกิดมาเพื่อเดาคำต่อไป เพราะฉะนั้นมันมีโอกาสสูงมากๆๆๆๆ ที่จะให้คำตอบเนียนๆ ที่เหมือนจะดูจริงแต่ไม่เป็นความจริง มีตัวอย่างให้เห็นมากจากสื่อในช่วงเวลาที่ผ่านมา ถ้ามันเจออะไรที่มันเริ่มงง เริ่มสับสน จะเกิดอาการหลอน (Hallucination) (note: เขาใช้คำนี้จริงๆ)

ห้ามเดาว่ามาจาก Product อะไร

อีกเรื่องที่ต้องระมัดระวังคือเรื่อง Safety กับ Fairness & Bias เพราะมันอ่านอะไรมา มันก็มีโอกาสสูงที่จะออกมาในแนวนั้น เช่น ถ้าโมเดลนี้ถูกเทรนด้วยข้อมูลเกี่ยวกับคนตะวันตก แต่ไม่มีข้อมูลของคนเอเชียเลย โมเดลนี้ก็จะไม่มีทางให้คำตอบที่เกียวกับคนเอเชีย เพราะมันไม่เคยเห็นมาก่อน (มันอาจจะ Hallucinate เป็นเอเชียได้)

เจ้าหน้าที่คือใครก่อน
ไปกันใหญ่

สิ่งที่ควรใช้ = งานเขียน งานสร้างสรรค์

LLM มีตัวอย่างการใช้งานที่ดีในด้านการเขียน การสรุป หรืองานเชิงสร้างสรรค์ที่ไม่เน้นความถูกต้อง อันนี้ใช้ได้เลย มีประโยชน์มาก

เพลง เพชรเกษมน้ำจิ้มเด็ด โดยศิลปิน Gemini 1.5 Flash

ไป ไงต่อ แล้วใช้อะไรดี?

การแข่งขันของบริษัทต่างๆ ยังคงดุเดือด ในฐานะคนใช้งานก็ลุ้นให้มี usecase ที่เหมาะๆ กับ LLM มุมมองส่วนตัวคิดว่า LLM as a chatbot อย่างเช่น ChatGPT หรือ gemini.google.com นี้ยังไม่ใช่คำตอบของการใช้ LLM แต่คงต้องดูกันไปยาวๆ ในมุมบริษัท แน่นอนว่าต้องรีบพัฒนาโมเดล และพัฒนาตัวครอบไปพร้อมๆ กัน เพราะคนใช้งานคาดหวังให้ LLM ฉลาดและถูกต้อง

ตอนนี้มีหลายเจ้าให้เลือกใช้ เลือกใช้ได้ตามชอบใจ

ถ้าชอบแบบโมเดลเพียวๆ ขอแนะนำ https://aistudio.google.com/ เพราะฟรีแบบมี*

ตอนหน้าจะมาเล่าถึงวิธีใช้งานในเคสต่างๆ อยากเล่าถึงการเทรนโมเดลว่าเทรนยังไง เทรนแบบไหนได้บ้าง และเล่าถึงการทำงานของ LLM นอกเหนือจากข้อความ ก็คือพวกรูป คลิป เสียง มาดูกันว่า LLM พูดได้จริงหรือเปล่า หรือเราโดนเขาหลอก

ของแถม สรุปบทความนี้โดย Gemini.google.com รุ่นฟรี

อ่านเต็มๆ ที่ https://g.co/gemini/share/59895d9c3fc4

--

--