854 คำ
4 นาที
AI 101 EP.09 — LLM กับ Transformer — ทำไม ChatGPT ทายคำได้เก่ง (attention/token/embedding)
สารบัญ

AI 101 — ปัญญาประดิษฐ์ฉบับภาษาคน · Part 1 (เบื้องหลัง: AI ทำงานยังไง) ซีรีส์นี้ผมเขียนให้เจ้าของกิจการกับคนทำงานทั่วไปที่ไม่ใช่สาย IT อ่านสนุกๆ แต่ได้ของกลับไปใช้จริง ไม่มีศัพท์ยากๆ ขู่ให้กลัว และตอนนี้อยู่ใน Part 1 ที่เราจะค่อยๆ เปิดฝาดูว่า “ข้างใน AI มันทำงานยังไง” กันแบบภาษาคน ตอนนี้เป็นเรื่อง “LLM กับ Transformer — ทำไม ChatGPT ถึงทายคำได้เก่ง” ครับ (สารบัญเต็มของซีรีส์จะตามมาทีหลังนะครับ)

ลองนึกภาพฉากนี้ดูก่อนครับ#

ลองนึกภาพว่าคุณกำลังพิมพ์ข้อความหาเพื่อนในมือถือ พอคุณพิมพ์ว่า “เย็นนี้ไปกิน…” ปุ๊บ คีย์บอร์ดมันก็เด้งคำขึ้นมาให้เลือกเลยว่า “ข้าว” “ก๋วยเตี๋ยว” “ไหม” คุณแค่จิ้มคำที่ใช่ก็ได้ประโยคต่อแล้ว ไม่ต้องพิมพ์เองให้เมื่อยมือ

คุณเคยสงสัยไหมครับว่ามันรู้ได้ยังไงว่าคำต่อไปน่าจะเป็นอะไร? คำตอบง่ายๆ คือ มันเคยเห็นคนพิมพ์ประโยคทำนองนี้มาเยอะมากๆ จนมันจับทางได้ว่า “พอเจอคำว่า เย็นนี้ไปกิน คำที่ตามมาบ่อยๆ มักจะเป็น ข้าว หรือ ก๋วยเตี๋ยว” มันเลยเดาให้คุณล่วงหน้าได้

ทีนี้ผมอยากชวนคิดต่อแบบนี้ครับ สมมติว่า เราเอาเจ้าตัวเดาคำในคีย์บอร์ดนี่แหละ มาขยายให้มันใหญ่ขึ้นมหาศาล ป้อนหนังสือ บทความ เว็บ บทสนทนาให้มันอ่านจนนับไม่ถ้วน แล้วฝึกให้มันเก่งเรื่อง “เดาคำต่อไป” จนเทพสุดๆ… สิ่งที่ได้ออกมาก็คือเจ้า ChatGPT ที่เราพิมพ์คุยกันทุกวันนี่แหละครับ

ฟังดูเหลือเชื่อใช่ไหมครับว่า ของที่ฉลาดขนาดตอบคำถาม เขียนอีเมล แต่งกลอนได้ จริงๆ แล้วหัวใจของมันคือการ “เดาคำถัดไป” แบบเดียวกับคีย์บอร์ดมือถือ เพียงแต่เดาเก่งกว่ากันมหาศาล เดี๋ยวผมจะค่อยๆ เปิดฝาให้ดูทีละชั้นว่าทำไมมันถึงเดาได้เก่งขนาดนั้น โดยสัญญาว่าจะไม่มีคณิตศาสตร์ให้ปวดหัวสักตัวเดียวครับ

LLM คืออะไร — “นักอ่านตัวยงที่อ่านมาเยอะจนเดาคำเก่ง”#

เริ่มที่ตัวพระเอกของเรื่องก่อนครับ LLM (อ่านว่า แอล-แอล-เอ็ม ย่อมาจาก Large Language Model หรือ “โมเดลภาษาขนาดใหญ่”)

