ข้ามไปยังเนื้อหาหลัก
Kobkrit Viriyayudhakorn
CEO, iApp Technology
ดูผู้เขียนทั้งหมด

ให้ AI รับโทรศัพท์บริษัทแทนคน: เบอร์ 02 + Asterisk + Gemini Live (Kobkrit.com Live EP.1)

· อ่าน 9 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

บริษัทขนาดกลางแทบทุกที่เจอปัญหาเดียวกัน: ลูกค้าโทรมาเรื่องด่วน แต่คนที่ควรรับสายติดประชุมอยู่ สายก็หลุดไป ผมเลยลองให้ AI รับโทรศัพท์ของบริษัทแทนคน ตอบเป็นภาษาไทย ค้นข้อมูลจากคลังความรู้ของบริษัท ยืนยันตัวตนลูกค้า เปิด Ticket และส่ง Lead ให้ทีมขายต่อได้เอง ค่าเบอร์เริ่มต้น 500 บาทต่อเดือน ส่วนค่า AI ผมประเมินไว้ราว 1 บาทต่อนาที

OpenThai 2.0 Legal ขึ้น TH-AI Passport แล้ว: โมเดลกฎหมายไทยที่ตอบพร้อมบอกมาตรา

· อ่าน 7 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

OpenThai 2.0 Legal เพิ่งขึ้นแพลตฟอร์ม AiPASS ของกระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม (DE) ใครมี TH-AI Passport ลองได้เลย จุดต่างจากโมเดลทั่วไปคือมันตอบคำถามกฎหมายพร้อมบอกว่าอยู่ พ.ร.บ. ไหน มาตราอะไร โดยค้นจากตัวบทจริงกว่า 2,000 ฉบับ ไม่ได้ตอบจากความจำอย่างเดียว และเป็นโมเดลแบบ open-weight ที่ดาวน์โหลดไปรันเองได้

OpenThai-SystemOne v1.0 เดโมแรก: สั่งคอมพิวเตอร์ด้วยเสียงภาษาไทย ไม่แตะเมาส์เลยสักครั้ง

· อ่าน 6 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

ทำได้แล้ว! สั่งคอมพิวเตอร์ด้วย เสียงภาษาไทยล้วนๆ ไม่แตะเมาส์ ไม่แตะคีย์บอร์ดเลยสักครั้ง ค้นราคาทอง เปิด YouTube หาโรงพยาบาลใกล้บ้าน ไปจนถึงกดไลก์และคอมเมนต์ Facebook นี่คือเดโมแรกของ OpenThai-SystemOne v1.0 โมเดลโอเพนซอร์สขนาดไม่ถึง 1B ที่มองเห็นหน้าจอได้ ในคลิปผมพูดอย่างเดียว แล้วเครื่องก็ทำตาม

[LLM 1/10] Continue Pretraining: สอนความรู้ใหม่ให้ LLM ภาษาไทย

· อ่าน 4 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

โมเดลภาษาขนาดใหญ่ที่เก่งภาษาไทยระดับหนึ่ง มักจะ "ไม่รู้จัก" ความรู้เฉพาะทางขององค์กรคุณเลย — ไม่รู้ระเบียบราชการไทย ไม่รู้ศัพท์เฉพาะในวงการของคุณ ไม่รู้เอกสารภายในบริษัท บทความนี้จะสอนวิธีแก้ที่ตรงที่สุด คือ Continue Pretraining (CPT) ตั้งแต่สมการ ไปจนถึงโค้ดที่รันจบได้จริงบน Colab ฟรีภายในราว 15 นาที

[LLM 2/10] SFT + LoRA: สอนโมเดลให้เป็นผู้ช่วย ด้วยการเทรน 1.69% ของพารามิเตอร์

· อ่าน 8 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

บทที่แล้วเราใช้ Continue Pretraining ใส่ความรู้เข้าไปในน้ำหนักโมเดล แต่โมเดลที่ "รู้" ไม่ได้แปลว่าโมเดลที่ "ตอบ" — โมเดล base มีอาชีพเดียวคือเขียนข้อความต่อ บทนี้จะสอน SFT (Supervised Fine-Tuning) ด้วย LoRA: เทคนิคที่เทรนแค่ราว 1.7% ของพารามิเตอร์ แต่เปลี่ยนพฤติกรรมของโมเดลได้ทั้งตัว — จบใน ~15 นาทีบน Colab ฟรี และสิ่งที่ได้กลับมาคือไฟล์ adapter ขนาดราว 40 MB ที่จะกลายเป็นกระดูกสันหลังของบทที่เหลือทั้งซีรีส์

[LLM 3/10] RLHF และ PPO: เทรนโมเดลด้วยรางวัลที่หาอนุพันธ์ไม่ได้

· อ่าน 11 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

