การเจาะลึกนี้เหมาะกับใคร?
- ผู้ที่ต้องการเข้าใจว่า LLM ทำงานจริงอย่างไร: สำหรับคนที่ต้องการรู้หลักการทำงานของ LLM ให้ลึกกว่าความเข้าใจแบบผิวเผิน
- ผู้ที่ต้องการเข้าใจคำศัพท์ด้าน fine-tuning ที่ชวนสับสน: สำหรับคนที่อยากเข้าใจคำอย่าง
chat_template และ ChatML
- ผู้ที่ต้องการพัฒนา prompt engineering: สำหรับคนที่อยากเข้าใจว่า prompt แบบใดทำงานได้ดีกว่า
- ผู้ที่ต้องการลดอาการหลอน: สำหรับคนที่ต้องการไม่ให้ LLM สร้างข้อมูลที่ผิดพลาด
- ผู้ที่ต้องการเข้าใจความสำคัญของ DeepSeek-R1: สำหรับคนที่อยากรู้ว่าทำไม DeepSeek-R1 จึงได้รับความสนใจในตอนนี้
ข้อมูลสำหรับ pre-training
อินเทอร์เน็ต
- LLM สร้างชุดข้อมูลข้อความขนาดมหาศาลด้วยการ crawl อินเทอร์เน็ต
- ข้อมูลดิบเต็มไปด้วยเนื้อหาซ้ำ ข้อความคุณภาพต่ำ และข้อมูลที่ไม่เกี่ยวข้อง จึงต้องมีการกรองอย่างเข้มข้นก่อนฝึก
- ตัวอย่างเช่น ชุดข้อมูล FineWeb มีเว็บเพจมากกว่า 1.2 พันล้านหน้า
การทำ tokenization
- tokenization คือวิธีแบ่งข้อความออกเป็นชิ้นเล็ก ๆ (token) ก่อนที่โมเดลจะประมวลผล
- มีการใช้เทคนิคอย่าง Byte Pair Encoding (BPE)
- GPT-4 ใช้โทเคน 100,277 รายการ
อินพุต/เอาต์พุตของโครงข่ายประสาท
- ข้อมูลที่ผ่านการทำ tokenization แล้วจะถูกป้อนเข้าสู่โครงข่ายประสาท
- โมเดลจะทำนายโทเคนถัดไปจากรูปแบบที่ได้เรียนรู้มา
- มีการปรับค่าน้ำหนักเพื่อลดข้อผิดพลาด
ภายในโครงข่ายประสาท
- ภายในโมเดล พารามิเตอร์หลายพันล้านตัวจะโต้ตอบกับโทเคนขาเข้าเพื่อสร้างการกระจายความน่าจะเป็นของโทเคนถัดไป
- สถาปัตยกรรมของโมเดลถูกออกแบบให้สมดุลระหว่างความเร็ว ความแม่นยำ และการประมวลผลแบบขนาน
การอนุมาน
- LLM ไม่ได้สร้างผลลัพธ์แบบกำหนดตายตัว แต่เป็นเชิงความน่าจะเป็น
- เอาต์พุตจะแตกต่างกันเล็กน้อยในแต่ละครั้งที่รัน
- ความสุ่มนี้ทำให้ LLM มีความสร้างสรรค์ได้ แต่บางครั้งก็สร้างข้อมูลที่ผิดพลาดเช่นกัน
GPT-2
- GPT-2 ที่ OpenAI เปิดตัวในปี 2019 เป็นตัวอย่างของ LLM ยุคแรกที่อิงสถาปัตยกรรมทรานส์ฟอร์เมอร์
- มีพารามิเตอร์ 1.6 พันล้านตัว, context length 1024 โทเคน และฝึกด้วยโทเคนประมาณ 1 แสนล้านรายการ
- Andrej Karpathy สร้าง GPT-2 ขึ้นมาใหม่ด้วย llm.c ในราคา $672
โมเดลฐานแบบโอเพนซอร์ส
- บางบริษัทฝึก LLM ขนาดใหญ่แล้วเปิดเผยโมเดลฐานให้ใช้งานฟรี
- โมเดลฐานถูกฝึกด้วยข้อความดิบจากอินเทอร์เน็ต จึงสร้างข้อความต่อได้ แต่ยังไม่เข้าใจเจตนาของมนุษย์
- OpenAI เปิด GPT-2 เป็นโอเพนซอร์ส
- Meta เปิด Llama 3.1 (พารามิเตอร์ 405B) เป็นโอเพนซอร์ส
จาก pre-training ไปสู่ post-training
- โมเดลฐานสร้างอาการหลอนจำนวนมาก
- post-training คือการ fine-tune โมเดลเพื่อให้ตอบสนองได้ดีขึ้น
- post-training มีต้นทุนถูกกว่า pre-training มาก
Supervised Fine-Tuning (SFT)
บทสนทนาในข้อมูล
- หลังจากโมเดลฐานถูกฝึกด้วยข้อมูลจากอินเทอร์เน็ตแล้ว จะมีการทำ post-training เพิ่มด้วยบทสนทนาระหว่างมนุษย์/ผู้ช่วย
- มีการใช้ conversation template เพื่อให้โมเดลเข้าใจโครงสร้างของบทสนทนา
อาการหลอน, การใช้เครื่องมือ และหน่วยความจำ
- ปัญหาหลักของ LLM คืออาการหลอน
- Meta อธิบายวิธีปรับปรุงความถูกต้องเชิงข้อเท็จจริงไว้ในบทความวิจัย Llama 3
- ยังมีวิธีลดอาการหลอนด้วยการใช้เครื่องมือ
Reinforcement Learning
- แม้โมเดลจะถูกฝึกด้วยข้อมูลจากอินเทอร์เน็ต แต่ก็ยังไม่รู้วิธีใช้ความรู้ที่มีอย่างมีประสิทธิภาพ
- Reinforcement Learning (RL) ช่วยปรับปรุงโมเดลผ่านการลองผิดลองถูก
วิธีการทำงานของ RL
- RL เปิดโอกาสให้โมเดลทดลองวิธีแก้ปัญหาหลากหลายแบบและค้นหาวิธีที่ดีที่สุด
- ตัวอย่างเช่น สร้างคำตอบขึ้นมา 15 แบบ และมีเพียง 4 แบบที่ถูกต้อง
Reinforcement Learning from Human Feedback (RLHF)
- ในโดเมนที่ตรวจสอบได้ยาก จำเป็นต้องมีมนุษย์เข้ามาเกี่ยวข้อง
- RLHF ใช้ฟีดแบ็กจากมนุษย์เพื่อปรับปรุงโมเดล
แนวโน้มในอนาคต
- ความสามารถแบบมัลติโหมด: เข้าใจและสร้างได้ไม่ใช่แค่ข้อความ แต่รวมถึงภาพ เสียง และวิดีโอ
- โมเดลแบบเอเจนต์: ทำได้มากกว่างานเดี่ยว มีหน่วยความจำระยะยาว ให้เหตุผล และแก้ไขความผิดพลาดได้
- AI ที่เป็นสากลและมองไม่เห็น: ผสานเข้ากับเวิร์กโฟลว์อย่างเป็นธรรมชาติ
- AI ที่ใช้งานคอมพิวเตอร์ได้: โต้ตอบกับซอฟต์แวร์และทำงานได้มากกว่าการสร้างข้อความ
วิธีค้นหา LLM
- โมเดลแบบปิด: OpenAI (GPT-4), Google (Gemini), Anthropic (Claude) เป็นต้น
- โมเดล open-weight: DeepSeek, Meta (Llama) เป็นต้น
- การรันแบบโลคัล: ใช้ Ollama หรือ LM Studio
- โมเดลฐาน: สำรวจผ่าน Hyperbolic
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
กำลังมองหาที่ดี ๆ สำหรับคุยต่อ แม้ว่าวิดีโอต้นฉบับจะหลุดจากหน้าแรกของ Hacker News ไปแล้ว
ระหว่างดูวิดีโอ มีคำถามบางอย่างผุดขึ้นมา
แนวทางของ Meta ในการแก้ปัญหา hallucination น่าสนใจ
วิดีโอของ Andrej ยอดเยี่ยม แต่รู้สึกว่าส่วนอธิบาย RL ยังคลุมเครือเล็กน้อย
ในนาทีที่ 53 ของวิดีโอต้นฉบับ แสดงให้เห็นความแม่นยำของ LLM ในการอ้างอิงจากข้อความที่มันเรียนรู้มา
หากโมเดลจะเป็นโอเพนซอร์สอย่าง 'สมบูรณ์' นอกจากตัวโมเดลเองและวิธีรันแล้ว ยังต้องมีโปรแกรมที่สามารถฝึกข้อมูลได้ด้วย
อ่านบทความเกี่ยวกับ LLM มามาก และโดยทั่วไปก็เข้าใจว่ามันทำงานอย่างไร แต่ก็สงสัยมาตลอดว่าทำไมโมเดลอื่นถึงทำงานได้ไม่ดีเท่าโมเดล SOTA
วันนี้เห็นเธรดดี ๆ: [ลิงก์]
น่าเสียดายที่ LLC in C ของเขาเป็นเพียงฐานตั้งต้นสำหรับคอร์สของเขาเท่านั้น
น่าจะเป็นสรุปที่ยอดเยี่ยมของเลกเชอร์ที่ยอดเยี่ยมจริง ๆ
ยังไม่ได้ดูวิดีโอ แต่สงสัยเกี่ยวกับส่วน tokenization ใน TL;DR