ชื่อมันยาว ฟังดูน่ากลัว แต่ถ้าแยกออกมาทีละคำมันง่ายมากครับ

  • Large (ใหญ่) คือมันใหญ่จริงๆ ครับ ทั้งปริมาณข้อมูลที่เอามาให้มันอ่านตอนฝึก และขนาดของตัวโมเดลเอง ใหญ่ระดับที่คนทั่วไปนึกภาพไม่ออก
  • Language (ภาษา) คือมันเชี่ยวชาญเรื่องภาษาคนโดยเฉพาะ อ่านออก เขียนได้ คุยรู้เรื่อง
  • Model (โมเดล) คำนี้แปลแบบบ้านๆ คือ “เครื่องจับรูปแบบ” มันคือโปรแกรมที่ดูตัวอย่างเยอะๆ แล้วจับทางจนทำนายได้ว่าอะไรน่าจะตามมา

พอเอามารวมกัน LLM ก็คือ “เครื่องจับรูปแบบภาษาขนาดยักษ์ ที่อ่านข้อความมาเยอะมหาศาลจนเดาคำต่อไปได้เก่งมาก” นั่นเองครับ

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

แต่ขอย้ำจุดสำคัญตรงนี้ไว้ก่อนเลยนะครับ นักอ่านคนนี้เก่งเรื่อง “เดาว่าอะไรน่าจะตามมา” สุดๆ แต่เขา ไม่ได้เข้าใจโลกแบบที่คนเข้าใจ เขาไม่รู้หรอกว่าข้าวมันอร่อยยังไง น้ำมันเปียกยังไง เขาแค่รู้ว่า “คำพวกนี้มันมักจะอยู่ด้วยกันในประโยค” เท่านั้น เก็บประเด็นนี้ไว้ในใจก่อน เดี๋ยวตอนท้ายเราจะกลับมาคุยกันว่ามันสำคัญกับเจ้าของกิจการยังไง

หัวใจจริงๆ ของมัน — แค่ “เดาคำถัดไป” แต่เดาเก่งมาก#

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

ลึกลงไปสุดๆ สิ่งที่ LLM ทำมีอยู่อย่างเดียว คือ “ดูข้อความที่มีอยู่ แล้วเดาว่าคำถัดไปน่าจะเป็นอะไร”

แค่นั้นจริงๆ ครับ ไม่มีอะไรซับซ้อนไปกว่านี้ในระดับหัวใจ

ลองดูตัวอย่างนะครับ สมมติคุณพิมพ์ให้มันว่า “เมืองหลวงของประเทศไทยคือ” แล้วหยุดไว้ตรงนั้น เจ้า LLM มันก็จะนั่งคิด (จริงๆ คือคำนวณ แต่เรานึกภาพว่ามันคิดก็ได้) ว่า “เอ๊ะ คำต่อไปน่าจะเป็นอะไรดี?” แล้วมันก็จะนึกถึงทุกคำที่เป็นไปได้ พร้อมให้คะแนนความน่าจะเป็นในใจ ประมาณว่า

คำที่อาจตามมาโอกาสที่จะใช่ (สมมติ)
กรุงเทพสูงมาก
กรุงสูง
เมืองต่ำ
แมวต่ำมากๆ

(ย้ำว่าตัวเลข/ระดับในตารางนี้เป็นแค่ตัวอย่าง สมมติ ที่ผมแต่งขึ้นเพื่อให้เห็นภาพนะครับ ไม่ใช่ค่าจริงจากเครื่องไหน)

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

เห็นภาพไหมครับ เวลาที่ ChatGPT พ่นคำตอบยาวเหยียดออกมาให้เราอ่าน จริงๆ มันไม่ได้คิดทั้งย่อหน้าออกมาทีเดียว มันค่อยๆ ต่อจิ๊กซอว์ทีละคำ โดยแต่ละคำคือ “การเดาที่ดีที่สุด ณ ตอนนั้น” จากทุกอย่างที่มันเคยอ่านมา

💡 มุมเจ้าของกิจการ: พอรู้ว่าหัวใจมันคือ “เดาคำที่น่าจะใช่ที่สุด” ไม่ใช่ “เปิดตำราหาคำตอบที่ถูกต้อง” คุณจะเข้าใจทันทีว่าทำไมบางทีมันตอบผิดแบบหน้าตาเฉย เพราะบางที “คำที่ฟังดูน่าจะใช่” กับ “คำที่ถูกต้องจริงๆ” มันคนละตัวกัน นี่คือเหตุผลที่งานสำคัญๆ ต้องมีคนตรวจซ้ำเสมอ ไม่ใช่เชื่อมันร้อยเปอร์เซ็นต์