บทที่ 2 เราสอนโมเดลด้วยการ "เลียนแบบเฉลย" ทีละ token แต่คุณสมบัติที่ทำให้ผู้ช่วย AI ใช้งานได้จริง — ตอบถูก สุภาพ ไม่มั่ว ไม่หลุดเป็นภาษาอังกฤษ — ไม่มีเฉลยให้เลียนแบบ และเขียนเป็น loss function ตรง ๆ ไม่ได้ บทนี้คือคำตอบแบบดั้งเดิมที่สุดของปัญหานั้น: RLHF (Reinforcement Learning from Human Feedback) ด้วย PPO เราจะเทรน reward model จริงจากคู่ preference ภาษาไทย แล้วเขียนลูป PPO เองจากศูนย์ราว 120 บรรทัด และปิดท้ายด้วยการทดลองที่ผมชอบที่สุดในซีรีส์: ถอดสายจูง KL ออก แล้วดูโมเดลโกงรางวัลกันสด ๆ นี่คือบทที่หนักที่สุดของซีรีส์โดยตั้งใจ เพราะบทที่ 4 (DPO) และบทที่ 5 (GRPO) ต่างก็เริ่มจากสมการของบทนี้ แล้วเลือก "ลบ" ชิ้นส่วนออกคนละชิ้น

[LLM 4/10] DPO: เมื่อโมเดลภาษากลายเป็น reward model ของตัวเอง

· อ่าน 7 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

บทที่แล้วเราทำ RLHF ด้วย PPO และคุณคงเห็นแล้วว่ามันมีชิ้นส่วนเยอะแค่ไหน — ต้องเทรน reward model แยกหนึ่งตัว ต้องโหลดโมเดลพร้อมกัน 4 ตัวใน VRAM ต้องจูน PPO อีกสิบกว่าพารามิเตอร์ และถ้า reward model เพี้ยน โมเดลจะไปเจอทางลัดที่โกงคะแนนได้ บทนี้เราจะทำสิ่งเดียวกันด้วยลูป training ธรรมดาแบบ supervised — ไม่มี reward model ไม่มี RL และที่สำคัญคือ มันไม่ใช่การประมาณ เราจะพิสูจน์ด้วยพีชคณิตว่าทั้งสองชิ้นนั้นตัดกันหายไปจริง ๆ

[LLM 5/10] GRPO: ลบ value network ทิ้ง แล้วให้กลุ่มคำตอบเป็น baseline ของกันเอง

· อ่าน 9 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

บทที่แล้วเราปิดท้ายด้วยช่องว่างของ DPO: มันจัดอันดับได้เฉพาะคำตอบที่มีคนเตรียมไว้ในไฟล์ ส่วนบทที่ 3 เราจ่ายราคาเต็มของ PPO: โมเดล 4 ตัวใน VRAM และ value network ทั้งตัวที่ต้องเทรนเพิ่ม บทนี้เราจะเอาข้อดีของทั้งสองมารวมกัน — ให้โมเดลสุ่มคำตอบของตัวเองมาเรียนแบบ RL จริง ๆ แต่ลบ value network ทิ้งทั้งก้อน ด้วยข้อสังเกตทางสถิติที่เรียบง่ายจนน่าหงุดหงิดว่าทำไมไม่มีใครคิดก่อน: ถ้าสุ่มคำตอบหลายอันต่อโจทย์เดียวกัน ค่าเฉลี่ย reward ของกลุ่มก็คือ baseline ที่ value network พยายามประมาณอยู่แล้ว และถ้าโจทย์ตรวจคำตอบได้ด้วยโค้ด เราไม่ต้องใช้ข้อมูล preference จากมนุษย์เลย — ศูนย์คู่ ศูนย์บาท

[LLM 6/10] Context Distillation: ย้าย system prompt เข้าไปเก็บในน้ำหนักโมเดล

· อ่าน 8 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

ทุกครั้งที่ผู้ใช้ส่งข้อความหาแชตบอตของคุณ คุณแนบ system prompt ก้อนเดิมยาวหลายร้อย token ไปด้วยเสมอ — ทุก request ตลอดอายุของระบบ จ่ายซ้ำไม่มีวันจบ บทนี้เราจะย้ายความรู้ก้อนนั้นจาก prompt เข้าไปอยู่ในน้ำหนักโมเดลด้วยเทคนิคชื่อ Context Distillation ในเวอร์ชัน on-policy (OPCD) จุดที่สวยที่สุดคือ ครูกับนักเรียนเป็นโมเดลตัวเดียวกันเป๊ะ ๆ — สิ่งเดียวที่ต่างกันคือใครได้เห็น prompt

[LLM 7/10] Model Distillation: คำตอบที่ผิดของครู คือส่วนที่มีค่าที่สุด

· อ่าน 9 นาที
Kobkrit Viriyayudhakorn
CEO, iApp Technology

บทที่ 6 เรากลั่น "บริบท" เข้าไปในน้ำหนักของโมเดลตัวเดิม บทนี้เราจะกลั่น "โมเดลทั้งตัว" ลงไปในโมเดลที่เล็กกว่า สองบทนี้เป็นคู่กันโดยตั้งใจ: context distillation เปลี่ยนสิ่งที่โมเดลรู้โดยไม่ต้องบอกมันอีกต่อไป — model distillation เปลี่ยนขนาดของโมเดลโดยพยายามไม่เปลี่ยนสิ่งที่มันทำได้ และหัวใจของบทนี้ขัดสัญชาตญาณอย่างแรง: สิ่งที่มีค่าที่สุดที่ครูส่งให้นักเรียนได้ ไม่ใช่คำตอบที่ถูก แต่คือวิธีที่ครูผิด — และปุ่มที่ชื่อ temperature คือสิ่งที่ทำให้เรามองเห็นมัน