คุยกับ AI ตอนที่ 1: การ Train LLM คืออะไร
เริ่มจากคำถามว่าการฝึก LLM ทำอะไรกับ weights แล้วแยก Pre-training, Fine-tuning, RAG และการใส่ข้อมูลในบริบทออกจากกัน
ตอนที่ 1 จาก 11 ตอนในชุด คุยกับ AI: จากการ Train LLM ถึง AGI
บันทึกบทสนทนาระหว่าง นพ.สุทธิศักดิ์ เด่นดวงใจ กับ ChatGPT-5.6 Reasoning Instant จากแชตต้นฉบับ คงคำอธิบายและตัวอย่างของ ChatGPT ไว้ โดยปรับหัวข้อ ตาราง และสัญลักษณ์สมการให้อ่านบนเว็บได้สะดวก
ผม: อะไรคือการ Train LLM
ChatGPT-5.6 Reasoning Instant:
การ Train LLM (Large Language Model) คือการทำให้โมเดลเรียนรู้รูปแบบของภาษา ความรู้ และวิธีแก้ปัญหา จากข้อมูลจำนวนมหาศาล โดยปรับค่าตัวเลขภายในโมเดลที่เรียกว่า weights/parameters ให้ทำนายสิ่งที่ควรตามมาได้ดีขึ้น
ถ้าพูดแบบง่ายที่สุด:
LLM คือเครื่องทำนาย token ถัดไปที่ถูกฝึกจนเก่งมากเสียจนพฤติกรรมที่เกิดขึ้นดูเหมือนการอ่าน เขียน อธิบาย เขียนโปรแกรม และใช้เหตุผล
1. ตอนเริ่ม Train มันทำอะไร?
สมมติในข้อมูลมีประโยค:
The cat sat on the ___
เราอาจต้องการให้โมเดลทำนายว่า
mat
แต่ตอนโมเดลยังไม่เก่ง มันอาจทำนาย:
car 30%
table 20%
mat 5% ← คำตอบจริง
banana 2%
...
ระบบคำนวณว่าโมเดลผิดมากแค่ไหน เรียกว่า Loss
จากนั้นใช้ backpropagation + optimizer คำนวณว่าควรขยับ parameters ของ neural network ไปทางไหน
Training data
↓
Tokenizer
↓
Tokens
↓
Transformer
↓
Predict next token
↓
Compare with actual token
↓
Loss
↓
Backpropagation
↓
Update weights
↺
ทำซ้ำมหาศาล
นี่คือหัวใจของคำว่า training จริง ๆ
2. แต่ LLM สมัยใหม่ไม่ได้ Train แค่รอบเดียว
โมเดลอย่าง GPT, Claude, Gemini หรือ Llama โดยคร่าว ๆ จะผ่านหลายขั้นตอน
ขั้นแรก: Pre-training 🏋️
เอาข้อมูลจำนวนมหาศาล เช่น
Books
Web pages
Wikipedia
Academic papers
Code
Documentation
Forums
...
มาให้โมเดลเรียนรู้การทำนาย token
เช่น
ประเทศไทยมีเมืองหลวงคือ → กรุงเทพฯ
public static void Main( → string[] args
Newton's second law is → F = ma
หลังจากทำแบบนี้จำนวนมหาศาล โมเดลไม่ได้แค่จำประโยค แต่ parameters เริ่ม encode patterns และ relationships ต่าง ๆ
เช่น
Paris → France
Tokyo → Japan
C# → .NET
Python → pip
dog → animal
salmon → fish
รวมถึง pattern ที่ซับซ้อนกว่านั้นมาก
3. Post-training 🎓
Pre-trained model อย่างเดียวอาจเก่งเรื่องภาษา แต่ยังไม่จำเป็นต้องเป็น assistant ที่ดี
ตัวอย่าง เราถาม:
อธิบาย Docker ให้ผมหน่อย
โมเดลอาจตอบต่อข้อความแบบหนังสือ หรือสร้างข้อความแปลก ๆ เพราะเป้าหมายเดิมของมันคือ predict tokens ไม่ใช่ ช่วยมนุษย์
จึงมีขั้นตอนเพิ่มเติม เช่น Supervised Fine-Tuning (SFT)
ให้ตัวอย่างประมาณ:
USER:
Explain Docker simply.
ASSISTANT:
Docker lets you package an application...
โมเดลเรียนรู้ว่าเมื่อได้รับ instruction ลักษณะนี้ ควรตอบอย่างไร
4. Preference / Reinforcement Learning
ขั้นต่อมาคือสอนว่า คำตอบแบบไหนดีกว่า
เช่นให้โมเดลตอบ 3 แบบ:
A: ยาวมากแต่ผิด
B: ถูกต้อง กระชับ เข้าใจง่าย
C: ถูกบางส่วน
แล้วมีข้อมูล preference ว่า
B > C > A
จากนั้นใช้เทคนิคอย่าง RLHF, RLAIF, reward models หรือ preference-optimization approaches ต่าง ๆ เพื่อผลักพฤติกรรมของโมเดลไปในทิศทางที่ต้องการ
ดังนั้น assistant ที่เราใช้อยู่จึงไม่ใช่แค่
Pretrained LLM
แต่ประมาณว่า
Raw data
↓
Pre-training
↓
Base model
↓
Instruction / supervised training
↓
Preference + reinforcement/post-training
↓
Safety & behavior training
↓
Assistant model
รายละเอียดจริงแตกต่างกันตามแต่ละบริษัทและแต่ละ generation ของโมเดล
5. สิ่งสำคัญมาก: Training ≠ ใส่ข้อมูลเข้า Database
อันนี้คนมักเข้าใจผิด
สมมติเรา train ด้วยประโยคว่า
Suttisak likes The Sims.
ไม่ได้หมายความว่าข้างในโมเดลมีตารางแบบนี้:
SELECT fact
FROM knowledge
WHERE person = 'Suttisak';
ไม่มี database แบบนั้น
สิ่งที่เปลี่ยนคือ weights จำนวนมหาศาลของ neural network
ประมาณ:
Before training
weight_123 = 0.03721
After training
weight_123 = 0.03724
และมี parameters อื่นอีกมหาศาลเปลี่ยนพร้อมกัน
ความรู้จึงถูก กระจายอยู่ใน parameters ไม่ได้เก็บเป็น record ชัด ๆ
นี่เป็นเหตุผลหนึ่งที่ LLM สามารถรู้เรื่องมาก แต่บางครั้ง hallucinate ได้ เพราะมันไม่ได้เปิดฐานข้อมูลแล้ว retrieve fact ที่ถูกต้องทุกครั้ง
6. แล้ว Fine-tuning ต่างจาก Training อย่างไร?
จริง ๆ fine-tuning ก็เป็น training ชนิดหนึ่ง แต่ต่างกันที่จุดเริ่มต้น
Pre-training
Random / initial weights
↓
ข้อมูลมหาศาล
↓
General-purpose LLM
ส่วน
Fine-tuning
Existing LLM
↓
ข้อมูลเฉพาะทางจำนวนเล็กกว่ามาก
↓
Specialized model
เช่นคุณอาจมีโมเดลทั่วไป แล้ว fine-tune ด้วยตัวอย่างรายงานเฉพาะทางเพื่อให้ รูปแบบการตอบ และศัพท์ตรงกับงานมากขึ้น
แต่ถ้าจุดประสงค์คือให้มันรู้ข้อมูลล่าสุดจากเอกสารขององค์กร การ fine-tune มัก ไม่ใช่คำตอบที่ดีที่สุด
ตรงนั้นจะเข้าสู่เรื่อง RAG แทน:
Question
↓
Search documents
↓
Retrieve relevant passages
↓
Give them to LLM
↓
Generate answer
RAG ไม่ได้เปลี่ยน weights เลย
นี่คือความแตกต่างใหญ่:
วิธี: Pre-training
- เปลี่ยน weights?: ✅
- เหมาะกับ: สร้าง LLM
วิธี: Fine-tuning
- เปลี่ยน weights?: ✅
- เหมาะกับ: เปลี่ยนพฤติกรรม/ความเชี่ยวชาญ
วิธี: RAG
- เปลี่ยน weights?: ❌
- เหมาะกับ: ให้ข้อมูลจากเอกสารภายนอก
วิธี: Prompting
- เปลี่ยน weights?: ❌
- เหมาะกับ: บอกว่าจะให้ทำอะไร
วิธี: Context window
- เปลี่ยน weights?: ❌
- เหมาะกับ: ให้ข้อมูลชั่วคราวในบทสนทนา
ถ้าจะเข้าใจ LLM ให้ทะลุจริง ๆ จุดที่น่าสนใจต่อคือ “ทำไมแค่บังคับให้ทาย token ถัดไป ถึงกลายเป็นโมเดลที่เขียน C#, แปลภาษา และแก้โจทย์คณิตศาสตร์ได้?” ตรงนั้นคือส่วนที่มหัศจรรย์และแปลกประหลาดที่สุดของ LLM 🧠⚙️
ตอนถัดไป: ทาย token ถัดไป แล้วเขียนโปรแกรมได้อย่างไร →
อ่านทั้งชุด
- คุยกับ AI ตอนที่ 1: การ Train LLM คืออะไร (ตอนนี้)
- คุยกับ AI ตอนที่ 2: ทาย token ถัดไป แล้วเขียนโปรแกรมได้อย่างไร
- คุยกับ AI ตอนที่ 3: Context, Attention และความจำระหว่างคุย
- คุยกับ AI ตอนที่ 4: ทำไมคิดนานขึ้นจึงอาจตอบได้ดีขึ้น
- คุยกับ AI ตอนที่ 5: GPU, VRAM และโครงสร้างพื้นฐานที่ใช้ฝึก LLM
- คุยกับ AI ตอนที่ 6: จาก Base Model มาเป็น Assistant
- คุยกับ AI ตอนที่ 7: LLM จำ เรียนรู้ หรือเดาคำตอบ
- คุยกับ AI ตอนที่ 8: ตาม token ผ่าน Transformer ทีละขั้น
- คุยกับ AI ตอนที่ 9: จาก LLM สู่ระบบ AI และ Agent
- คุยกับ AI ตอนที่ 10: เพิ่ม compute ให้ตอนฝึกหรือตอนตอบ
- คุยกับ AI ตอนที่ 11: จาก LLM ที่เก่งขึ้นไปสู่คำถามเรื่อง AGI