ทีนี้คำถามที่น่าสนใจคือ แล้วมันเดาเก่งขนาดนี้ได้ยังไง? คำตอบอยู่ที่ชิ้นส่วน 3 อย่างที่ทำงานร่วมกัน คือ token, embedding และ attention ครับ เดี๋ยวเราไปดูทีละตัว แบบใจเย็นๆ

ชิ้นส่วนที่ 1 — Token: “การหั่นข้อความเป็นชิ้นเล็กๆ ให้เคี้ยวง่าย”#

ปัญหาแรกสุดของ LLM คือ มันอ่านประโยคยาวๆ รวดเดียวทั้งก้อนไม่ได้ครับ มันต้องหั่นข้อความออกเป็นชิ้นเล็กๆ ก่อน แล้วค่อยจัดการทีละชิ้น เจ้าชิ้นเล็กๆ ที่หั่นออกมานี้แหละ เรียกว่า token (โทเคน — แปลแบบบ้านๆ คือ “ชิ้นข้อความ” ที่หั่นออกมาเป็นหน่วยย่อยให้เครื่องเคี้ยวง่าย)

ลองนึกภาพเชฟกำลังทำอาหารครับ ก่อนจะเอาผักลงกระทะ เชฟต้องหั่นผักเป็นชิ้นพอดีคำก่อน จะโยนแครอททั้งหัวลงไปผัดเลยมันก็ไม่สุกทั่ว ไม่อร่อย token ก็คือการที่ LLM “หั่นประโยคเป็นชิ้นพอดีคำ” ก่อนจะเอาไปประมวลผลนั่นเองครับ

ทีนี้หลายคนคงคิดว่า “อ๋อ ก็หั่นเป็นทีละคำสิ” ใกล้เคียงครับ แต่ไม่เป๊ะ จริงๆ การหั่นมันละเอียดและแปลกกว่านั้นนิดหน่อย บางทีหนึ่งคำอาจถูกหั่นเป็นหลาย token บางทีหลายตัวอักษรสั้นๆ ก็รวมเป็น token เดียว ลองดูตัวอย่างสมมติเทียบกันครับ

ข้อความหั่นเป็น token ได้ประมาณ (สมมติ)
แมวแมว (ชิ้นเดียวจบ)
ตู้เย็นตู้ + เย็น (สองชิ้น)
ขอบคุณครับขอบคุณ + ครับ
ChatGPTChat + G + PT

(การหั่นจริงของแต่ละเครื่องไม่เหมือนกันเป๊ะ และซับซ้อนกว่านี้ ตารางนี้เป็นแค่ตัวอย่าง สมมติ ให้เห็นหลักการว่า “หนึ่งคำไม่จำเป็นต้องเท่ากับหนึ่ง token” นะครับ)

ทำไมเรื่องการหั่นนี้ถึงสำคัญกับเจ้าของกิจการ? เพราะถ้าวันหนึ่งคุณไปใช้บริการ AI แบบจ่ายเงินตามการใช้งาน (ที่เขาเรียกกันว่า API) ค่าบริการมัน คิดเงินตามจำนวน token ที่เข้าและออกครับ ไม่ได้คิดตามจำนวนคำหรือจำนวนตัวอักษรตรงๆ ฉะนั้นยิ่งข้อความยาว ยิ่งหั่นได้หลาย token ก็ยิ่งจ่ายแพง พอเข้าใจตรงนี้ คุณจะวางแผนการใช้งานให้ประหยัดขึ้นได้ ไม่ต้องป้อนข้อความรกๆ ยาวๆ เกินจำเป็นให้เปลืองเงินเล่นๆ

สรุปง่ายๆ ชั้นแรก: ก่อน LLM จะทำอะไรได้ มันต้องหั่นข้อความที่เราป้อนเข้าไปเป็น token เล็กๆ ก่อน เหมือนเชฟหั่นผักก่อนลงกระทะ

