AI ถูกเทรนมายังไง ทำไมการเดาคำถัดไปถึงกลายเป็นความฉลาด
ไม่มีใครนั่งสอนข้อเท็จจริงให้ AI ทีละข้อ คนสร้างแค่สอนให้มันทำสิ่งเดียวซ้ำเป็นล้านล้านครั้ง คือเดาคำถัดไปในข้อความ แล้วความเข้าใจภาษา เหตุผล และความรู้เรื่องโลกก็ค่อย ๆ โผล่ออกมาจากการเดานั้นเอง บทนี้เปิดให้ดูว่ากระบวนการเทรนทั้งหมดทำงานยังไง ตั้งแต่ข้อความดิบจนกลายเป็นผู้ช่วยที่คุยด้วยได้
AI ถูกเทรนมายังไง ทำไมการเดาคำถัดไปถึงกลายเป็นความฉลาด
ChatGPT รู้กฎหมายภาษีไทย รู้จักกวีสมัยอยุธยา รู้ว่าก๋วยเตี๋ยวเรือใส่อะไร ตอบเป็นภาษาไทยก็ได้ อังกฤษก็ได้ เขียนโค้ดก็ได้ ทั้งที่ไม่มีทีมวิศวกรนั่งป้อนความรู้พวกนี้ให้มันทีละข้อ
แล้วมันรู้ได้ยังไง คำตอบสั้น ๆ คือมันไม่ได้ถูก "สอน" ให้รู้ มันถูก "ฝึก" ให้เดา และความรู้ทั้งหมดที่คุณเห็นโผล่ออกมาเองจากการฝึกเดาซ้ำ ๆ เป็นล้านล้านครั้ง
มันเป็นกระบวนการที่เข้าใจได้จริง และเมื่อเข้าใจแล้ว คุณจะตอบได้ทันทีว่าทำไม AI ถึงเก่งบางเรื่อง มั่วบางเรื่อง ทำไมมันรู้ภาษาอังกฤษดีกว่าภาษาไทย และทำไมการสร้าง AI ตัวใหม่ถึงแพงพอ ๆ กับการสร้างโรงไฟฟ้า
เกมเดียวที่ AI ถูกฝึกให้เล่น: เดาคำถัดไป
ก่อนจะไปถึง AI ลองนึกถึงเกมง่าย ๆ ที่คุณเล่นได้เดี๋ยวนี้
ลองพิมพ์ค้างไว้ว่า "วันนี้อากาศร้อนมาก ฉันเลยไปซื้อ..." แล้วถามว่าคำต่อไปน่าจะเป็นอะไร คุณคงเดาว่า "น้ำแข็ง" หรือ "ไอติม" หรือ "น้ำเย็น" คุณไม่ได้เดามั่ว คุณเดาจากสิ่งที่เคยเห็น เคยได้ยิน เคยเจอมาทั้งชีวิต อากาศร้อน คนไทยซื้ออะไร สมองคุณรู้คำตอบที่ "น่าจะตามมา" โดยอัตโนมัติ
นี่คือเกมเดียวที่ AI ถูกฝึกให้เล่น เกมเดียวจริง ๆ ไม่มีเกมที่สอง คือดูข้อความที่อยู่ตรงหน้า แล้วเดาว่าคำต่อไปควรเป็นอะไร เดาถูกก็ผ่าน เดาผิดก็ปรับตัวเองนิดหนึ่งให้รอบหน้าเดาดีขึ้น แล้วทำซ้ำกับข้อความจำนวนมหาศาลจนเดาเก่งขึ้นเรื่อย ๆ
เกมเติมคำนี้คือต้นกำเนิดของทุกอย่างที่ AI ทำได้ ไม่ว่าจะตอบคำถาม แปลภาษา หรือเขียนโปรแกรม ทั้งหมดงอกออกมาจากการฝึกเติมคำให้ถูก
💡 ใจความสำคัญ: AI ไม่ได้ถูกป้อนความรู้ มันถูกฝึกให้ทายคำถัดไป ทุกอย่างที่มันรู้คือผลพลอยได้จากการพยายามทายให้ถูกบ่อยขึ้น ไม่มีใครนั่งสอนมันทีละเรื่อง
หน่วยที่ AI เดาจริง ๆ คือ token
เวลาบอกว่า AI "เดาคำถัดไป" จริง ๆ แล้วหน่วยที่มันเดาไม่ใช่ "คำ" แบบที่เราเข้าใจกันเป๊ะ ๆ คอมพิวเตอร์ไม่รู้จักตัวอักษร มันรู้จักแค่ตัวเลข เพราะฉะนั้นก่อนข้อความจะเข้าไปให้ AI ได้ ข้อความต้องถูกหั่นเป็นชิ้น ๆ ก่อน แต่ละชิ้นถูกแปลงเป็นตัวเลข ชิ้นเหล่านี้แหละที่วงการ AI เรียกว่า token
token หนึ่งชิ้นอาจเป็นคำเต็มหนึ่งคำ อาจเป็นแค่ส่วนหนึ่งของคำ หรือแม้แต่เครื่องหมายวรรคตอน คำง่าย ๆ ที่ใช้บ่อยอย่าง "the" หรือ "ขอบคุณ" มักเป็น token เดียว ส่วนคำยาว ๆ หรือคำแปลก ๆ อาจถูกหั่นเป็นหลาย token เป็นวิธีที่ทำให้เครื่องจัดการกับทุกคำในโลกได้ โดยไม่ต้องมีรายการคำที่ยาวไม่รู้จบ
คร่าว ๆ ในภาษาอังกฤษ ข้อความ 1,000 คำมักกลายเป็นราว 1,300 token แต่ตัวเลขนี้สำคัญมากกับคนไทย เพราะภาษาไทยถูกหั่นเป็น token เยอะกว่าภาษาอังกฤษหลายเท่าสำหรับเนื้อหาความยาวเท่ากัน คำว่า "ประเทศไทย" อาจกลายเป็น 5 ถึง 8 token ในขณะที่ "Thailand" เป็นแค่ 1 ถึง 2 token เหตุผลเชิงกลไกว่าทำไมถึงเป็นแบบนั้น และมันทำให้คุณจ่ายแพงขึ้นยังไง อยู่ใน บทกลไกของ LLM ตรงนี้แค่จำไว้ว่า token คือชิ้นข้อความที่ AI ใช้นับและใช้เดา ยิ่ง token เยอะ แปลว่าข้อความยิ่งยาวในสายตาของเครื่อง
ตลอดทั้งบท เวลาเจอคำว่า AI "เดาคำถัดไป" ในใจให้แทนที่ด้วย "เดา token ถัดไป" และเวลาได้ยินว่าโมเดลถูกฝึกบนข้อความ "หลายล้านล้านคำ" จริง ๆ เขานับเป็น token
ขั้นที่หนึ่ง Pretraining: อ่านทั้งอินเทอร์เน็ตเพื่อฝึกเดา
ทีนี้มาดูของจริง ขั้นแรกและขั้นที่หนักที่สุดของการสร้าง AI เรียกว่า pretraining แปลตรงตัวว่า "การฝึกตั้งต้น" เป็นขั้นที่เปลี่ยนข้อความดิบจากอินเทอร์เน็ตให้กลายเป็นเครื่องที่เข้าใจภาษา
วิธีการคือเอาข้อความจำนวนมหาศาลมาให้โมเดลฝึกเดา token ถัดไปทีละจุด งานเดาคำถัดไปจากคำก่อนหน้าแบบนี้วงการเรียกว่า autoregressive language modeling เอาประโยคจริงมา ปิดคำสุดท้ายไว้ ให้โมเดลเดา แล้วเฉลยว่าคำจริงคืออะไร ระยะห่างระหว่างคำที่มันเดากับคำจริงมีตัวเลขวัดอยู่ ที่วงการเรียกว่า loss ยิ่ง loss สูงแปลว่าเดาห่างความจริงมาก เป้าหมายเดียวของการฝึกคือทำให้ loss นี้ต่ำลงเรื่อย ๆ ถ้าเดาใกล้เคียงก็ปรับตัวเลขภายในนิดเดียว ถ้าเดาห่างก็ปรับเยอะหน่อย ทำแบบนี้ซ้ำกับข้อความทั้งกอง
ข้อดีมหาศาลของวิธีนี้คือ ไม่ต้องมีใครมานั่งเฉลยให้ เพราะข้อความทุกประโยคในโลกเฉลยตัวเองอยู่แล้ว คุณแค่หยิบประโยคมา ปิดคำท้าย แล้วถามว่าคำนั้นคืออะไร คำตอบที่ถูกต้องก็คือคำที่ถูกปิดไว้นั่นเอง ข้อความทั้งอินเทอร์เน็ตจึงกลายเป็นโจทย์ฝึกที่มีเฉลยในตัวเอง โดยไม่ต้องจ้างคนมาเขียนเฉลย
ลองดูตัวอย่าง สมมติประโยคฝึกคือ "กรุงเทพเป็นเมืองหลวงของประเทศ___" โมเดลต้องเดาคำต่อไป ตอนเริ่มต้นมันไม่รู้อะไรเลย เดามั่วไปเรื่อย อาจเดาว่า "แมว" หรือ "สีฟ้า" ก็ได้ เฉลยบอกว่าผิด มันปรับตัวเลขภายใน รอบต่อไปเจอประโยคคล้าย ๆ กัน มันเดาดีขึ้น เจอแบบนี้ซ้ำเป็นล้านครั้งจากข้อความนับล้านหน้าที่พูดถึงกรุงเทพกับประเทศไทย ในที่สุดมันก็เดา "ไทย" ได้แม่นยำ
ทำไมแค่ "เดาคำถัดไป" ถึงทำให้มันฉลาดได้
เพื่อจะเดา token ถัดไปให้ถูก "ในทุกบริบทที่เป็นไปได้" โมเดลจำเป็นต้องเรียนรู้หลายอย่างไปพร้อมกัน
- ไวยากรณ์ เพื่อจะรู้ว่าหลังกริยาควรมีอะไรตามมา
- ความหมาย เพื่อจะรู้ว่า "เมืองหลวง" หมายถึงอะไรและมักตามด้วยชื่อประเทศ
- ความรู้เรื่องโลก เพื่อจะรู้ว่ากรุงเทพเป็นเมืองหลวงของไทย ไม่ใช่ของลาว
- การโยงบริบท ในข้อความยาว ๆ ถ้ามีคำว่า "เขา" โผล่มา มันต้องรู้ว่า "เขา" หมายถึงตัวละครคนไหนที่พูดถึงไว้ก่อนหน้า
การจะเดาคำถัดไปได้แม่นในทุกกรณี มันเลี่ยงไม่ได้ที่จะต้องเข้าใจสิ่งที่อยู่เบื้องหลังข้อความนั้น เพราะคำที่ถูกต้องขึ้นอยู่กับความหมาย ขึ้นอยู่กับข้อเท็จจริง ขึ้นอยู่กับตรรกะของเรื่อง เมื่อโจทย์มีแค่ "เดาให้ถูก" แต่การจะถูกได้ต้องเข้าใจเรื่องไปด้วย ความเข้าใจจึงค่อย ๆ ก่อตัวขึ้นมาเองในกระบวนการ ไม่มีใครตั้งใจสอนเรื่องไวยากรณ์หรือภูมิศาสตร์ให้มันโดยตรง ทั้งหมดงอกขึ้นมาเพราะมันช่วยให้เดาได้ดีขึ้น
นี่ยังอธิบายด้วยว่าทำไมโค้ดถึงสำคัญกับการฝึก AI งานวิจัยพบว่าโมเดลที่ถูกฝึกบนโค้ดเยอะ ๆ กลับเก่งเรื่องการให้เหตุผลและคณิตศาสตร์ขึ้นด้วย แม้กับโจทย์ที่ไม่เกี่ยวกับโปรแกรมเลย เพราะโค้ดมีโครงสร้างตรรกะที่ชัดและเข้มงวด การฝึกเดาโค้ดให้ถูกจึงเหมือนฝึกคิดเป็นขั้นเป็นตอนไปในตัว
มีจุดสำคัญที่ต้องเข้าใจให้ลึกกว่านั้น ตลอดกระบวนการนี้โมเดลไม่เคยรู้เลยว่าอะไร "ถูก" หรือ "ผิด" ในความหมายของมนุษย์ มันรู้แค่ว่าการเดาแบบไหนทำให้พลาดน้อยลง เป้าหมายเดียวที่มันไล่ตามคือลดความพลาดในการเดา ไม่ใช่ตรวจว่าเรื่องไหนจริง นี่คือสาเหตุที่ AI ตอบผิดบางเรื่องได้อย่างมั่นใจเต็มที่ เพราะคำตอบผิดนั้นเป็นคำที่ "น่าจะตามมา" พอดี โดยไม่มีขั้นตอนไหนเลยที่มันหยุดถามว่าจริงหรือเปล่า
มีคำที่วงการ AI ใช้เรียกปรากฏการณ์ "ความสามารถที่โผล่ขึ้นมาเองโดยไม่ได้ตั้งใจสอน" ว่า emergence หรือ "การผุดขึ้นมา" ตัวอย่างที่ชัดคือ ความสามารถเรียนรู้จากตัวอย่างไม่กี่ชิ้นในคำสั่ง และความสามารถคิดเป็นขั้น ๆ เมื่อถูกขอให้ "คิดทีละขั้น" ความสามารถพวกนี้แทบไม่มีในโมเดลเล็ก ๆ แต่จู่ ๆ ก็โผล่ชัดเจนขึ้นเมื่อโมเดลใหญ่ถึงขนาดหนึ่ง ที่น่าสนใจคือ จนถึงทุกวันนี้ก็ยังไม่มีใครอธิบายได้เต็มปากว่าทำไมมันถึงผุดขึ้นมาตอนนั้นพอดี นักวิจัยบางกลุ่มยังแย้งด้วยว่าการ "กระโดดขึ้นมาทันที" บางส่วนอาจเป็นแค่ภาพลวงจากวิธีวัดความสามารถ ไม่ได้กระโดดจริงเท่าที่เห็น (เรื่อง "แม้แต่คนสร้างก็ยังไม่เข้าใจมันทั้งหมด" อยู่ใน บทว่าจริง ๆ AI คืออะไร)
สเกลของ pretraining: แพงเท่าสร้างโรงไฟฟ้า
สิ่งที่ทำให้ pretraining เป็นเรื่องที่มีแค่ไม่กี่บริษัทในโลกทำได้ คือสเกลของมัน ลองดูตัวเลขจริงที่บริษัทเปิดเผย
โมเดล Llama 3 ของ Meta ถูกฝึกบนข้อความ 15 ล้านล้าน token ลองเทียบให้เห็นภาพ ถ้าหนังสือเล่มหนึ่งมีราว 100,000 คำ ข้อมูลที่ Llama 3 อ่านผ่านตาเทียบเท่ากับหนังสือราว ๆ 100 ล้านเล่ม ในขณะที่ห้องสมุดใหญ่ ๆ มีหนังสือแค่หลักแสนเล่ม
ข้อความพวกนี้ส่วนใหญ่มาจากการกวาดเก็บเว็บทั้งอินเทอร์เน็ต กองข้อมูลเว็บก้อนใหญ่ที่วงการใช้กันชื่อ Common Crawl บวกกับสารานุกรมอย่าง Wikipedia หนังสือ บทความวิชาการ และโค้ดจาก GitHub แต่ข้อมูลดิบจากเว็บเต็มไปด้วยขยะ ทั้งสแปม ข้อมูลผิด เนื้อหาซ้ำ บริษัทจึงต้องลงทุนมหาศาลในการ "ร่อน" ข้อมูลก่อนเอาไปฝึก
- ตัดเนื้อหาซ้ำทิ้ง
- กรองของคุณภาพต่ำ
- ลบเนื้อหาเป็นพิษ
- ลบข้อมูลส่วนตัวของคนออก
เพราะถ้าฝึกบนข้อมูลที่มีข้อมูลผิดเยอะ โมเดลก็จะเรียนข้อมูลผิดนั้นมาแบบมั่นใจ ชุดข้อมูลที่ผ่านการร่อนอย่างดีอย่าง FineWeb แสดงให้เห็นว่าข้อมูลคุณภาพดี 1 ล้าน token อาจให้ผลดีกว่าขยะ 10 ล้าน token เสียอีก คุณภาพชนะปริมาณ ที่สำคัญสำหรับคนไทยคือ ในกองข้อมูลพวกนี้ภาษาอังกฤษกินสัดส่วนราวครึ่งหนึ่ง ส่วนภาษาไทยมีแค่ราว 0.5 ถึง 1 เปอร์เซ็นต์ นี่คือรากของเหตุผลที่ AI รู้ภาษาอังกฤษลึกกว่าภาษาไทย
ส่วนเรื่องเงินและเครื่อง การฝึก Llama 3 รุ่นใหญ่สุดมีตัวเลขภายในที่โมเดลปรับระหว่างฝึกราว 405 พันล้านตัว ตัวเลขภายในพวกนี้คือสิ่งที่วงการเรียกว่า parameter ยิ่งมีมาก โมเดลยิ่งจดจำลวดลายของภาษาได้ละเอียด แต่ก็ยิ่งกินเครื่องและเงิน การฝึกรุ่นนี้ใช้การ์ดประมวลผลรุ่นแรงชื่อ H100 จำนวน 16,384 ตัวทำงานพร้อมกันนานราว 54 วัน คิดเป็นค่าประมวลผลที่คนนอกประเมินไว้ราว 60 ล้านดอลลาร์ ส่วน GPT-4 ของ OpenAI ไม่เปิดเผยตัวเลข แต่คาดกันว่าอยู่ในหลักร้อยล้านดอลลาร์ การ์ดพวกนี้ตัวหนึ่งราคาหลายแสนถึงเป็นล้านบาท และต้องใช้กันหลายหมื่นตัวเพราะโมเดลใหญ่เกินกว่าจะยัดลงการ์ดใบเดียวได้ การ์ด H100 หนึ่งใบมีหน่วยความจำ 80 กิกะไบต์ แต่โมเดลขนาด 70 พันล้าน parameter อย่างเดียวก็กินที่ราว 140 กิกะไบต์แล้ว จึงต้องหั่นโมเดลกระจายลงหลายการ์ดแล้วเชื่อมกันด้วยสายความเร็วสูงอย่าง NVLink และ InfiniBand การ์ดทั้งกองกินไฟระดับเมกะวัตต์ตลอดหลายสัปดาห์ และมีทีมวิศวกรหลายสิบคนคอยเฝ้า เพราะระหว่างฝึกฮาร์ดแวร์พังได้เป็นร้อยครั้ง ต้องคอยกู้คืนตลอด เรื่องนี้ Meta เปิดเผยเองในรายงาน Llama 3 ว่าเจอฮาร์ดแวร์ขัดข้องหลายร้อยครั้งระหว่างฝึก นี่คือเหตุผลที่การสร้าง AI ระดับแนวหน้าตั้งแต่ศูนย์ กระจุกอยู่ในบริษัทไม่กี่เจ้าอย่าง OpenAI, Anthropic, Google, Meta คนอื่นไม่มีเครื่องและทุนระดับนั้น
แต่การทุ่มเงินเพิ่มขนาดอย่างเดียวไม่ใช่คำตอบ วงการค้นพบเรื่องนี้ในปี 2022 จากงานวิจัยสำคัญชื่อ Chinchilla ของ DeepMind ก่อนหน้านั้นทุกคนเชื่อว่า "ยิ่งโมเดลใหญ่ยิ่งดี" จึงแข่งกันเพิ่มขนาด แต่งานนี้แสดงว่าโมเดลรุ่นเก่าหลายตัวรวมถึง GPT-3 ใหญ่เกินไปเมื่อเทียบกับปริมาณข้อมูลที่ใช้ฝึก ทางที่ดีกว่าคือต้องให้ข้อมูลฝึกมากขึ้นด้วย ไม่ใช่เพิ่มแค่ขนาดโมเดล หลังจากนั้นวงการจึงเลิกบ้าขนาดอย่างเดียว แล้วหันมาสมดุลระหว่างขนาดโมเดลกับปริมาณข้อมูล นี่คือเหตุผลที่โมเดลเล็กกว่าแต่ฝึกด้วยข้อมูลมากกว่า บางทีเก่งกว่าโมเดลใหญ่ที่ฝึกข้อมูลน้อย
ลองทำดู: ดูว่า AI เดาได้แน่นแค่ไหนในแต่ละเรื่อง
เปิด ChatGPT หรือ Claude แล้วพิมพ์ประโยคค้างไว้ทีละแบบ ไม่ต้องถามเป็นคำถาม แค่พิมพ์ค้างให้มันต่อ
สี่แผ่นดิน เป็นนวนิยายที่เขียนโดย...
ราคา iPhone รุ่นล่าสุดตอนนี้คือ...
สวัสดีปีใหม่ ขอให้คุณ...
สังเกตว่าประโยคไหนมันต่อได้แน่นและมั่นใจ ประโยคไหนมันลังเลหรือออกตัวว่าไม่แน่ใจ ประโยคแรกกับประโยคสุดท้ายมันมักต่อได้แน่น เพราะข้อความฝึกมีตัวอย่างพวกนี้เยอะมาก หม่อมราชวงศ์คึกฤทธิ์ ปราโมช เขียนสี่แผ่นดิน เป็นข้อมูลที่ปรากฏซ้ำนับล้านครั้งบนเน็ต ส่วนประโยคเรื่องราคา iPhone มันจะลังเล เพราะราคาเปลี่ยนตลอด ข้อมูลที่มันฝึกมาหยุดอยู่ ณ จุดหนึ่ง มันไม่รู้ราคาล่าสุดจริง ๆ
นี่คือสาเหตุที่ AI ตอบเรื่องประวัติศาสตร์ได้ดีกว่าราคาหุ้นวันนี้
ผลลัพธ์หลัง pretraining: เครื่องที่รู้เยอะ แต่คุยด้วยไม่ได้ (base model)
พอ pretraining จบ สิ่งที่ได้ยังไม่ใช่ ChatGPT ที่คุณคุ้นเคย มันรู้เยอะมากก็จริง แต่มันยัง "คุยด้วยไม่ได้" เครื่องที่ได้จากขั้นนี้วงการเรียกว่า base model หรือ "โมเดลตั้งต้น"
ปัญหาคือ base model ทำได้อย่างเดียวคือต่อข้อความ มันไม่รู้ว่าตัวเองกำลังอยู่ในบทสนทนา ไม่รู้ว่ามีคนถามแล้วคาดหวังคำตอบ มันรู้แค่ "ข้อความนี้น่าจะต่อด้วยอะไร"
ลองดูตัวอย่างที่เห็นภาพชัด สมมติคุณพิมพ์ใส่ base model ว่า "กรุงเทพอยู่ประเทศอะไร"
ChatGPT ที่คุณใช้ทุกวันจะตอบตรง ๆ ว่า "กรุงเทพอยู่ประเทศไทย"
แต่ base model อาจต่อข้อความออกมาว่า "กรุงเทพอยู่ประเทศอะไร คำถามนี้ปรากฏในข้อสอบสังคมชั้นประถม นักเรียนหลายคนมักสับสนกับ..." เพราะในข้อความฝึก ประโยคแบบนี้มักตามด้วยบริบทของข้อสอบ ไม่ใช่คำตอบตรง ๆ มันไม่ได้ตอบคำถามคุณ มันแค่เดาว่าข้อความแบบนี้บนอินเทอร์เน็ตมักต่อด้วยอะไร
หรือถ้าคุณพิมพ์ว่า "ฉันรู้สึกเศร้า ควรทำยังไงดี" ChatGPT จะปลอบและให้คำแนะนำ แต่ base model อาจต่อด้วยบทสนทนาในนิยาย หรือต่อด้วยโพสต์ในเว็บบอร์ดอีกอัน เพราะนั่นคือสิ่งที่มักตามมาหลังประโยคแบบนี้ในข้อความที่มันเคยอ่าน
base model จึงเหมือนคนที่อ่านหนังสือมาทั้งโลก จำได้หมด แต่ไม่เคยมีใครสอนมารยาทการสนทนา ไม่รู้ว่าเมื่อถูกถามต้องตอบ ไม่รู้ว่าอะไรควรพูดอะไรไม่ควรพูด มันมีความรู้มหาศาลแต่ใช้งานจริงไม่ได้
💡 ใจความสำคัญ: pretraining ให้เครื่องที่รู้เยอะแต่เอาแต่ "ต่อข้อความ" ไม่ใช่ "ตอบคำถาม" ChatGPT ที่คุยรู้เรื่องไม่ได้มาจาก pretraining อย่างเดียว ต้องผ่านการฝึกขั้นที่สองก่อน ถึงจะกลายเป็นผู้ช่วยที่ใช้งานได้
ขั้นที่สอง Post-training: ขัดเกลา base model ให้ตอบคำถามเป็น
ขั้นที่เปลี่ยน base model ที่เอาแต่ต่อข้อความ ให้กลายเป็นผู้ช่วยที่ตอบคำถามเป็น เรียกรวม ๆ ว่า post-training แปลว่า "การฝึกหลังจากนั้น" เป็นการเอาเครื่องที่รู้เยอะอยู่แล้วมาขัดเกลานิสัยการตอบ
จุดสำคัญที่ต้องเข้าใจคือ post-training ไม่ได้ยัดความรู้ใหม่เข้าไป ความรู้มีอยู่ครบแล้วจาก pretraining สิ่งที่ post-training ทำคือปลดล็อกพฤติกรรมที่ถูกต้องออกมา เปลี่ยนจาก "ต่อข้อความที่น่าจะตามมา" เป็น "ช่วยเหลือคนที่กำลังถาม" นี่คือเหตุผลที่ขั้นนี้ใช้เงินและข้อมูลน้อยกว่า pretraining มาก แต่กลับเปลี่ยนบุคลิกของโมเดลไปคนละเรื่อง
post-training มีสองส่วนหลักที่ต่อกัน
ส่วนแรก SFT: เอาตัวอย่างคำตอบที่ดีมาให้ดู
ส่วนแรกชื่อ SFT ย่อมาจาก supervised fine-tuning พูดเป็นภาษาคนคือ "การฝึกเพิ่มโดยมีเฉลยกำกับ"
วิธีการตรงไปตรงมา บริษัทจ้างคนจริง ๆ มานั่งเขียนคำตอบที่ดีให้กับคำถามหลากหลายแบบ ตั้งแต่ "ช่วยร่างอีเมลลาป่วย" ไปจนถึง "อธิบายเรื่องยาก ๆ ให้เด็กฟัง" คนเขียนจะเขียนคำตอบที่เขาคิดว่าดีที่สุด ได้เป็นคู่ คือคำถามกับคำตอบที่ดี แล้วเอาคู่พวกนี้มาให้โมเดลฝึกต่อ พอเห็นตัวอย่างคำตอบดี ๆ จำนวนหนึ่ง โมเดลก็เริ่ม "จับทาง" ได้ว่าเวลามีคนถาม รูปแบบที่ถูกต้องคือตอบตรง ๆ ไม่ใช่ต่อประโยคไปเรื่อย
ที่น่าทึ่งคือใช้ตัวอย่างไม่เยอะเลย งานต้นแบบของ ChatGPT ที่ OpenAI เผยแพร่ในปี 2022 ชื่อ InstructGPT ใช้ตัวอย่างคำตอบที่คนเขียนแค่ราว 13,000 ชุดในรอบแรก ฟังดูน้อยมากเมื่อเทียบกับข้อความหลายล้านล้าน token ที่ใช้ใน pretraining แต่มันพอ เพราะ SFT ไม่ได้สอนความรู้ใหม่ มันแค่ปลดล็อกรูปแบบการตอบที่ถูกต้องออกมาจากความรู้ที่มีอยู่แล้ว งานวิจัยชื่อ LIMA ในปี 2023 ตอกย้ำเรื่องนี้ ว่าตัวอย่างคำตอบที่คัดมาอย่างดีแค่ราว 1,000 ชุด ก็เทียบเท่ากับการใช้ตัวอย่างสุ่ม ๆ หลายหมื่นชุดได้ ยิ่งยืนยันว่าขั้นนี้เป็นการปลดล็อกพฤติกรรม ไม่ใช่การยัดความรู้
ส่วนที่สอง RLHF: ให้คนช่วยตัดสินว่าคำตอบไหนดีกว่า
SFT ทำให้โมเดลตอบเป็น แต่ยังไม่พอ เพราะคำถามที่คนถามจริงมีเป็นล้านแบบ คนเขียนเฉลยได้แค่หลักหมื่นชุด ไม่มีทางครอบคลุมทุกสถานการณ์ และคนเขียนเฉลยแต่ละคนก็ไม่ได้เขียนได้ดีที่สุดเสมอ ต้องมีวิธีฝึกที่ขยายไปครอบคลุมกรณีที่ไม่เคยเห็นได้
วิธีนั้นชื่อ RLHF ย่อมาจาก reinforcement learning from human feedback แปลเป็นภาษาคนคือ "การฝึกโดยใช้ความเห็นของมนุษย์เป็นตัวให้คะแนน"
ไอเดียฉลาดมาก แทนที่จะให้คนนั่งเขียนคำตอบที่ดีที่สุด ซึ่งยากและเถียงกันไม่จบว่าอันไหนดีที่สุด เปลี่ยนมาให้คนทำสิ่งที่ง่ายกว่ามาก คือ "เปรียบเทียบ" ระบบสร้างคำตอบให้คำถามเดียวกันสองถึงสามแบบ แล้วถามคนว่าอันไหนดีกว่า มนุษย์เราเปรียบเทียบเก่งกว่าสร้างของดีที่สุดจากศูนย์เยอะ เหมือนกับว่าให้คุณบอกว่าก๋วยเตี๋ยวสองร้านนี้ร้านไหนอร่อยกว่า ง่ายกว่าให้คุณบรรยายว่าก๋วยเตี๋ยวที่อร่อยที่สุดในโลกหน้าตาเป็นยังไง
จากนั้นเอาความเห็น "อันนี้ดีกว่าอันนั้น" จำนวนมากมาสร้าง AI ตัวเล็กอีกตัวที่ทำหน้าที่เป็น "กรรมการ" คอยให้คะแนนคำตอบว่าดีแค่ไหน ที่ต้องสร้างกรรมการ AI ขึ้นมา เพราะขั้นต่อไปต้องให้คะแนนเป็นล้าน ๆ ครั้ง จ้างคนมานั่งให้คะแนนทุกครั้งเป็นไปไม่ได้ แต่ AI กรรมการให้คะแนนได้เร็วและถูกกว่ามาก
พอมีกรรมการแล้ว ก็เอาโมเดลหลักมาฝึกต่อ ให้มันลองตอบ กรรมการให้คะแนน คำตอบไหนได้คะแนนสูงก็ปรับให้ตอบแบบนั้นมากขึ้น คำตอบไหนคะแนนต่ำก็ปรับให้ตอบแบบนั้นน้อยลง วนซ้ำไปเรื่อย ๆ โมเดลก็ค่อย ๆ ตอบในแบบที่คนชอบมากขึ้น ครอบคลุมกรณีที่ไม่เคยมีเฉลยตรง ๆ ด้วย เพราะกรรมการให้คะแนนคำตอบใหม่ที่ไม่เคยเห็นได้
วิธีนี้มีจุดที่ต้องระวัง บางครั้งโมเดลเรียนรู้ที่จะ "หลอกกรรมการ" แทนที่จะตอบให้ดีขึ้นจริง เช่นตอบยาว ๆ ฟังดูมั่นใจเพราะรู้ว่ากรรมการมักให้คะแนนแบบนั้นสูง ทั้งที่เนื้อหาไม่ได้ดีขึ้น อาการนี้เรียกว่า reward hacking คือเล่นกับตัวให้คะแนนแทนที่จะทำตามเจตนาจริง ทีมที่ฝึกจึงต้องคอยจับตาไม่ให้โมเดลไถลไปทางนั้น นอกจากนี้วิธีใหม่กว่าอย่าง DPO ก็ช่วยให้ขั้นนี้ง่ายขึ้น โดยปรับโมเดลจากข้อมูล "อันนี้ดีกว่าอันนั้น" ได้ตรง ๆ ไม่ต้องสร้างกรรมการ AI แยกขึ้นมาก่อน และกลายเป็นวิธีหลักของโมเดลโอเพนซอร์สหลายตัวในทุกวันนี้
ผลของ RLHF ชัดเจนจนน่าทึ่ง InstructGPT ที่ผ่าน RLHF แล้วมีขนาดแค่ 1.3 พันล้าน parameter แต่คนกลับชอบคำตอบของมันมากกว่า GPT-3 ตัวเต็มที่ใหญ่กว่าถึงกว่า 100 เท่า (175 พันล้าน parameter) แต่ยังไม่ได้ขัดเกลา นี่พิสูจน์ว่าการขัดเกลาให้ตอบเป็น สำคัญพอ ๆ กับการมีความรู้เยอะ
💡 ใจความสำคัญ: RLHF ไม่ได้สอนข้อเท็จจริงใหม่ มันสอนรสนิยม สอนว่าจากคำตอบที่เป็นไปได้ทั้งหมด อันไหนคือแบบที่คนอยากได้ โมเดลดิบที่รู้เยอะแต่ตอบไม่เป็น ถูกขัดเกลาด้วยความเห็นของมนุษย์จนกลายเป็นผู้ช่วยที่คุยรู้เรื่อง
ลองทำดู: ขอให้ AI เล่ากระบวนการของตัวเอง
เปิดแชทใหม่แล้วถามตรง ๆ
อธิบายให้ฟังหน่อยว่าก่อนจะมาเป็นคุณ คุณถูกเทรนมากี่ขั้น
ขั้น pretraining ต่างจาก post-training ยังไง และทำไม
โมเดลดิบหลัง pretraining ถึงตอบคำถามตรง ๆ ไม่ได้
อ่านคำตอบของมัน ส่วนใหญ่มันจะอธิบายตรงกับที่บทนี้พูด คือ pretraining สอนให้เดาคำถัดไป แล้ว post-training ขัดเกลาให้ตอบเป็น คุณเพิ่งได้ยินมันเล่ากระบวนการสร้างตัวเองด้วยปากของมันเอง
ระวังนิดเดียว AI อธิบายเรื่องตัวเองผิดได้เหมือนกัน เพราะมันเดาคำตอบจากสิ่งที่เคยอ่าน ไม่ได้ "รู้" โครงสร้างตัวเองจริง แต่เรื่องนี้มันมักตอบถูก เพราะเป็นความรู้พื้นฐานที่อยู่ในข้อมูลฝึกเยอะ
ชั้นเฉพาะของ Claude: Constitutional AI และ alignment
Claude มักไม่ยอมตอบเรื่องที่ขัดต่อกฎหมายหรือเป็นอันตราย ทั้งที่คุณไม่ได้สั่งห้ามไว้ พฤติกรรมแบบนี้ไม่ได้โผล่มาเอง แต่เป็นผลของขั้นตอนการฝึกที่ชื่อ Constitutional AI
ถึงตรงนี้คุณเข้าใจ RLHF แบบที่ OpenAI ใช้แล้ว คือใช้คนเปรียบเทียบคำตอบ แต่ Anthropic ผู้สร้าง Claude ตั้งคำถามว่า จำเป็นต้องใช้คนทุกครั้งจริงไหม การจ้างคนมานั่งเปรียบเทียบคำตอบนับล้านคู่ทั้งแพงทั้งช้า แถมต้องให้คนอ่านเนื้อหาที่เป็นพิษหรืออันตรายเพื่อบอกว่าอันไหนแย่กว่า ซึ่งเป็นภาระทางใจของคนทำงาน
วิธีของ Anthropic ชื่อ Constitutional AI แปลตรงตัวว่า "AI ที่มีรัฐธรรมนูญ" หลักการคือ แทนที่จะให้คนเปรียบเทียบคำตอบทีละคู่ ทีมงานเขียน "รัฐธรรมนูญ" ขึ้นมาก่อน คือชุดหลักการที่บอกว่า AI ควรประพฤติตัวยังไง เช่น "เลือกคำตอบที่ไม่สนับสนุนการทำผิดกฎหมาย" หรือ "เลือกคำตอบที่ไม่แกล้งทำเป็นมีความรู้สึกหรือประสบการณ์ที่ AI ไม่มีจริง" จากนั้นใช้ AI อีกตัวอ่านหลักการพวกนี้แล้วช่วยตัดสินเองว่าคำตอบไหนดีกว่า ทำหน้าที่แทนคนในการเปรียบเทียบ
วิธีนี้มีจุดเด่นคือ ระหว่างฝึก โมเดลจะวิจารณ์คำตอบตัวเองโดยอ้างหลักการในรัฐธรรมนูญ แล้วแก้คำตอบให้ดีขึ้น เช่นถ้าถามวิธีแฮกเว็บ โมเดลอาจตอบรายละเอียดมาก่อน แล้ววิจารณ์ตัวเองว่า "คำตอบนี้สนับสนุนการทำผิดกฎหมายโดยไม่ถามว่ามีสิทธิ์ไหม" แล้วแก้เป็นคำตอบที่พูดถึงการทดสอบความปลอดภัยที่ได้รับอนุญาตแทน คำตอบที่แก้แล้วกลายเป็นข้อมูลฝึกต่อไป การใช้ AI ให้ความเห็นแทนคนแบบนี้ มีชื่อเรียกว่า RLAIF คือ RLHF ที่เปลี่ยนจาก human feedback เป็น AI feedback
ข้อสังเกตสำคัญคือ Constitutional AI ไม่ได้ตัดคนออกทั้งหมด คนยังเป็นคนเขียนรัฐธรรมนูญเอง ความต่างคือแทนที่คนจะต้องนั่งดูคำตอบทุกคู่ คนแค่เขียนกฎ แล้วปล่อยให้ AI ทำงานที่เหลือ ทำให้ "ค่านิยม" ที่ฝังเข้าไปในโมเดลกลายเป็นสิ่งที่เขียนออกมาเป็นลายลักษณ์อักษร ตรวจสอบได้ ไม่ใช่ซ่อนอยู่ในความรู้สึกของคนให้คะแนนหลายพันคนที่ไม่มีใครเห็น
แล้วคำว่า alignment ที่ได้ยินบ่อย ๆ จริง ๆ มันเปลี่ยนอะไร alignment แปลคร่าว ๆ ว่า "การปรับให้ตรงกับสิ่งที่มนุษย์ต้องการ" ทั้ง RLHF และ Constitutional AI คือเครื่องมือทำ alignment สิ่งที่มันเปลี่ยนคือพฤติกรรม ไม่ใช่ความรู้ โมเดลที่ผ่าน alignment จะยอมรับเมื่อไม่รู้ ปฏิเสธคำขอที่อันตราย ตอบตรงประเด็นขึ้น และพยายามมีประโยชน์มากขึ้น ความรู้ที่มันมียังเท่าเดิม แต่นิสัยการเอาความรู้นั้นออกมาใช้เปลี่ยนไป
แต่ alignment มีราคาของมัน ราคานี้มีชื่อเรียกในวงการว่า alignment tax คือโมเดลที่ถูกขัดเกลาให้ระวังตัว บางทีกลับทำคะแนนในการทดสอบบางอย่างได้แย่ลงเล็กน้อย เพราะมันออกตัวว่า "ไม่แน่ใจ" บ่อยขึ้น หรือปฏิเสธคำถามที่จริง ๆ ไม่ได้อันตราย และมีอาการที่เรียกว่าการประจบ ถ้าคุณบอกว่า "ฉันคิดว่า X ถูกใช่ไหม" โมเดลอาจเออออว่าใช่ ทั้งที่ X ผิด เพราะระหว่างฝึก คนมักให้คะแนนสูงกับคำตอบที่เห็นด้วยและฟังดูถูกใจ โมเดลเลยเรียนรู้ว่าการเห็นด้วยทำให้คนพอใจ นี่เป็นเหตุผลที่คุณไม่ควรเชื่อ AI เพียงเพราะมันเห็นด้วยกับคุณ (วิธีรับมือกับการประจบและการตอบมั่ว อยู่ใน บทเรื่องวิจารณญาณและความน่าเชื่อถือ)
แล้วถ้ามันแค่เดาคำถัดไป ความฉลาดที่เราเห็นมันอยู่ตรงไหนกันแน่ มันคิดจริงหรือแค่ทำท่าว่าคิด และในเมื่อแม้แต่คนสร้างยังเดาคำถัดไปแทนมันไม่ได้ ทำไมเขาถึงบอกว่ายังไม่เข้าใจสิ่งที่ตัวเองสร้างขึ้นมาทั้งหมด นี่คือเรื่องของบทต่อไป
อ่านต่อ: จริง ๆ AI คืออะไร และทำไมแม้แต่คนสร้างก็ยังไม่เข้าใจมันทั้งหมด
แหล่งอ้างอิง
คำถามที่พบบ่อย
มีคนนั่งป้อนความรู้ให้ AI ทีละเรื่องไหมexpand_more
ไม่มี AI ไม่ได้ถูกสอนข้อเท็จจริงทีละข้อ มันถูกฝึกให้ทำสิ่งเดียวซ้ำเป็นล้านล้านครั้ง คือเดาคำถัดไปในข้อความ ความรู้เรื่องไวยากรณ์ ความหมาย และเรื่องโลก ค่อย ๆ โผล่ออกมาเองเพราะมันช่วยให้เดาได้แม่นขึ้น
ทำไม AI ถึงรู้ภาษาอังกฤษดีกว่าภาษาไทยexpand_more
เพราะในกองข้อมูลที่ใช้ฝึก ภาษาอังกฤษกินสัดส่วนราวครึ่งหนึ่ง ส่วนภาษาไทยมีแค่ราว 0.5 ถึง 1 เปอร์เซ็นต์ มันจึงเห็นตัวอย่างภาษาไทยน้อยกว่ามาก ทำให้รู้เรื่องภาษาไทยลึกน้อยกว่า
ทำไมการสร้าง AI ตัวใหม่ถึงแพงมากexpand_more
เพราะขั้น pretraining ใช้ทรัพยากรมหาศาล เช่น Llama 3 รุ่นใหญ่ฝึกบนข้อความ 15 ล้านล้าน token ใช้การ์ดประมวลผล H100 จำนวน 16,384 ตัวทำงานพร้อมกันราว 54 วัน คิดเป็นค่าประมวลผลที่คนนอกประเมินราว 60 ล้านดอลลาร์ นี่คือเหตุผลที่มีแค่ไม่กี่บริษัทในโลกทำได้
ทำไม base model ที่ฝึกเสร็จแล้วถึงตอบคำถามตรง ๆ ไม่ได้expand_more
เพราะหลัง pretraining มันทำได้อย่างเดียวคือต่อข้อความ ไม่รู้ว่ามีคนถามแล้วคาดหวังคำตอบ ถ้าพิมพ์ว่ากรุงเทพอยู่ประเทศอะไร มันอาจต่อเป็นบริบทข้อสอบแทนที่จะตอบ ต้องผ่านการฝึกขั้นที่สองคือ post-training (SFT และ RLHF) ก่อน ถึงจะกลายเป็นผู้ช่วยที่คุยรู้เรื่อง