- นี่คือสรุปสำหรับผู้อ่านที่อยากไล่ตามเนื้อหาแบบย่อของ วิดีโอเจาะลึก LLM ความยาว 3 ชั่วโมง 31 นาที ของ Andrej Karpathy เพื่อทำความเข้าใจหลักการทำงาน คำศัพท์ด้านไฟน์จูน พรอมป์ อาการ hallucination ไปจนถึง DeepSeek-R1 ในคราวเดียว
- LLM ถูกฝึกให้ทำนายโทเค็นถัดไปภายใน context window หลังจากนำข้อความเว็บขนาดใหญ่มาทำความสะอาดและ tokenize โดย context ที่ยาวขึ้นจะสะท้อนข้อมูลได้มากขึ้นแต่เพิ่มต้นทุนการคำนวณ
- base model ที่ผ่าน pretraining แล้วใกล้เคียงกับระบบเติมข้อความอัตโนมัติแบบสุ่มตามความน่าจะเป็นที่เขียนต่อในสไตล์อินเทอร์เน็ต และต้องมี post-training เช่น SFT และ alignment จึงจะกลายเป็นผู้ช่วยแบบสนทนาได้
- เพื่อลด hallucination ควรให้โมเดลปฏิเสธคำถามที่ไม่รู้ หรืออ้างอิงข้อมูลล่าสุดผ่าน การใช้เครื่องมือ และ RAG ส่วนโจทย์คณิตศาสตร์และตรรกะเหมาะกับการสร้างคำตอบเป็นขั้นตอนและใช้เครื่องมือภายนอกมากกว่า
- Reinforcement learning ทำให้โมเดลลองคำตอบหลายแบบและเรียนรู้จากวิธีแก้ที่สำเร็จ แต่ใน RLHF reward model เป็นเพียงค่าประมาณของความชอบมนุษย์ จึงยังมีความเสี่ยงจากการ over-optimize และการฉวยใช้ช่องโหว่ของ reward model
ผู้อ่านเป้าหมายของสรุปนี้
- "Deep dive into LLMs like ChatGPT" ของ Andrej Karpathy เป็นวิดีโอความยาว 3 ชั่วโมง 31 นาที และนี่คือ TL;DR สำหรับผู้อ่านที่อยากได้สาระสำคัญโดยไม่ต้องใช้เวลาดูนาน
- เหมาะเป็นพิเศษสำหรับผู้อ่านต่อไปนี้
- คนที่อยากรู้ว่า LLM ทำงานอย่างไรจริง ๆ ไม่ใช่แค่ในระดับผิวเผิน
- คนที่อยากเข้าใจ คำศัพท์ด้านไฟน์จูน เช่น
chat_template, ChatML
- คนที่อยากปรับปรุง prompt engineering ด้วยการเข้าใจว่าทำไมพรอมป์จึงทำงานได้ดีหรือล้มเหลว
- คนที่อยากลด hallucination ของ LLM
- คนที่อยากเข้าใจว่าเหตุใด DeepSeek-R1 จึงได้รับความสนใจ
- ไดอะแกรม Excalidraw ที่ใช้ในวิดีโอสามารถดาวน์โหลดได้จาก ลิงก์ดาวน์โหลด ที่โฮสต์แยกไว้บน CDN
ข้อมูล pretraining และ tokenization
- LLM สร้างชุดข้อมูลข้อความขนาดใหญ่ด้วยการ crawl อินเทอร์เน็ต แต่ข้อมูลดิบมี เนื้อหาซ้ำ ข้อความคุณภาพต่ำ และข้อมูลที่ไม่เกี่ยวข้องจำนวนมาก จึงต้องกรองอย่างเข้มข้นก่อนฝึก
- หากสร้างโมเดลเฉพาะภาษาอังกฤษ ต้องใช้ heuristic เพื่อเหลือเฉพาะข้อความที่มีความเป็นไปได้สูงว่าเป็นภาษาอังกฤษ
- ชุดข้อมูลตัวอย่าง FineWeb มี เว็บเพจมากกว่า 1.2 พันล้านหน้า
- ข้อความที่ทำความสะอาดแล้วไม่ได้ป้อนเข้าโมเดลตามต้นฉบับ แต่ถูกแปลงเป็น โทเค็น ซึ่งเป็น ID ที่แทนรูปแบบที่ซ้ำกัน
อินพุต/เอาต์พุตของ neural network และการทำงานภายใน
- ข้อมูลที่ถูก tokenize จะถูกป้อนเข้า neural network และโมเดลจะทำนายโทเค็นถัดไปภายใน context window ที่กำหนด
- บางโมเดลใช้ 8,000 โทเค็น ส่วน GPT-4 ใช้ context ได้สูงสุด 128k
- โมเดลทำนายโทเค็นถัดไปจากแพตเทิร์นที่เรียนรู้ และปรับน้ำหนักด้วย backpropagation เพื่อลดข้อผิดพลาด
- context window ที่ยาวช่วยให้สะท้อนเนื้อหาจากอินพุตได้มากขึ้น แต่เพิ่มต้นทุนการคำนวณ
- ภายในโมเดล พารามิเตอร์หลายพันล้านตัวโต้ตอบกับโทเค็นอินพุตเพื่อสร้าง การแจกแจงความน่าจะเป็น ของโทเค็นถัดไป
- กระบวนการนี้ถูกนิยามด้วยสมการคณิตศาสตร์ที่ซับซ้อนและปรับให้มีประสิทธิภาพ
- สถาปัตยกรรมถูกออกแบบให้สมดุลระหว่างความเร็ว ความแม่นยำ และการทำงานแบบขนาน
- ตัวอย่างสถาปัตยกรรม LLM ระดับโปรดักชันดูได้ที่ bbycroft.net/llm
- ผลลัพธ์ inference ของ LLM ไม่ได้เป็น deterministic แต่เป็น เชิงความน่าจะเป็น
- แม้รันโมเดลเดียวกัน ผลลัพธ์ก็จะแตกต่างกันเล็กน้อย
- ส่วนใหญ่จะสร้างข้อความใหม่ที่ทำตามแพตเทิร์นคล้ายข้อมูลฝึก แต่บางกรณีอาจตรงกับบางส่วนของข้อมูลฝึกแบบเป๊ะ ๆ
- ความสุ่มนี้เป็นแหล่งที่มาของผลลัพธ์เชิงสร้างสรรค์ แต่ก็อาจนำไปสู่ hallucination ที่สร้างข้อมูลผิดได้เช่นกัน
GPT-2 และการเปลี่ยนแปลงของต้นทุนการฝึก
- GPT-2 ที่ OpenAI เปิดตัวในปี 2019 เป็นตัวอย่างของ LLM ยุคแรกที่ใช้ Transformer
-
1.6 พันล้านพารามิเตอร์
-
ความยาว context 1024 โทเค็น
- ฝึกด้วยประมาณ 100 พันล้านโทเค็น
- ต้นทุนการฝึกเดิมคือ 40,000 ดอลลาร์
- หลังจากนั้น ประสิทธิภาพดีขึ้นอย่างมาก
- Andrej Karpathy ใช้ llm.c สร้าง GPT-2 ซ้ำได้ด้วยต้นทุน 672 ดอลลาร์
- หากใช้ pipeline ที่ปรับแต่งดีแล้ว ต้นทุนการฝึกอาจลดลงได้อีกถึงประมาณ 100 ดอลลาร์
- การลดต้นทุนมาจากข้อมูลที่สะอาดขึ้นและสภาพแวดล้อมรันที่ดีขึ้น
- เทคนิคการดึงข้อมูล pretraining ที่ดีขึ้นช่วยทำให้ชุดข้อมูลสะอาดขึ้น โมเดลจึงเรียนรู้ได้เร็วขึ้น
- ฮาร์ดแวร์ที่แรงขึ้นและซอฟต์แวร์ที่ปรับแต่งดีขึ้นทำให้ต้องใช้การคำนวณน้อยลงเพื่อให้ได้ผลลัพธ์เดียวกัน
Open base model และข้อจำกัดของ base model
- open base model ในที่นี้ไม่ได้หมายถึงโมเดลที่ปฏิบัติตามนิยามโอเพนซอร์ส AI ของ OSI อย่างเคร่งครัด แต่หมายถึงโมเดลที่เปิดเผย weights แต่อาจไม่ได้ให้ข้อมูลฝึกและความสามารถในการทำซ้ำอย่างสมบูรณ์
- GPT-2 ของ OpenAI เป็นโมเดล open-weight และ source-available แต่ไม่ใช่โอเพนซอร์สเต็มรูปแบบตามนิยาม OSI เพราะไม่ได้เปิดเผยข้อมูลฝึก
- Llama 3.1 405B ของ Meta เป็นโมเดล open-weight แต่ไม่ใช่โมเดลโอเพนซอร์ส
- base model คือโมเดลภาษาดิบที่ผ่าน pretraining แล้ว และต้องมี ไฟน์จูน หรือ alignment จึงจะใช้งานได้จริง
- ฝึกด้วยข้อมูลระดับอินเทอร์เน็ตที่ไม่ได้กรอง จึงสร้างข้อความต่อเนื่องแบบดิบ ๆ
- ยังขาด alignment ให้สอดคล้องกับเจตนาของมนุษย์
- การเผยแพร่ base model โดยทั่วไปต้องมีสองอย่าง
- ลักษณะการทำงานของ base model มีดังนี้
- สร้างข้อความสไตล์อินเทอร์เน็ตในระดับโทเค็น
- ผลลัพธ์แตกต่างกันเล็กน้อยทุกครั้งที่รัน
- สามารถ ทำซ้ำตามเดิม บางส่วนของข้อมูลฝึกได้
- พารามิเตอร์สามารถมองได้เหมือน ไฟล์ zip แบบบีบอัดสูญเสียข้อมูล ของความรู้บนอินเทอร์เน็ต
- ใช้ได้กับการแปลด้วยตัวอย่างใน context หรือเป็นผู้ช่วยพื้นฐานจากพรอมป์ที่มีโครงสร้าง
- สามารถทดลอง Llama 3 405B base model ได้โดยตรง และโดยแก่นแล้ว base model ใกล้เคียงกับเครื่องเติมข้อความอัตโนมัติราคาแพง
จาก pretraining สู่ post-training
- base model เป็นเพียงตัวสร้างข้อความที่ผ่าน pretraining และต้องมี post-training เพื่อสร้างผู้ช่วยที่ใช้งานจริง
- แม้สร้างข้อความได้ แต่ไม่ได้ให้คำตอบที่มีประโยชน์เสมอไป และมี hallucination มาก
- post-training คือกระบวนการไฟน์จูนโมเดลให้ตอบสนองได้ดีขึ้น
- pretraining อาจใช้เวลาหลายเดือน แต่ post-training ถูกกว่ามากจนสามารถเสร็จได้ภายในไม่กี่ชั่วโมง
Supervised fine-tuning และข้อมูลสนทนา
- หลัง pretraining จะใช้ข้อมูล บทสนทนาระหว่างมนุษย์/ผู้ช่วย แทนชุดข้อมูลอินเทอร์เน็ตเพื่อ post-train โมเดลให้สนทนาได้ดีขึ้นและมีประโยชน์ขึ้น
- คงอัลกอริทึมของโมเดลไว้และไฟน์จูนพารามิเตอร์เดิม
- ชุดข้อมูล post-training ยุคแรกถูกคัดเลือกโดยมนุษย์โดยตรง แต่โมเดลอย่าง UltraChat สามารถสร้างบทสนทนาสังเคราะห์ได้
- ใช้ chat template เพื่อสอนโครงสร้างบทสนทนา
- นิยามโครงสร้างที่แยกอินพุตของผู้ใช้กับคำตอบของผู้ช่วย
- อ่านเนื้อหาที่เกี่ยวข้องได้ใน เอกสาร chat templating ของ Hugging Face
- ตัวอย่างเทมเพลตมีดังนี้
<|im_start|>system<|im_sep|>You are a helpful assistant<|im_end|>
<|im_start|>user<|im_sep|>What is 4 + 4?<|im_end|>
<|im_start|>assistant<|im_sep|>4 + 4 = 8<|im_end|>
<|im_start|>, <|im_end|> คือ special tokens ที่ช่วยจัดโครงสร้างบทสนทนา
- โมเดลไม่เคยเห็นโทเค็นใหม่นี้ระหว่าง pretraining และถูกนำเข้ามาใน post-training
- งานวิจัย InstructGPT ของ OpenAI กล่าวถึงการไฟน์จูน LLM สำหรับการสนทนา
- ตัวอย่างชุดข้อมูล post-training คือ OASST1 และสามารถดู visualization ของชุดข้อมูลสังเคราะห์ได้ที่ Nomic Atlas
Hallucination, การใช้เครื่องมือ และความจำ
- หนึ่งในปัญหาหลักของ LLM คือ hallucination ซึ่งโมเดลสร้างข้อมูลที่ผิดหรือแต่งขึ้นอย่างมั่นใจ
- ในกระบวนการ post-training โมเดลอาจเรียนรู้ว่าต้องตอบเสมอ
- แม้คำถามจะไม่สมเหตุสมผล ก็พยายามสร้างคำตอบแทนที่จะพูดว่า “ไม่รู้”
- งานวิจัย Llama 3 ของ Meta ใช้ขั้นตอนต่อไปนี้เพื่อปรับปรุงความถูกต้องเชิงข้อเท็จจริง
- ดึงข้อมูลบางส่วนจากข้อมูลฝึก
- ใช้ Llama 3 สร้างคำถามเชิงข้อเท็จจริงเกี่ยวกับข้อมูลนั้น
- ให้ Llama 3 สร้างคำตอบ
- ให้คะแนนคำตอบโดยเปรียบเทียบกับข้อมูลต้นฉบับ
- หากผิด ให้ฝึกโมเดลให้รู้จักคำตอบที่ผิดและปฏิเสธ
- วิธีหนึ่งในการลด hallucination คือฝึกให้โมเดล ใช้เครื่องมือ เมื่อไม่รู้คำตอบ
<|im_start|>user<|im_sep|>Who is Orson Kovacs?<|im_end|>
<|im_start|>assistant<|im_sep|><SEARCH_START>Who is Orson Kovacs?<SEARCH_END><|im_end|>
[...search results...]
<|im_start|>assistant<|im_sep|>Orson Kovacs is ....<|im_end|>
- ผ่านการฝึกซ้ำ ๆ โมเดลเรียนรู้ที่จะค้นหาแทนการแต่งเรื่องเมื่อไม่รู้
- พารามิเตอร์ของโมเดลเก็บ ความจำเลือนราง คล้ายการจำเหตุการณ์เมื่อหนึ่งเดือนก่อนได้ลาง ๆ ส่วน context tokens ทำหน้าที่เหมือน working memory ที่บรรจุข้อมูลล่าสุด
- เหตุผลที่ RAG ทำงานได้ดีคือเมื่อโมเดลเข้าถึงเอกสารที่เกี่ยวข้องโดยตรง ก็ไม่จำเป็นต้องเดา
การรับรู้ตัวตนของโมเดลและ reasoning tokens
- หากถาม base model ที่ยังไม่ได้ tuning ว่า “คุณเป็นใคร” ก็มีโอกาส hallucinate
- แม้จะไม่ใช่โมเดลที่ OpenAI สร้าง แต่ในข้อมูลอินเทอร์เน็ต AI model กับ OpenAI ถูกเชื่อมโยงกันมาก จึงอาจตอบว่า OpenAI เป็นผู้สร้าง
- วิธีแก้มีสองแบบ
- หากไม่มีการฝึกแยก LLM จะกลับไปตอบแบบ AI ทั่วไปโดยไม่มีความรู้จริงเกี่ยวกับตัวมันเอง
- LLM ไม่ได้ reasoning เหมือนมนุษย์ แต่ สร้างโทเค็นตามลำดับ ดังนั้นหากต้องการให้คิดอย่างเหมาะสม ต้องมีการสร้างคำตอบอย่างมีโครงสร้าง
- หากกระโดดไปตอบทันที อาจใกล้เคียงกับการเดา
- หากแสดงวิธีแก้ทีละขั้นตอน จะน่าเชื่อถือกว่า
- จำนวน layer ของโมเดลมีจำกัด ดังนั้นเอาต์พุตหนึ่งโทเค็นไม่สามารถถูกประมวลผลได้อย่างไม่สิ้นสุด และการแบ่งปัญหาเป็นขั้นตอนเล็ก ๆ ช่วยเพิ่มโอกาสได้คำตอบที่ถูก
- สำหรับงานคณิตศาสตร์และตรรกะ ควรให้ใช้ เครื่องมือภายนอก มากกว่าพึ่ง reasoning ของตัวโมเดลเพียงอย่างเดียว
Reinforcement learning และ DeepSeek
- โมเดลที่ผ่าน pretraining แม้จะมีความรู้ แต่ยังไม่รู้วิธีใช้ความรู้นั้นอย่างมีประสิทธิภาพ
- supervised fine-tuning สอนให้เลียนแบบคำตอบของมนุษย์
- reinforcement learning ทำให้ค้นหาวิธีแก้ที่ดีกว่าผ่านการลองผิดลองถูก
- ตัวอย่างขั้นตอน reinforcement learning มีดังนี้
- สร้างคำตอบ 15 แบบสำหรับปัญหาเดียวกัน
- หากมีเพียง 4 แบบที่ถูก ให้เลือกคำตอบอันดับต้น ๆ ที่ถูกและสั้น
- ฝึกด้วยคำตอบที่เลือก แล้วทำกระบวนการนี้ซ้ำจำนวนมาก
- กระบวนการนี้ไม่มีมนุษย์เข้ามาเกี่ยวโดยตรง โมเดลสร้างคำตอบจำนวนมากสำหรับปัญหาเดียวกันและเลือกคำตอบที่ไปถึงคำตอบถูกเพื่อเรียนรู้
- pretraining และ post-training ถูกนิยามไว้ชัดเจน แต่กระบวนการ reinforcement learning ยังเป็นหัวข้อวิจัยที่กำลังคึกคัก
- บริษัทอย่าง OpenAI ก็ทำวิจัยจำนวนมาก แต่มีส่วนที่ไม่เปิดเผย
- งานวิจัย ของ DeepSeek กล่าวถึง RL และ FT สำหรับ LLM อย่างเปิดเผย และอธิบายวิธีดึงความสามารถด้าน reasoning ออกมา
- ในตัวอย่างงานวิจัย DeepSeek เมื่อเวลาผ่านไป โมเดลใช้โทเค็นมากขึ้นเพื่อปรับปรุง reasoning
- ช่วงเวลา “aha” เป็นสิ่งที่สอนแบบชัดเจนได้ยากด้วยการฝึกจากชุดข้อมูลอย่างเดียว และมีลักษณะที่โมเดลต้องค้นพบเองผ่าน reinforcement learning
- ข้อดีคือ reasoning ดีขึ้น ข้อเสียคือใช้โทเค็นมากขึ้น
AlphaGo และศักยภาพของ reinforcement learning
- ใน งานวิจัยที่เชี่ยวชาญเกม Go reinforcement learning ทำให้โมเดลไม่ได้หยุดแค่เลียนแบบมนุษย์ แต่ค้นพบกลยุทธ์ของตัวเองผ่านการลองผิดลองถูก
- Move 37 ในการแข่งขัน AlphaGo ถูกนำเสนอว่าไม่ใช่หมากที่อยู่ในข้อมูลฝึก แต่เป็นกลยุทธ์ที่โมเดลสร้างขึ้นเพื่อชัยชนะ
- นักวิจัยคาดการณ์ว่าโอกาสที่มนุษย์จะเดินหมากนี้คือ 1 ใน 10,000
- reinforcement learning ยังมีพื้นที่ที่ยังไม่ได้สำรวจอีกมาก และงานวิจัยยังดำเนินต่อไป
- หาก LLM เห็นว่าเป็นวิธีที่ดีที่สุดในการแสดงความคิดและไอเดีย มันก็อาจสร้างภาษาของตัวเองขึ้นมาได้
ขอบเขตที่ตรวจสอบไม่ได้และ RLHF
- ในขอบเขตที่ตรวจสอบได้ การตัดมนุษย์ออกจากกระบวนการ reinforcement learning ทำได้ง่าย และ LLM สามารถทำหน้าที่เสมือนผู้ตัดสินสมรรถนะของตัวเองได้
- ใน ขอบเขตที่ตรวจสอบไม่ได้ เช่น การเขียนมุกตลกหรือการสรุป ต้องใส่มนุษย์ไว้ในลูป
- พรอมป์อย่าง
Write a joke about pelicans ตัดสินคุณภาพมุกตลกโดยอัตโนมัติได้ยาก
- LLM สามารถสร้างมุกตลกได้ แต่การตัดสินคุณภาพในสเกลใหญ่ทำได้ยาก
- เพราะการใช้มนุษย์จำนวนมากก็ทำได้ยาก จึงต้องใช้วิธีที่กล่าวถึงใน งานวิจัย RLHF
- RLHF ฝึก reward model แยกต่างหากเพื่อใช้ตัดสินคุณภาพคำตอบในสเกลใหญ่
- มนุษย์ประเมินอันดับของคำตอบ
- ใช้การประเมินนั้นฝึก reward model ให้ถึงระดับที่ต้องการ
- หลังจากนั้น reward model จะตัดสินคุณภาพคำตอบของ LLM ในสเกลใหญ่
ข้อดีและข้อจำกัดของ RLHF
- ข้อดีของ RLHF มีดังนี้
- ทำให้ใช้ reinforcement learning ได้แม้ในขอบเขตที่ตรวจสอบไม่ได้ เช่น การเขียนมุกตลกหรือการสรุป
- มักปรับปรุงโมเดลโดยลด hallucination และทำให้คำตอบเป็นธรรมชาติเหมือนมนุษย์มากขึ้น
- ใช้ประโยชน์จาก discriminator-generator gap ซึ่งมนุษย์ประเมินได้ง่ายกว่าสร้างคำตอบเอง
- เช่น เลือกว่า “ในบทกวี 5 บทนี้ บทไหนดีที่สุด” ง่ายกว่า “เขียนบทกวี”
- ข้อจำกัดของ RLHF ก็ชัดเจนเช่นกัน
- reward model ไม่ใช่มนุษย์จริง แต่เป็น การจำลองความชอบของมนุษย์
- reinforcement learning สามารถสร้างตัวอย่างเชิง adversarial ที่ฉวยใช้จุดอ่อนของ reward model ได้
- เช่น หลังอัปเดต 1,000 ครั้ง “มุกตลกที่ดีที่สุดเกี่ยวกับนกเพลิแกน” อาจกลายเป็นผลลัพธ์ไร้ความหมายอย่าง
the the the the the the the the
- ปัญหานี้เรียกว่า Adversarial Machine Learning
- เนื่องจากมีวิธีฉวยใช้ระบบได้ไม่สิ้นสุด การกรองคำตอบแย่ ๆ จึงไม่ใช่เรื่องง่าย
- เพื่อป้องกัน over-optimization และสมรรถนะถดถอย การฝึก reward model จึงถูกจำกัดไว้ที่ระดับ ไม่กี่ร้อยรอบ
ทิศทางของ LLM ในอนาคต
- LLM ในอนาคตอาจขยายไปได้หลายทิศทาง
- ความสามารถ multimodal: เข้าใจและสร้างไม่เพียงข้อความ แต่รวมถึงภาพ เสียง และวิดีโอ
- โมเดลแบบ agent-based: ก้าวข้ามงานเดี่ยวไปสู่ความจำระยะยาว reasoning และการแก้ไขข้อผิดพลาด
- AI ที่ใช้งานประจำวันและมองไม่เห็น: ผสานเข้ากับ workflow อย่างเป็นธรรมชาติ
- AI ที่ใช้คอมพิวเตอร์ได้: ไม่ใช่แค่สร้างข้อความ แต่โต้ตอบกับซอฟต์แวร์และลงมือทำงาน
- การเรียนรู้ ณ เวลา test: ปรับตัวแบบเรียลไทม์เพื่อเพิ่มความแม่นยำทันที
แหล่งติดตามและทดลอง LLM
- แหล่งข้อมูลสำหรับติดตามความก้าวหน้าของ LLM
- แหล่งทดลองใช้ LLM หลากหลายแบบ
- Proprietary Models: OpenAI GPT-4, Google Gemini, Anthropic Claude ฯลฯ
- Open-Weight Models: DeepSeek, Meta Llama ฯลฯ และใช้งานได้ที่ Together.ai
- รันในเครื่อง: ใช้ Ollama หรือ LM Studio
- Base Models: สำรวจได้ที่ Hyperbolic
ยังไม่มีความคิดเห็น