ชิ้นส่วนที่ 2 — Embedding: “การแปลงคำให้กลายเป็นพิกัดบนแผนที่ความหมาย”#

หั่น token เสร็จแล้วก็เจอปัญหาต่อทันทีครับ คือเครื่องคอมพิวเตอร์มันไม่เข้าใจคำว่า “แมว” หรือ “หมา” หรอก มันเข้าใจแค่ “ตัวเลข” อย่างเดียว ฉะนั้นเราต้องหาวิธีแปลงแต่ละ token ให้กลายเป็นตัวเลขเสียก่อน เจ้ากระบวนการแปลงคำให้เป็นตัวเลขแบบมีความหมายนี้ เรียกว่า embedding (เอ็มเบดดิง — แปลแบบบ้านๆ คือ “การแปลงคำให้เป็นชุดตัวเลขที่จับความหมายของคำนั้นไว้ได้”)

จุดที่เจ๋งของ embedding ไม่ใช่แค่ “แปลงคำเป็นตัวเลข” เฉยๆ นะครับ ถ้าแค่จับคู่คำกับเลขมั่วๆ มันก็ไม่มีประโยชน์ ความเจ๋งจริงๆ คือ มันแปลงคำเป็นตัวเลขแบบที่ คำที่ความหมายใกล้กัน จะได้ตัวเลขที่อยู่ใกล้กันด้วย

อันนี้ผมอยากให้นึกภาพเป็น แผนที่ ครับ

ลองนึกภาพว่าเรามีแผนที่ผืนใหญ่มากๆ ผืนหนึ่ง แล้วเราเอา “คำ” ทุกคำในโลกไปปักหมุดวางลงบนแผนที่นี้ โดยมีกติกาเดียวคือ คำที่ความหมายคล้ายกันต้องวางไว้ใกล้ๆ กัน ผลก็คือ

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

พอวางแบบนี้ ตำแหน่ง (พิกัด) ของแต่ละคำบนแผนที่ มันก็เลย “บอกความหมายของคำนั้นกลายๆ” ไปในตัว เจ้าชุดพิกัดตำแหน่งนี้แหละครับคือ embedding มันคือชุดตัวเลขที่บอกว่า “คำนี้อยู่ตรงไหนบนแผนที่ความหมาย” นั่นเอง

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

ผมขอเปรียบเทียบให้เห็นความต่างชัดๆ ระหว่างวิธีเก่ากับ embedding หน่อยนะครับ

วิธีให้คอมรู้จักคำเป็นยังไงปัญหา
จับคู่คำกับเลขมั่วๆ (แมว=1, หมา=2, รถ=3)ให้เลขแบบไม่มีความหมายเครื่องไม่รู้เลยว่าแมวกับหมาใกล้กัน เห็นเป็นแค่เลข 1 กับ 2 ที่ไม่เกี่ยวกัน
Embedding (พิกัดบนแผนที่ความหมาย)คำใกล้ความหมาย = พิกัดใกล้กันเครื่อง “รู้สึก” ได้เองว่าคำไหนเกี่ยวกับคำไหน

นี่แหละครับคือเหตุผลที่ AI สมัยนี้เข้าใจ “ความหมาย” ได้ ไม่ใช่แค่จับ “ตัวอักษร” ที่ตรงเป๊ะ เพราะมันทำงานบนแผนที่ความหมาย ไม่ได้ทำงานบนตัวสะกด ฉะนั้นต่อให้คุณพิมพ์ว่า “เท่าไหร่อะ” หรือ “กี่บาทคะ” มันก็รู้ว่าคุณถามเรื่องราคา เพราะคำพวกนี้ถูกปักหมุดไว้ใกล้ๆ กันบนแผนที่นั่นเอง

(ในงานจริงเขาเรียกที่เก็บพิกัดความหมายพวกนี้ว่า vector database หรือ “ฐานข้อมูลเวกเตอร์” ครับ ไม่ต้องจำชื่อก็ได้ เอาแค่ภาพแผนที่ความหมายไว้ในใจก็พอ)

