Training large language models — การฝึกอบรมโมเดลภาษาขนาดใหญ่
การฝึกอบรมโมเดลภาษาขนาดใหญ่ (LLM) คือกระบวนการที่ซับซ้อนและต้องใช้ทรัพยากรสูง ซึ่ง Neural Network ที่มีพารามิเตอร์หลายพันล้านตัวจะถูกฝึกอบรมบนชุดข้อมูลข้อความขนาดมหึมา เพื่อให้เข้าใจและสร้างภาษามนุษย์ได้ กระบวนการนี้ถือเป็นรากฐานสำคัญในการสร้าง LLM สมัยใหม่ เช่น GPT, BERT, Claude และ Gemini
รากฐานทางทฤษฎีของการฝึกอบรม
Transformer Architecture และ Attention Mechanism - สถาปัตยกรรม Transformer และกลไก Attention
LLM สมัยใหม่เกือบทั้งหมดอิงอยู่บนสถาปัตยกรรม Transformer ซึ่งช่วยให้ประมวลผลลำดับข้อความที่ยาวได้อย่างมีประสิทธิภาพ องค์ประกอบหลักคือ กลไก self-attention ที่ให้โมเดลสามารถกำหนดน้ำหนักความสำคัญของแต่ละคำในบริบทของลำดับทั้งหมดได้ ซึ่งช่วยให้จับความสัมพันธ์ระยะไกลและประมวลผลข้อมูลแบบขนานได้ ทำให้การฝึกอบรมเร็วกว่า Recurrent Neural Network (RNN) อย่างมีนัยสำคัญ
ภารกิจหลัก: การทำนาย Token ถัดไป
ภารกิจพื้นฐานที่ LLM ส่วนใหญ่ได้รับการฝึกอบรม (โดยเฉพาะโมเดลเชิงสร้างสรรค์อย่าง GPT) คือ การสร้างแบบจำลองภาษา โมเดลจะเรียนรู้การทำนาย token ถัดไป (คำหรือส่วนของคำ) ในลำดับ โดยอาศัย token ก่อนหน้าทั้งหมด ในเชิงรูปแบบ โมเดลจะทำให้ความน่าจะเป็นของลำดับ สูงสุด โดยการแยกย่อยตามกฎลูกโซ่:
สำหรับการฝึกอบรม จะใช้ ฟังก์ชันการสูญเสียแบบ cross-entropy ซึ่งวัดความแตกต่างระหว่างการกระจายความน่าจะเป็นที่โมเดลทำนายกับ token ถัดไปที่แท้จริง
ขั้นตอนการฝึกอบรม
กระบวนการฝึกอบรม LLM โดยทั่วไปประกอบด้วยสองขั้นตอนหลัก
1. Pre-training - การฝึกอบรมขั้นต้น
นี่คือขั้นตอนที่ใหญ่ที่สุดและต้องใช้การคำนวณมากที่สุด ซึ่งโมเดลจะได้รับความรู้พื้นฐานเกี่ยวกับภาษาและโลก
- ข้อมูล: โมเดลได้รับการฝึกอบรมบนคลังข้อความขนาดมหึมาที่ไม่มีการติดป้ายกำกับ ซึ่งอาจมีปริมาณสูงถึงหลายล้านล้าน token แหล่งข้อมูลได้แก่ หน้าเว็บ (เช่น Common Crawl) วิกิพีเดีย ห้องสมุดดิจิทัล (Google Books) และคลังโค้ด (GitHub)
- เป้าหมาย: สร้างการแสดงแทนภาษาแบบสากล โมเดลเรียนรู้ไวยากรณ์ วากยสัมพันธ์ ข้อเท็จจริง และแม้กระทั่งองค์ประกอบบางอย่างของการให้เหตุผลเชิงตรรกะ
- กระบวนการ: นี่คือการเรียนรู้แบบ self-supervised learning ซึ่งป้ายกำกับ (token ถัดไปที่ถูกต้อง) ถูกดึงออกมาจากข้อมูลนั้นเอง การฝึกอบรมอาจใช้เวลาหลายสัปดาห์หรือหลายเดือนบนคลัสเตอร์ที่มี GPU หรือ TPU หลายพันตัว
2. Fine-tuning และ Alignment - การปรับแต่งและการปรับให้สอดคล้อง
หลังจากการฝึกอบรมขั้นต้น โมเดล "ดิบ" จะต้องได้รับการปรับให้เหมาะกับงานเฉพาะและสอดคล้องกับความคาดหวังของมนุษย์
- Supervised Fine-tuning - การปรับแต่งแบบมีผู้สอน: โมเดลได้รับการ fine-tuning บนชุดข้อมูลที่มีการติดป้ายกำกับขนาดเล็กแต่มีคุณภาพสูง (เช่น คู่ "คำสั่ง-คำตอบ") เพื่อให้เรียนรู้การปฏิบัติตามคำสั่ง
- Reinforcement Learning from Human Feedback (RLHF) - การเรียนรู้แบบ Reinforcement Learning จากข้อมูลป้อนกลับของมนุษย์: นี่คือวิธีหลักสำหรับ Alignment กระบวนการประกอบด้วยหลายขั้นตอน:
- ผู้ติดป้ายกำกับที่เป็นมนุษย์จะจัดอันดับคำตอบหลายชุดของโมเดลสำหรับคำถามเดียวกัน จากดีที่สุดไปยังแย่ที่สุด
- ข้อมูลเหล่านี้ถูกใช้ฝึก reward model ซึ่งเรียนรู้การทำนายว่ามนุษย์จะชอบคำตอบใด
- LLM หลักได้รับการ fine-tuning ด้วยอัลกอริทึม Reinforcement Learning (เช่น PPO) โดยใช้ reward model เป็นแหล่งสัญญาณ เพื่อสร้างคำตอบที่มีประโยชน์ ซื่อสัตย์ และปลอดภัยมากขึ้น
แนวทางสองขั้นตอนนี้ (pre-training + fine-tuning/alignment) ได้กลายเป็นมาตรฐานในอุตสาหกรรม ช่วยให้สร้างโมเดลภาษาที่ทรงพลังและในขณะเดียวกันก็ควบคุมได้
แง่มุมเชิงปฏิบัติ
ข้อมูล: การรวบรวม ขนาด และการเตรียมการ
คุณภาพและขนาดของข้อมูลเป็นปัจจัยชี้ขาดความสำเร็จของ LLM
- การรวบรวม: ใช้แหล่งข้อมูลที่หลากหลายเพื่อให้ครอบคลุมหัวข้อ รูปแบบ และภาษาอย่างกว้างขวาง
- การทำความสะอาดและกรอง: ขั้นตอนที่สำคัญยิ่ง ประกอบด้วยการลบข้อมูลซ้ำ การกรองเนื้อหาที่มีคุณภาพต่ำหรือเป็นพิษ และการปรับสมดุลแหล่งข้อมูล เพื่อไม่ให้โมเดลเรียนรู้มากเกินไปจากภาษาอินเทอร์เน็ตเฉพาะกลุ่ม
- การ tokenize: ข้อความถูกแบ่งออกเป็น token (คำหรือส่วนของคำ) ด้วยอัลกอริทึมอย่าง BPE หรือ SentencePiece การเลือก tokenizer และขนาดของคลังคำศัพท์ส่งผลโดยตรงต่อประสิทธิภาพและคุณภาพของโมเดล
การฝึกอบรมแบบกระจาย และทรัพยากรการคำนวณ
การฝึกอบรมโมเดลที่มีหลายร้อยพันล้านหรือหลายล้านล้านพารามิเตอร์ต้องการทรัพยากรการคำนวณมหาศาลและการใช้เทคนิคการฝึกอบรมแบบกระจาย
- ฮาร์ดแวร์: ใช้ซูเปอร์คอมพิวเตอร์ที่ประกอบด้วย GPU หลายพันตัว (เช่น NVIDIA A100/H100) หรือ TPU (Google) ที่เชื่อมต่อกันด้วยเครือข่ายความเร็วสูง (เช่น InfiniBand)
- Parallelism - การทำงานขนาน: ใช้รูปแบบ Parallelism ที่ซับซ้อนเพื่อกระจายการคำนวณ:
- Data Parallelism: สำเนาโมเดลแต่ละชุดบน GPU แต่ละตัวจะประมวลผลข้อมูลส่วนของตัวเอง
- Model Parallelism: โมเดลถูกแบ่งออกเป็นส่วน ๆ ที่วางบน GPU ต่าง ๆ ประกอบด้วย tensor parallelism (การแบ่งเมทริกซ์) และ pipeline parallelism (การแบ่งชั้น)
- ZeRO (Zero Redundancy Optimizer): เทคโนโลยีที่พัฒนาโดย Microsoft DeepSpeed ซึ่งขจัดการซ้ำซ้อนของพารามิเตอร์ gradient และสถานะของ optimizer ช่วยให้ฝึกอบรมโมเดลขนาดใหญ่กว่าได้มาก
- Frameworks: สำหรับการนำรูปแบบที่ซับซ้อนเหล่านี้ไปใช้ จะใช้ framework เฉพาะทาง เช่น DeepSpeed, Megatron-LM และ Hugging Face Accelerate
วิวัฒนาการทางประวัติศาสตร์ของแนวทาง
- ทศวรรษ 1980-1990: โมเดลภาษาเชิงสถิติที่อิงบน n-gram
- ปี 2001-2010: การเกิดขึ้นของโมเดลภาษา Neural Network บนพื้นฐาน RNN และ LSTM ที่สามารถจับความสัมพันธ์ระยะยาวได้ดีกว่า
- ปี 2017: การตีพิมพ์บทความ «Attention Is All You Need» และการเกิดขึ้นของสถาปัตยกรรม Transformer ที่ทำให้การฝึกอบรมแบบขนานเป็นไปได้
- ปี 2018-2019: การเกิดขึ้นของ transformer ที่ผ่านการ pre-train ตัวแรก ได้แก่ GPT-1 และ BERT ซึ่งยืนยันกรอบแนวคิด «pre-training + fine-tuning»
- ปี 2020: การเปิดตัว GPT-3 ถือเป็นความก้าวหน้าในด้านขนาดและการปรากฏของความสามารถแบบ few-shot ที่เกิดขึ้นโดยฉับพลัน
- ปี 2022: การเปิดตัว ChatGPT และการเผยแพร่ RLHF ในฐานะวิธีหลักสำหรับการสร้าง AI assistant ที่มีประโยชน์และปลอดภัย
- ปี 2023-ปัจจุบัน: ยุคของโมเดลหลายโมดัล (GPT-4, Gemini) การแข่งขันเพื่อขยายหน้าต่างบริบท และการพัฒนาความสามารถเชิง agent
เอกสารอ้างอิง
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
- Brown, T. et al. (2020). Language Models are Few-Shot Learners. NIPS.
- Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155.
ลิงก์
- บทนำสู่ LLM — หลักสูตรจาก Hugging Face