ชิ้นส่วนที่ 3 — Attention: “การรู้จักว่าควรสนใจคำไหนในประโยคเป็นพิเศษ”#

มาถึงชิ้นส่วนที่ผมว่าเจ๋งที่สุด และเป็นพระเอกตัวจริงที่ทำให้ AI ยุคนี้เก่งกว่ายุคก่อนๆ แบบก้าวกระโดด นั่นคือ attention (แอตเทนชั่น — แปลตรงตัวคือ “ความสนใจ” หรือ “การให้ความใส่ใจ”)

ปัญหาที่ attention มาแก้คือเรื่องนี้ครับ เวลาเราอ่านประโยคหนึ่ง ไม่ใช่ทุกคำจะสำคัญเท่ากัน บางคำเป็นตัวชี้ความหมายสำคัญมาก บางคำเป็นแค่คำเชื่อมที่อ่านผ่านๆ ได้ คนเราเก่งเรื่องนี้โดยธรรมชาติ เราอ่านปุ๊บก็รู้ว่าควรโฟกัสคำไหน แต่เครื่องต้องมีกลไกมาช่วยให้มัน “รู้จักโฟกัส” เป็น

ลองดูประโยคสมมตินี้ครับ “แมวที่นอนอยู่บนโซฟาตัวนั้น มันหิวข้าว”

คำถามคือ คำว่า “มัน” ในประโยคนี้ หมายถึงอะไร? คนเราอ่านปุ๊บก็รู้เลยว่า “มัน” = “แมว” ไม่ใช่ “โซฟา” ทั้งๆ ที่คำว่า “โซฟา” มันอยู่ใกล้คำว่า “มัน” มากกว่าด้วยซ้ำ เราดูออกเพราะเราเข้าใจว่า โซฟามันหิวข้าวไม่ได้ มีแต่แมวที่หิวได้

เจ้ากลไก attention นี่แหละครับ ที่ทำให้ LLM ทำแบบเดียวกับเราได้ คือตอนที่มันประมวลผลคำว่า “มัน” มันจะ เหลือบไปสนใจคำว่า “แมว” เป็นพิเศษ แล้วลดความสนใจคำว่า “โซฟา” กับ “นอน” ลง เพื่อให้เข้าใจถูกว่าใครหิว

ผมชอบเปรียบ attention เป็นเหมือน ไฟสปอตไลต์บนเวที ครับ เวทีมีนักแสดงยืนเต็มไปหมด แต่สปอตไลต์จะส่องเน้นไปที่คนที่กำลังสำคัญในฉากนั้น คนอื่นก็ยังอยู่บนเวทีนะ แต่อยู่ในที่มืดสลัวๆ พอถึงฉากต่อไป สปอตไลต์ก็ขยับไปส่องคนใหม่ที่สำคัญในฉากนั้นแทน attention ก็ทำงานแบบนี้เป๊ะเลย ทุกครั้งที่มันประมวลผลคำหนึ่ง มันจะส่องสปอตไลต์ไปที่คำอื่นๆ ในประโยคที่ “เกี่ยวข้อง” กับคำนั้นมากที่สุด เพื่อทำความเข้าใจให้ครบบริบท

ลองดูตัวอย่างเทียบอีกคู่ครับ ว่า attention ช่วยแก้ความกำกวมได้ยังไง

ประโยคสมมติคำที่กำกวมattention ช่วยให้รู้ว่า…
ผมเอาเงินไปฝากธนาคารธนาคารหมายถึงสถาบันการเงิน (เพราะมีคำว่า “เงิน” “ฝาก” ส่องเน้นอยู่)
ปลามันว่ายอยู่ริมฝั่งฝั่งหมายถึงริมน้ำ (เพราะมีคำว่า “ปลา” “ว่าย” ส่องเน้นอยู่)

(ทั้งสองประโยคเป็นตัวอย่าง สมมติ ที่ผมแต่งขึ้นเองเพื่ออธิบายหลักการนะครับ)

เห็นไหมครับว่าคำเดียวกันแท้ๆ แต่ความหมายเปลี่ยนตามคำข้างเคียง สิ่งที่ทำให้ AI จับความหมายที่ถูกต้องได้ ก็เพราะมันรู้จัก “ส่องสปอตไลต์ไปที่คำที่เกี่ยว” ด้วยกลไก attention นี่แหละ และนี่ก็คือเหตุผลที่ AI ยุคนี้เก่งเรื่องบริบทมากกว่ายุคก่อนๆ ที่อ่านคำทีละคำแบบแยกๆ ไม่ค่อยสนคำข้างเคียง

แล้ว Transformer ล่ะ คืออะไร — “พิมพ์เขียวที่เอาชิ้นส่วนทั้งหมดมาประกอบกัน”#

ทีนี้พอเรามีชิ้นส่วนครบสามอย่างแล้ว คือ token (หั่นข้อความ), embedding (แปลงเป็นพิกัดความหมาย) และ attention (รู้จักโฟกัสคำที่เกี่ยว) คำถามคือแล้วเอาทั้งหมดนี้มาประกอบกันยังไงให้เป็นเครื่องที่ทำงานได้จริง?

คำตอบคือ Transformer (ทรานส์ฟอร์เมอร์) ครับ

ขอเคลียร์ก่อนเลยนะครับ Transformer ในที่นี้ ไม่เกี่ยวอะไรกับหุ่นยนต์แปลงร่างในหนังเลย 555+ ในวงการ AI คำนี้หมายถึง “สถาปัตยกรรม” หรือ “พิมพ์เขียวการออกแบบ” ของตัวโมเดล ครับ พูดง่ายๆ คือมันคือ “แบบแปลน” ที่บอกว่าจะเอา token, embedding, attention มาต่อกันยังไงให้กลายเป็นเครื่องเดาคำที่เก่งกาจ

ผมขอเปรียบแบบนี้ครับ

  • ถ้า token, embedding, attention คือ “วัสดุก่อสร้าง” (อิฐ ปูน เหล็ก หลอดไฟ)
  • Transformer ก็คือ “แบบแปลนบ้าน” ที่บอกว่าจะเอาวัสดุพวกนี้มาเรียงต่อกันยังไง วางห้องไหนตรงไหน ให้กลายเป็นบ้านที่อยู่อาศัยได้จริง
  • ส่วน LLM อย่าง ChatGPT ก็คือ “บ้านหลังที่สร้างเสร็จแล้ว” ตามแบบแปลนนั้น แถมเป็นบ้านหลังใหญ่มากๆ ที่ขัดเกลามาอย่างดี

จุดที่ทำให้พิมพ์เขียวแบบ Transformer นี้ปฏิวัติวงการ คือมันออกแบบมาให้ใช้ attention ได้เต็มที่ และที่สำคัญคือมันมองทุกคำในประโยค พร้อมๆ กันทั้งก้อน ได้ ไม่ต้องอ่านไล่ทีละคำจากซ้ายไปขวาเหมือนพิมพ์เขียวรุ่นเก่าๆ

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

ข้อดีของการ “เห็นพร้อมกันทั้งก้อน” แบบนี้มีสองอย่างใหญ่ๆ ครับ

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

เจ้าพิมพ์เขียว Transformer นี่แหละครับ คือสิ่งที่จุดประกายให้เกิด AI ยุคใหม่ที่เราใช้กันทุกวันนี้ พอมีพิมพ์เขียวที่ดี บวกกับข้อมูลมหาศาลและเครื่องที่แรงพอ ก็ได้นักอ่านตัวยงที่เดาคำเก่งระดับ ChatGPT ออกมา

ร้อยทุกชิ้นส่วนเข้าด้วยกัน — ตามรอยคำถามหนึ่งคำถาม#

เพื่อให้เห็นภาพรวมว่าทุกชิ้นส่วนทำงานร่วมกันยังไง ผมขอพาเดินตามรอยตั้งแต่คุณพิมพ์คำถามจนได้คำตอบ แบบช้าๆ ทีละขั้นนะครับ สมมติคุณพิมพ์ถามว่า “เมืองหลวงไทยคือเมืองอะไร”

  1. หั่นเป็น token ก่อน ข้อความถูกหั่นเป็นชิ้นเล็กๆ ที่เครื่องเคี้ยวง่าย (เชฟหั่นผัก)
  2. แปลงเป็น embedding แต่ละ token ถูกแปลงเป็นพิกัดบนแผนที่ความหมาย เครื่องเลย “รู้” ว่าแต่ละคำเกี่ยวกับอะไร
  3. ส่อง attention เครื่องส่องสปอตไลต์ดูว่าคำไหนสำคัญ คำว่า “เมืองหลวง” กับ “ไทย” ถูกเน้นเป็นพิเศษ เพราะมันคือหัวใจของคำถาม
  4. เดาคำถัดไป จากทุกอย่างที่ประมวลผลมา เครื่องเดาว่าคำตอบที่น่าจะใช่ที่สุดเริ่มด้วยคำว่า “กรุงเทพ”
  5. วนซ้ำ เอาคำที่เพิ่งเดาได้ ต่อท้ายเข้าไป แล้วเดาคำถัดไปอีก วนจนจบคำตอบ

ทั้งหมดนี้เกิดขึ้นเร็วมากจนเรารู้สึกเหมือนมันตอบทันที แต่เบื้องหลังมันคือวงจรเดิมๆ ที่หมุนอยู่ตลอด คือหั่นข้อความ แปลงเป็นความหมาย ส่องไฟเน้นคำสำคัญ เดาคำถัดไป แล้ววนซ้ำ ทำงานอยู่อย่างนี้ตลอดเวลาครับ

ชิ้นส่วนหน้าที่อุปมาบ้านๆ
Tokenหั่นข้อความเป็นชิ้นพอดีคำเชฟหั่นผักก่อนลงกระทะ
Embeddingแปลงคำเป็นพิกัดความหมายปักหมุดคำลงบนแผนที่ คำคล้ายอยู่ใกล้กัน
Attentionเน้นคำที่เกี่ยวข้องเป็นพิเศษสปอตไลต์ส่องนักแสดงคนสำคัญบนเวที
Transformerพิมพ์เขียวที่ประกอบทุกอย่างเข้าด้วยกันแบบแปลนบ้าน
LLMบ้านที่สร้างเสร็จ ใช้งานได้จริงนักอ่านตัวยงที่เดาคำเก่งมาก

ทำไม “แค่เดาคำ” ถึงเก่งได้ขนาดนี้ — และทำไมมันถึงพลาดได้ด้วย#

มาถึงตรงนี้บางคนอาจสงสัยว่า “เอ๊ะ ในเมื่อมันแค่เดาคำถัดไป แล้วทำไมมันถึงดูฉลาดเหลือเชื่อขนาดเขียนโค้ด แต่งกลอน สรุปรายงานได้?”

คำตอบที่ผมเข้าใจคือแบบนี้ครับ พอคุณ “เดาคำถัดไป” ได้เก่งสุดๆ จากการอ่านข้อความมาเกือบทั้งโลก มันก็พลอยทำงานหลายอย่างได้ไปในตัวโดยไม่ได้ตั้งใจ เพราะงานพวกนั้นจริงๆ แล้วมันก็คือ “การต่อคำที่เหมาะสม” นั่นแหละ

  • จะให้มัน แปลภาษา ก็คือเดาว่า “ประโยคภาษาอังกฤษนี้ ถ้าเป็นภาษาไทยคำต่อไปควรเป็นอะไร”
  • จะให้มัน สรุปบทความ ก็คือเดาว่า “ถ้าให้ย่อเรื่องนี้ คำที่ควรเขียนต่อไปคืออะไร”
  • จะให้มัน ตอบคำถาม ก็คือเดาว่า “หลังคำถามนี้ คำตอบที่ดีควรเริ่มด้วยคำว่าอะไร”

ทุกอย่างยุบลงมาเป็นเกมเดียวกันหมด คือ “เดาคำถัดไปให้เหมาะกับบริบท” นี่แหละคือความสวยงามที่ทำให้เครื่องตัวเดียวทำงานได้สารพัด

แต่ในขณะเดียวกัน หัวใจ “เดาคำ” นี่แหละครับ ที่เป็นต้นตอของจุดอ่อนสำคัญของมันด้วย จำที่ผมฝากไว้ตอนต้นเรื่องได้ไหมครับ ว่ามันเก่งเดาแต่ไม่ได้เข้าใจโลกจริงๆ

มันเดา “คำที่ฟังดูน่าจะใช่” ไม่ได้ค้นหา “ความจริงที่ถูกต้อง”

บางครั้งคำที่ฟังดูลื่นหู น่าเชื่อถือ กับคำที่เป็นความจริง มันคนละตัวกัน เครื่องเลยตอบผิดออกมาแบบหน้าตาเฉยและมั่นใจมาก (อาการนี้วงการเรียกว่า hallucination หรือ “อาการหลอน” ที่ผมเคยเล่าไปตอนก่อนๆ ครับ) มันไม่ได้โกหกเพราะอยากโกหก แต่มันแค่ “เดาคำที่ฟังดูเข้าท่าที่สุด” ออกมา ซึ่งบางทีมันก็เดาผิด

💡 มุมเจ้าของกิจการ: นี่คือเหตุผลที่ผมย้ำเสมอว่า งานที่ “ห้ามผิดเด็ดขาด” อย่างพวกตัวเลขการเงิน ข้อกฎหมาย หรือข้อมูลลูกค้าที่ต้องเป๊ะ อย่าปล่อยให้ AI ทำเดี่ยวๆ แล้วเชื่อเลยครับ ให้มองมันเป็น “ผู้ช่วยร่างงานให้เร็วขึ้น” แล้วมีคนตรวจซ้ำเสมอ คุณจะได้ทั้งความเร็วของ AI และความถูกต้องจากคนตรวจ คือใช้จุดแข็งของมัน แล้วกันจุดอ่อนของมันไว้ด้วยคน

สรุปสั้นๆ ส่งท้าย#

ถ้าให้ผมย่อทั้งเรื่องนี้เหลือไม่กี่บรรทัดให้จำง่ายๆ คือแบบนี้ครับ

  • LLM (โมเดลภาษาขนาดใหญ่) = นักอ่านตัวยงที่อ่านข้อความมาเยอะมหาศาล จนเดาคำต่อไปได้เก่งมาก
  • หัวใจจริงๆ ของมัน = แค่ “เดาคำถัดไป” ทีละคำ วนไปเรื่อยๆ แต่เดาเก่งเพราะอ่านมาเยอะ
  • Token = หั่นข้อความเป็นชิ้นพอดีคำก่อนเคี้ยว (เชฟหั่นผัก) และเป็นหน่วยที่ใช้คิดเงินด้วย
  • Embedding = แปลงคำเป็นพิกัดบนแผนที่ความหมาย คำคล้ายอยู่ใกล้กัน ทำให้เครื่องเข้าใจ “ความหมาย” ไม่ใช่แค่ตัวสะกด
  • Attention = สปอตไลต์ส่องเน้นคำที่เกี่ยวกันในประโยค ทำให้เข้าใจบริบทถูกต้อง
  • Transformer = พิมพ์เขียว/แบบแปลนที่เอาทุกชิ้นส่วนมาประกอบกัน จุดเด่นคือมองทุกคำพร้อมกันทั้งก้อน
  • ข้อควรระวัง = มันเดา “คำที่น่าจะใช่” ไม่ได้รู้ “ความจริง” จึงมั่วได้ งานสำคัญเลยต้องมีคนตรวจ

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

ตอนหน้าของซีรีส์ AI 101 Part 1 ผมว่าจะเล่าต่อเรื่องที่หลายคนได้ยินบ่อยขึ้นเรื่อยๆ ในช่วงนี้ ก็คือเจ้า AI ที่ “สร้างของใหม่ได้เอง” ทั้งรูป ทั้งเสียง ทั้งวิดีโอ ที่เขาเรียกกันว่า Generative AI เนี่ย มันต่างจาก ChatGPT ที่เราคุยกันวันนี้ยังไง แล้วไอ้ภาพ deepfake ที่หลอกคนได้เนียนๆ มันสร้างกันมายังไง ไว้เจอกันตอนหน้าครับ