SLM Distillation คืออะไร? วิธีสร้างโมเดลขนาดเล็กเฉพาะทางจาก LLM ขนาดใหญ่

SLM Distillation คือเทคโนโลยีการถ่ายทอดความรู้จาก Large Language Model (LLM) ไปยัง Small Language Model (SLM) บทความนี้จะอธิบายพื้นฐานของ Knowledge Distillation ขั้นตอนการนำไปใช้งาน รวมถึงข้อผิดพลาดที่พบบ่อยและแนวทางการแก้ไข สำหรับวิศวกรและสถาปนิกที่กำลังพิจารณาการนำ Private AI ไปใช้ในสภาพแวดล้อม On-premise หรือ Edge
SLM distillation คือเทคโนโลยีในการถ่ายทอดความรู้ที่ Large Language Model (LLM) ได้เรียนรู้มา ไปยังโมเดลภาษาขนาดเล็กกว่า (SLM) อย่างมีประสิทธิภาพ ในฐานะที่เป็นหนึ่งในวิธีการของ knowledge distillation เทคโนโลยีนี้พัฒนาต่อยอดมาจากงานวิจัยที่ Hinton และคณะเผยแพร่ในปี 2015 และในช่วงหลังมานี้ถูกนำไปใช้อย่างแพร่หลายในการสร้าง SLM ที่มีพารามิเตอร์ต่ำกว่า 7B ให้เป็นโมเดลเฉพาะทางสำหรับงานธุรกิจ
บทความนี้เขียนขึ้นสำหรับวิศวกรและสถาปนิกระบบที่กำลังพิจารณานำ Private AI มาใช้งานในสภาพแวดล้อมแบบ on-premise หรือ edge AI เมื่ออ่านจบ คุณจะเข้าใจ 3 ประเด็นต่อไปนี้ได้อย่างเป็นระบบ
บทสรุป: SLM distillation คือเทคโนโลยีในการถ่ายทอดความรู้ของ LLM ขนาดใหญ่ไปยังโมเดลขนาดเล็ก และเป็นวิธีการหลักสำหรับการสร้าง Private AI
วิธีการนี้เป็นการนำแนวคิดของ knowledge distillation มาประยุกต์ใช้กับ LLM โดยมีรากฐานจากหลักการที่ Hinton และคณะนำเสนอไว้ในปี 2015
ความแตกต่างระหว่าง Knowledge Distillation และ Knowledge Transfer
ในตอนแรกหลายคนมักคิดว่า "knowledge transfer กับ knowledge distillation (การกลั่นความรู้) มีความหมายเหมือนกัน" แต่ในความเป็นจริงแล้ว distillation เป็นเพียงหนึ่งในวิธีการนำ knowledge transfer มาใช้ ซึ่งทั้งสองมีความแตกต่างกันอย่างชัดเจนทั้งในด้านวัตถุประสงค์ กระบวนการ และผลลัพธ์ที่ได้
ความแตกต่างหลักของทั้งสองมีดังนี้
- Knowledge transfer: เป็นคำในความหมายกว้าง หมายถึงแนวคิดโดยรวมของการถ่ายทอดความรู้ระหว่างบุคคล องค์กร หรือระบบ ครอบคลุมทั้งการจัดทำเอกสาร การฝึกอบรม รวมถึงการคัดลอกค่าน้ำหนักของโมเดลด้วย
- Knowledge distillation (การกลั่นความรู้): เป็นวิธีการทาง machine learning ที่เฉพาะเจาะจง โดยใช้การกระจายผลลัพธ์ (soft label) ของ teacher model มาฝึก student model ซึ่ง Geoffrey Hinton และคณะได้กำหนดรูปแบบไว้ในงานวิจัยที่เผยแพร่ในปี 2015 ชื่อ "Distilling the Knowledge in a Neural Network" (arXiv:1503.02531)
หัวใจสำคัญของ distillation อยู่ที่ "soft label" ในการเรียนรู้แบบมีผู้สอน (supervised learning) ทั่วไปจะใช้ hard label ที่กำหนดค่า 1 ให้กับคลาสที่ถูกต้องและ 0 ให้กับคลาสอื่น ในทางกลับกัน distillation จะใช้การกระจายความน่าจะเป็นทั้งหมดที่ LLM ให้ออกมา (เช่น "แมว: 0.7, สุนัข: 0.2, เสือ: 0.1") มาเป็นสัญญาณการเรียนรู้โดยตรง ทำให้ความรู้แฝง เช่น ความสัมพันธ์ของความคล้ายคลึงระหว่างคลาส ถูกถ่ายทอดไปยัง student model ด้วย
ความแตกต่างนี้ส่งผลโดยตรงต่อการตัดสินใจในเชิงการนำไปใช้งานจริง
บทบาทของ Teacher Model และ Student Model
ใน knowledge distillation เราจะเรียก LLM ขนาดใหญ่ว่า "teacher model" และเรียก SLM (Small Language Model) ที่ถูกทำให้เบาลงว่า "student model" บทบาทของทั้งสองแยกกันอย่างชัดเจน โดย teacher เป็นแหล่งจ่ายความรู้ ส่วน student เป็นผู้รับความรู้นั้นและทำงานในสภาพแวดล้อมการใช้งานจริง
บทบาทหลักของ teacher model มีดังนี้
- สร้าง "soft label" (การกระจายความน่าจะเป็นของแต่ละ token) ต่ออินพุตที่ได้รับ
- ให้ข้อมูลที่มีความสมบูรณ์ ไม่เพียงแค่คำตอบถูกหรือผิด แต่รวมถึงความสัมพันธ์ของความคล้ายคลึงระหว่างคลาสด้วย
- ถ่ายทอด "ความรู้แฝง" ที่ student ควรจะเลียนแบบผ่านการกระจายความน่าจะเป็น
บทบาทหลักของ student model มีดังนี้
- เรียนรู้โดยใช้ soft label ของ teacher เป็นสัญญาณผู้สอน และสร้างการกระจายผลลัพธ์ในลักษณะเดียวกันขึ้นมาใหม่
- บรรลุความแม่นยำที่ใกล้เคียงกับ teacher ในงานเฉพาะทาง ในขณะที่ควบคุมจำนวนพารามิเตอร์ให้ต่ำ
- ทำการอนุมาน (inference) ในสภาพแวดล้อมที่มีข้อจำกัดด้านทรัพยากร เช่น on-premise หรือ edge
แกนสำคัญในการตัดสินใจคือความเป็นอเนกประสงค์ของงาน หากต้องการครอบคลุมโดเมนที่กว้าง ควรเลือก open-weight model ขนาดใหญ่มาเป็น teacher แต่หากต้องการเจาะจงเฉพาะเอกสารภายในองค์กรหรืองานเฉพาะบางอย่าง การให้เรียนรู้อย่างเข้มข้นด้วย synthetic data ที่สร้างจากผลลัพธ์ของ teacher จะมีประสิทธิภาพมากกว่า
ในการฝึก student นั้น จะใช้ "distillation loss" ซึ่งนำทั้งการกระจายความน่าจะเป็นของผลลัพธ์จาก teacher และ label ที่ถูกต้องมารวมไว้ในฟังก์ชันสูญเสีย (loss function)
ความแตกต่างทางสถาปัตยกรรมระหว่าง SLM และ LLM
มีวิศวกรจำนวนไม่น้อยที่รู้สึกสับสนว่า "ทั้ง SLM และ LLM ก็ใช้พื้นฐาน Transformer เหมือนกัน แล้วทำไมการทำงานถึงต่างกันขนาดนี้" การเข้าใจความแตกต่างของทั้งสองคือจุดเริ่มต้นของการออกแบบ distillation
ความแตกต่างที่เป็นพื้นฐานที่สุดคือจำนวนพารามิเตอร์ LLM มีพารามิเตอร์ตั้งแต่หลักหมื่นล้านไปจนถึงหลักแสนล้าน ในขณะที่ SLM ตามที่ระบุไว้ใน research note มีงานวิจัยจำนวนมากที่กำหนดขอบเขตหลักไว้ที่ต่ำกว่า 7B (เจ็ดพันล้าน) พารามิเตอร์ ซึ่งขนาดของโมเดลแตกต่างกันหลายเท่าตัว
ความแตกต่างหลักในเชิงสถาปัตยกรรมมีดังนี้
- จำนวน layer และจำนวน head: LLM มีทั้งจำนวนบล็อกของ Transformer และจำนวน attention head ที่มาก จึงมีความสามารถในการแสดงข้อมูลสูง ส่วน SLM จะลดสิ่งเหล่านี้ลงอย่างมากเพื่อควบคุม memory footprint
- Context window: LLM มี context window ที่กว้างเพื่อให้จัดการบริบทที่ยาวได้ แต่ SLM มักถูกลดขนาดลง จึงเกิดข้อจำกัดในการประมวลผลประวัติการสนทนาที่ยาวหรือเอกสารขนาดใหญ่
- การใช้ MoE (Mixture of Experts) หรือไม่: โมเดลขนาดใหญ่บางตัวใช้โครงสร้าง MoE เพื่อควบคุมต้นทุนการอนุมาน แต่ SLM ส่วนใหญ่ยังคงใช้โครงสร้างแบบ Dense Model (โมเดลแบบเชื่อมโยงหนาแน่น)
ข้อจำกัดเหล่านี้เชื่อมโยงโดยตรงไปสู่ความยากของการทำ distillation เนื่องจากต้องบีบอัดและถ่ายทอดการแสดงชั้นกลาง (intermediate representation) อันสมบูรณ์ที่ teacher model มีอยู่ ไปยัง student model ที่มีจำนวน layer น้อยกว่า
ทำไม SLM Distillation ถึงได้รับความสนใจในขณะนี้?

บทสรุป: ความต้องการ 3 ด้านคือ ต้นทุน ความเป็นส่วนตัว และการปรับใช้บน edge มาบรรจบกัน ทำให้ความสนใจใน SLM distillation เพิ่มขึ้นอย่างรวดเร็ว
ความต้องการ 3 ประการ ได้แก่ การหลุดพ้นจากการพึ่งพา cloud API การรักษาอธิปไตยของข้อมูล (data sovereignty) ในการใช้งานแบบ on-premise และการปรับใช้โมเดลขนาดเบาบนอุปกรณ์ edge กำลังปรากฏชัดขึ้นพร้อมกัน ในแต่ละหัวข้อ H3 เราจะเจาะลึกถึงเบื้องหลังและบริบทการใช้งานที่เป็นรูปธรรมของแต่ละด้านอย่างละเอียด
ความต้องการด้าน Private AI และการใช้งานแบบ On-premise
ในขณะที่การใช้งาน generative AI แพร่หลายมากขึ้น เสียงที่ว่า "ไม่อยากส่งข้อมูลภายในองค์กรขึ้น cloud" ก็ยังคงมีอยู่อย่างเหนียวแน่นในหน้างานจริง ในอุตสาหกรรมที่มีการกำกับดูแลเข้มงวด เช่น การแพทย์ การเงิน และการผลิต การส่งข้อมูลส่วนบุคคลหรือความลับทางการค้าให้กับ API ภายนอกนั้น มักกลายเป็นความเสี่ยงด้าน compliance โดยตรงในหลายกรณี
ในตอนแรกหลายคนมักคิดว่า "แค่ใช้ cloud API พร้อมควบคุมด้วย prompt ก็เพียงพอแล้ว" แต่ในความเป็นจริง ภาระหน้าที่ในการตรวจสอบ (audit) log การส่งข้อมูลและข้อจำกัดตามสัญญากลับกลายเป็นอุปสรรค ทำให้องค์กรจำนวนมากขึ้นเลือกที่จะพัฒนาภายในองค์กรอย่างสมบูรณ์แบบ ทั้งบน on-premise หรือ private cloud SLM distillation คือหนึ่งในวิธีการที่มีศักยภาพในการตอบโจทย์ความต้องการนี้
ปัญหาหลักในการใช้งาน Private AI แบบ on-premise มีดังนี้
- ต้นทุนการอนุมาน: การรันโมเดลขนาดใหญ่บน on-premise โดยตรงจำเป็นต้องใช้ GPU server ประสิทธิภาพสูง จึงมีแนวโน้มที่ต้นทุนในการจัดหาและบำรุงรักษาจะสูงขึ้น
- Latency: ในการเชื่อมต่อแบบเรียลไทม์กับระบบภายในองค์กร บางสถานการณ์ไม่สามารถยอมรับความล่าช้าจากการรับส่งข้อมูลไป-กลับกับ cloud ได้
- Data governance: การเก็บ log และประวัติการอนุมานไว้ภายใต้การจัดการของบริษัทเอง ช่วยให้การรับมือกับการตรวจสอบและกฎ GDPR หรือกฎระเบียบของอุตสาหกรรมทำได้ง่ายขึ้น
หากใช้ SLM distillation จะสามารถบีบอัดความรู้ของโมเดลขนาดใหญ่ให้เข้าไปอยู่ในโมเดลขนาดเล็กที่มีพารามิเตอร์ต่ำกว่า 7B ได้ ทำให้สามารถทำการอนุมานในเชิงปฏิบัติได้ แม้ในสภาพแวดล้อมที่เป็น on-premise server ที่มีอยู่เดิม หรือมี GPU เพียง 1-2 ตัว จุดที่สามารถรักษาความแม่นยำเฉพาะทางในงานธุรกิจไว้ได้ในขณะที่ตัดขาดจากการพึ่งพา cloud คือเหตุผลหลักที่ทำให้วิธีการนี้ได้รับความสนใจ
การปรับใช้กับ Edge AI และการลดต้นทุน GPU
สถานการณ์ที่ประโยชน์ของ SLM distillation ปรากฏชัดเจนที่สุดคือการปรับใช้กับ edge AI
โมเดลขนาดเล็กที่ได้จาก distillation สามารถทำการอนุมานให้เสร็จสิ้นบนอุปกรณ์ (on-device) ได้โดยไม่ต้องพึ่งพา cloud API สิ่งนี้ทำให้ได้ประโยชน์ 3 ประการพร้อมกัน คือ การขจัดความล่าช้าของเครือข่าย การลดต้นทุนการสื่อสาร และการจัดการข้อมูลให้เสร็จสิ้นภายใน on-premise วิธีนี้มีประสิทธิภาพเป็นพิเศษในการใช้งานที่ต้องการทั้ง latency และความเป็นส่วนตัว เช่น การตรวจจับความผิดปกติในสายการผลิต หรือการวินิจฉัยแบบเรียลไทม์ในสถานพยาบาล
ในแง่ของต้นทุน GPU เงื่อนไขการตัดสินใจต่อไปนี้จะเป็นเกณฑ์ในการพิจารณา
- กรณีที่ต้องทำการอนุมานจำนวนมากและต่อเนื่อง: ค่าใช้จ่ายแบบจ่ายตามการใช้งาน (pay-as-you-go) ของ cloud GPU มีแนวโน้มที่จะสะสมขึ้นเรื่อยๆ การรัน SLM ขนาดต่ำกว่า 7B บน GPU ขนาดเล็กแบบ on-premise (เช่น ใช้ระดับ T4 แทน NVIDIA A100) จึงมีแนวโน้มที่จะควบคุมต้นทุนโดยรวมได้ดีกว่า
- กรณีที่อยู่ในขั้น PoC ซึ่งมีความถี่ในการอนุมานต่ำ: การใช้ cloud API ไปตามเดิม และย้ายไป SLM ในช่วงก่อนจะขึ้น production จะช่วยประหยัดต้นทุนการพัฒนาได้มากกว่า
ในเฟสของการเรียนรู้ (distillation) เองก็เช่นกัน การสร้างผลการอนุมานของ teacher model ล่วงหน้าให้เป็น synthetic data แบบออฟไลน์ จะช่วยบีบอัดเวลา GPU ที่จำเป็นต่อการฝึก student model ลงได้ มีการรายงานถึงกรณีที่สามารถจัดการได้ด้วยการใช้ spot instance หรือการใช้งานแบบ burst โดยไม่ต้องจัดสรร GPU cluster ขนาดใหญ่ไว้ตลอดเวลา
การเปรียบเทียบกับ Fine-tuning และ Quantization
มีหน้างานจริงจำนวนไม่น้อยที่กังวลว่า "เมื่อมีทั้ง distillation, fine-tuning และ quantization วางเรียงกันอยู่ ควรจะเริ่มลงมือจากอันไหนดี" การเข้าใจวัตถุประสงค์และเฟสการนำไปใช้ของแต่ละวิธี จะช่วยให้ตัดสินใจได้ง่ายขึ้น
อันดับแรก fine-tuning คือวิธีการที่อัปเดตพารามิเตอร์ของโมเดลที่มีอยู่ด้วยการเรียนรู้เพิ่มเติม เพื่อให้ปรับตัวเข้ากับโดเมนเฉพาะ เนื่องจากขนาดของโมเดลไม่เปลี่ยนแปลง จึงเหมาะกับสถานการณ์ที่ว่า "อยากเพิ่มความแม่นยำ แต่ยังคงขนาดเดิมไว้ก็พอ" ส่วน quantization คือการลดความละเอียดเชิงตัวเลขของค่าน้ำหนัก (เช่น จาก FP32 เป็น INT8) เพื่อลดปริมาณการใช้หน่วยความจำและต้นทุนการคำนวณในขณะทำการอนุมาน จุดเด่นคือสามารถทำให้โมเดลเบาลงได้โดยยังคงโครงสร้างของโมเดลไว้ และ knowledge distillation คือวิธีการที่ฝึก student model ขนาดเล็กกว่าขึ้นมาใหม่ตั้งแต่ต้น โดยอาศัยการกระจายผลลัพธ์ของ teacher model ขนาดใหญ่เป็นแนวทาง ซึ่งมีคุณสมบัติต่างจากอีก 2 วิธีตรงที่สามารถบีบอัดขนาดของโมเดลได้โดยตรง
สรุปได้ว่า หากวัตถุประสงค์คือการปรับตัวเข้ากับโดเมน (domain adaptation) ให้เลือก fine-tuning หากต้องการทำให้โมเดลที่มีอยู่เร็วขึ้นและเบาลงตามเดิม ให้เลือก quantization และหากต้องการย้ายความสามารถของโมเดลขนาดใหญ่ไปยังโมเดลขนาดเล็ก ให้เลือก knowledge distillation นี่คือหลักการพื้นฐานในการเลือกใช้งาน
นอกจากนี้ วิธีการเหล่านี้ไม่ได้เป็นสิ่งที่ใช้แทนกันโดยไม่สามารถใช้ร่วมกันได้ การนำ student model ที่ถูกทำให้เล็กลงด้วย distillation มาทำ fine-tuning เพิ่มเติมเพื่อปรับตัวเข้ากับโดเมน แล้วสุดท้ายทำ quantization เพื่อลดต้นทุนการอนุมาน เป็นแนวทางที่ถูกนำมาใช้บ่อยในทางปฏิบัติ หากต้องการเพิ่มประสิทธิภาพทั้งด้านความแม่นยำ ความเร็ว และขนาดไปพร้อมกัน การซ้อนวิธีการเหล่านี้เข้าด้วยกันก็เป็นสิ่งที่ควรค่าแก่การพิจารณา
สิ่งที่ต้องเตรียมก่อนเริ่มทำ Distillation

บทสรุป: กุญแจสู่ความสำเร็จของ distillation อยู่ที่ขั้นตอนการเตรียมการก่อนเริ่มการเรียนรู้
การเตรียมการ 3 ประการ ได้แก่ การคัดเลือก teacher model การควบคุมคุณภาพของ synthetic data และการจัดเตรียม MLOps pipeline คือสิ่งที่กำหนดคุณภาพขั้นสุดท้ายของ student model
การเลือก Teacher Model และการใช้ประโยชน์จาก Open-weight Models
การคัดเลือก teacher model คือการตัดสินใจแรกที่กำหนดคุณภาพโดยรวมของ distillation ในตอนแรกหลายคนมักคิดว่า "ใช้โมเดล cloud API ที่มีประสิทธิภาพสูงสุดมาเป็น teacher ก็พอ" แต่ในความเป็นจริง มีหลายกรณีที่การรัน open-weight model บนสภาพแวดล้อม local จะสร้างสมดุลได้ง่ายกว่าในแง่มุม 3 ประการ คือ license ต้นทุน และอธิปไตยของข้อมูล
แกนหลักในการพิจารณาคัดเลือกมี 3 ประการดังนี้
- ความเหมาะสมกับงาน (Task adaptability): ตรวจสอบว่า teacher model มีความรู้เพียงพอเกี่ยวกับโดเมนเป้าหมาย (กฎหมาย การแพทย์ การผลิต ฯลฯ) หรือไม่ ในสาขาเฉพาะทางที่โมเดลอเนกประสงค์ไม่สามารถรับมือได้ การเลือกโมเดลที่ผ่านการเรียนรู้เพิ่มเติมในโดเมนเดียวกันจะมีประสิทธิภาพ
- ความเข้ากันได้ของ license: ในกรณีที่จะนำ soft label หรือ synthetic data ที่สร้างขึ้นไปใช้ในเชิงพาณิชย์ ให้ตรวจสอบล่วงหน้าว่า license ของ teacher model อนุญาตหรือไม่ แม้จะเป็น open-weight model แต่บาง license ก็อาจมีข้อจำกัดในการใช้งานเชิงพาณิชย์
- ต้นทุนการอนุมานและความเร็วในการให้ผลลัพธ์: เนื่องจากการสร้าง soft label ต้องประมวลผลตัวอย่างจำนวนมาก โมเดลที่มี throughput ในการอนุมานต่ำจึงกลายเป็นคอขวดของทั้ง pipeline
สำหรับแนวทางเชิงปฏิบัติในการใช้ประโยชน์จาก open-weight model นั้น การขยายขนาดแบบเป็นขั้นตอนอย่างในตระกูล LLaMA (7B / 13B / 33B / 65B) สามารถใช้เป็นข้อมูลอ้างอิงได้ โครงสร้างที่ใช้ระดับ 13B เป็น teacher แล้วกลั่นความรู้ไปยัง student ที่มีขนาดต่ำกว่า 7B เป็นการออกแบบที่รักษาคุณภาพไว้ได้ง่ายในขณะที่ควบคุมต้นทุน GPU
การสร้าง Synthetic Data และการควบคุมคุณภาพ
แม้ teacher model จะมีคุณภาพสูง แต่หากข้อมูลสำหรับการเรียนรู้ด้อยคุณภาพ ประสิทธิผลของ distillation ก็จะเสียหายอย่างมาก ในทางปฏิบัติ มีหลายกรณีที่ข้อมูลภายในองค์กรเพียงอย่างเดียวมีปริมาณไม่เพียงพอ ทำให้การใช้ประโยชน์จาก synthetic data กลายเป็นสิ่งที่ขาดไม่ได้
การสร้าง synthetic data มีแนวทางหลักที่ใช้กัน 2 วิธีดังนี้
- การสร้างโดย teacher เอง: วิธีการให้ prompt ที่หลากหลายแก่ teacher model แล้วให้ output ทั้งคำตอบและ soft label ออกมาพร้อมกัน การเตรียม template คำถามเฉพาะโดเมนไว้จะช่วยให้รวบรวมข้อมูลที่สอดคล้องกับงานธุรกิจได้อย่างมีประสิทธิภาพ
- การแปลง corpus ที่มีอยู่: วิธีการนำคู่มือภายในองค์กรหรือ FAQ ให้ LLM แล้วแปลงเป็นคู่คำถาม-คำตอบ ทั้งนี้การตรวจสอบลิขสิทธิ์และความลับของข้อมูลต้นฉบับล่วงหน้าเป็นสิ่งสำคัญ
ในการควบคุมคุณภาพ ควรหลีกเลี่ยงการนำข้อมูลที่สร้างขึ้นมาใช้ตามเดิม เพื่อเป็นเกณฑ์การกรอง (filtering) ที่เป็นรูปธรรม แนะนำให้กำหนดมุมมองต่อไปนี้
- การตรวจสอบความสอดคล้อง (Consistency check): ตรวจสอบว่า teacher ให้คำตอบที่ขัดแย้งกันเองต่อคำถามเดียวกันหรือไม่
- การคัดกรอง hallucination: คัดแถวที่มีข้อความยืนยันที่ตรวจสอบข้อเท็จจริงได้ยากออก
- การรับประกันความหลากหลาย: ลดความซ้ำซ้อนของตัวอย่างที่คล้ายกัน เพื่อไม่ให้ student model เรียนรู้การกระจายที่มีอคติ
ในแง่ของการแยกเงื่อนไข หากโดเมนแคบและมีข้อมูลภายในองค์กรเพียงพอ แนวทางการแปลงจะมีต้นทุนต่ำและมีประสิทธิภาพ แต่หากเป็นโดเมนใหม่หรือมีข้อมูลภายในองค์กรน้อย การยึดการสร้างโดย teacher เป็นแกนหลักและออกแบบ prompt ที่หลากหลาย จะนำไปสู่การเพิ่มความแม่นยำได้ง่ายกว่า
MLOps Pipeline และโครงสร้างพื้นฐานที่จำเป็น
"จำเป็นต้องเตรียมสภาพแวดล้อมการอนุมานของ teacher model และสภาพแวดล้อมการเรียนรู้ของ student แยกจากกันหรือไม่" — ในหน้างานที่ลองทำ distillation เป็นครั้งแรก คำถามเช่นนี้มักกลายเป็นอุปสรรคแรก
ในการออกแบบ MLOps pipeline โดยหลักๆ แล้วจะจัดเตรียม 3 ชั้นดังนี้
- ชั้นข้อมูล (Data layer): การสร้าง การกรอง และการจัดการเวอร์ชันของ synthetic data การใช้ feature store หรือเครื่องมือจัดการเวอร์ชันข้อมูล เช่น DVC จะทำให้ติดตามการเปลี่ยนแปลงคุณภาพได้ง่ายขึ้น
- ชั้นการเรียนรู้ (Training layer): แยกงานสร้าง soft label ด้วย teacher model และงานเรียนรู้ของ student model ออกเป็น pipeline หากหน่วยความจำ GPU มีจำกัด วิธีการประมวลผลการอนุมานของ teacher แบบ batch ล่วงหน้าแล้ว cache label ไว้จะมีประสิทธิภาพ
- ชั้นการประเมินและการปรับใช้ (Evaluation & Deploy layer): ผนวกการคำนวณตัวชี้วัดการประเมินโดยอัตโนมัติ การลงทะเบียนใน model registry และการปรับใช้ไปยังสภาพแวดล้อม on-premise หรือ edge เข้ากับ CI/CD flow
ในด้าน infrastructure นั้น GPU ระดับ NVIDIA A100 ถือว่าเหมาะที่สุด แต่หากผสมผสาน PEFT (parameter-efficient fine-tuning) หรือ LoRA เข้าไป ก็มีบางกรณีที่สามารถเรียนรู้ได้แม้บน GPU ที่มีขนาดเล็กกว่า ในกรณีที่ตั้งอยู่บนสมมติฐานของการใช้งานแบบ on-premise การผนวกการออกแบบที่ไม่ส่ง artifact ของโมเดลและข้อมูลการเรียนรู้ออกไปยัง cloud ภายนอกตั้งแต่แรกเป็นสิ่งสำคัญ
ขั้นตอนการทำ SLM Distillation มีวิธีการอย่างไร?

บทสรุป: การนำไปใช้งานจริงดำเนินการด้วย 3 ขั้นตอน คือ "การสร้าง soft label → การเรียนรู้ของ student → การประเมินและการจัดเตรียม" ลำดับและการควบคุมคุณภาพของแต่ละกระบวนการเป็นตัวกำหนดความแม่นยำของโมเดลขั้นสุดท้าย
เมื่อการเตรียมการเสร็จสมบูรณ์ ก็จะเข้าสู่เฟสการนำไปใช้งานจริงที่เป็นรูปธรรม เราจะอธิบายทีละขั้นตอนทั้ง 3 ขั้น ได้แก่ การสร้าง soft label จาก teacher model การเรียนรู้ของ student ด้วยการใช้ประโยชน์จาก PEFT และ LoRA รวมถึงการประเมินผลและการจัดเตรียม model card
Step 1: การสร้าง Soft Labels จาก Teacher Model
การสร้าง soft label คือขั้นตอนที่สำคัญที่สุดซึ่งเป็นตัวกำหนดคุณภาพโดยรวมของ distillation
ในตอนแรกหลายคนมักคิดว่า "ใช้ hard label (เฉพาะคลาสที่ถูกต้อง) ของ teacher model ตามเดิมก็พอ" แต่ในความเป็นจริง การใช้ soft label (การกระจายความน่าจะเป็นของแต่ละ token) จะช่วยเพิ่มประสิทธิภาพการ generalize ของ student model ได้อย่างมาก เนื่องจาก hard label ทิ้งข้อมูลอื่นที่ไม่ใช่คำตอบที่ถูกต้องไป ในขณะที่ soft label ได้บีบอัดความใกล้เคียงเชิงความหมายและความคลุมเครือระหว่างคำศัพท์ที่ teacher model เรียนรู้มาเอาไว้
ขั้นตอนพื้นฐานในการสร้าง soft label
- กำหนด temperature parameter: ทำให้การกระจายความน่าจะเป็นของผลลัพธ์เรียบขึ้นด้วยอุณหภูมิ T เมื่อ T=1 การกระจายจะเป็นตามเดิม แต่เมื่อ T>1 ข้อมูลจะกระจายไปยัง token ที่มีความน่าจะเป็นต่ำด้วย ทำให้ student เรียนรู้ได้ง่ายขึ้น งานวิจัยต้นฉบับของ Hinton และคณะ (arXiv:1503.02531) ก็รายงานว่าการเพิ่มค่า T ให้มากขึ้นจะช่วยเพิ่มประสิทธิภาพในการถ่ายทอด
- บันทึก logit: ในขณะทำการอนุมาน ให้เขียน logit ของ layer สุดท้าย (raw score ก่อน softmax) ออกไปยังไฟล์หรือ feature store การเก็บไว้ในรูปแบบการกระจายความน่าจะเป็นของแต่ละ token จะช่วยให้สามารถคำนวณ KL divergence loss ในขั้นตอนการเรียนรู้ที่ตามมาได้
- ประเมิน batch size และต้นทุนการอนุมาน: ในกรณีที่ประมวลผล corpus ขนาดใหญ่ ต้นทุนการอนุมานของ teacher model อาจพองตัวขึ้นเกินคาดได้ การใช้ประโยชน์จาก synthetic data เพื่อจำกัดขอบเขตเป้าหมายของการอนุมานให้อยู่ในโดเมนของงานธุรกิจ จะช่วยให้สร้างสมดุลระหว่างต้นทุนและคุณภาพได้ง่ายขึ้น
Step 2: การฝึกสอน Student Model และการใช้ PEFT/LoRA
เมื่อเตรียม soft label เสร็จแล้ว ขั้นต่อไปคือเฟสการเรียนรู้ของ student model เนื่องจากการเรียนรู้ใหม่แบบ full parameter มีต้นทุน GPU สูง ในทางปฏิบัติจึงเป็นเรื่องปกติที่จะผสมผสาน LoRA ซึ่งเป็นวิธีการตัวแทนของ PEFT (parameter-efficient fine-tuning) เข้ามาด้วย
LoRA เป็นแนวทางการเพิ่ม matrix ส่วนต่างแบบ low-rank เข้าไปในเมทริกซ์ค่าน้ำหนัก ซึ่งสามารถจำกัดพารามิเตอร์ที่ต้องอัปเดตให้เหลือเพียงประมาณไม่กี่เปอร์เซ็นต์ของทั้งหมด สิ่งนี้ทำให้มีบางกรณีที่แม้แต่ student model ระดับ 7B ก็สามารถทำการเรียนรู้ให้เสร็จสิ้นได้ด้วย GPU ระดับ consumer เพียง 1 ตัว
ในการกำหนดค่าการเรียนรู้ เงื่อนไขการแยกแยะต่อไปนี้เป็นประโยชน์ในทางปฏิบัติ
- กรณีที่มีข้อมูลเฉพาะโดเมนอย่างเพียงพอ: ตั้งค่า LoRA rank ให้สูง (เช่น rank=64) และเพิ่มจำนวน epoch การเรียนรู้ เพื่อให้ดูดซับความรู้เฉพาะทางอย่างลึกซึ้ง
- กรณีที่มีปริมาณข้อมูลจำกัด: ตั้งค่า rank ให้ต่ำ (เช่น rank=8-16) และทำ early stopping พร้อมกับ monitor validation loss อย่างเคร่งครัดเพื่อป้องกันการ overfitting
โครงสร้างมาตรฐานของ loss function คือการผสมผสาน KL divergence ต่อ soft label เข้ากับ cross-entropy ต่อ hard label สำหรับ hyperparameter ที่ใช้ปรับอัตราส่วนของทั้งสอง (เช่น อุณหภูมิ T ของ temperature scaling) ให้ปรับโดยดูจากประสิทธิภาพของ validation set
ในระหว่างการเรียนรู้ ให้ monitor ประเด็นต่อไปนี้อย่างต่อเนื่อง
Step 3: การประเมินผล การตรวจสอบ และการจัดทำ Model Card
เมื่อคิดว่า "distillation เสร็จแล้ว เหลือแค่ deploy" การข้ามเฟสการประเมินคือรูปแบบความล้มเหลวที่พบบ่อยที่สุด คุณภาพของ student model ไม่สามารถรับประกันได้หากไม่มีการประเมินเปรียบเทียบกับ teacher model
ตัวชี้วัดหลักในการประเมิน
- ความแม่นยำของงาน (Task accuracy): เปรียบเทียบคะแนนของ teacher และ student ด้วย benchmark ของงานเป้าหมาย (QA, การจำแนกประเภท, การสรุปความ ฯลฯ)
- อัตรา hallucination: ในโดเมนที่จำเป็นต้องตรวจสอบข้อเท็จจริง ให้วัดอัตราการตอบผิดแยกต่างหาก
- Latency และ throughput: วัดความเร็วในการอนุมานในสภาพแวดล้อม edge AI หรือ on-premise จริง และตรวจสอบว่าตรงตามข้อกำหนดหรือไม่
- การรองรับ context window: ทดสอบว่ามีความแม่นยำลดลงเมื่อป้อนข้อความยาวหรือไม่
โดยหลักการแล้ว ควรเตรียมข้อมูลการประเมินเป็น hold-out set ที่ไม่ได้ใช้ในการเรียนรู้ เนื่องจากการประเมินด้วย synthetic data เพียงอย่างเดียวจะทำให้มองเห็นความคลาดเคลื่อนจากการใช้งานจริงได้ยาก จึงแนะนำให้รวมตัวอย่างที่ใกล้เคียงกับงานธุรกิจจริงไว้จำนวนหนึ่งด้วย
การจัดเตรียม model card
เมื่อการประเมินเสร็จสิ้น ให้บันทึกสิ่งต่อไปนี้ลงใน model card
- ชื่อและเวอร์ชันของ teacher model
- ที่มาของข้อมูลการเรียนรู้และสัดส่วนของ synthetic data
- ตัวชี้วัดการประเมินและค่าที่บรรลุได้
- ข้อจำกัดที่ทราบ (โดเมนหรือภาษาที่ไม่รองรับ ฯลฯ)
- license และข้อจำกัดในการใช้งาน
model card ยังเชื่อมโยงโดยตรงกับการรับมือด้าน AI governance และการตรวจสอบภายในองค์กรด้วย
ข้อผิดพลาดที่พบบ่อยและแนวทางการหลีกเลี่ยง

บทสรุป: ความล้มเหลวของ distillation สรุปได้เป็น 3 รูปแบบ คือ คุณภาพที่ลดลง ความคลาดเคลื่อนของ token และความแม่นยำในการอนุมานที่ลดลง การรู้แนวทางรับมือล่วงหน้าจะช่วยป้องกันการต้องทำงานย้อนกลับ
เมื่อดำเนินการนำไปใช้งาน ปัญหาเฉพาะตัว เช่น hallucination ที่เพิ่มขึ้นหรือความคลาดเคลื่อนของ token distribution มักปรากฏชัดขึ้นได้ง่าย ในแต่ละหัวข้อ H3 เราจะอธิบายรูปแบบความล้มเหลวที่พบบ่อยและแนวทางการหลีกเลี่ยงอย่างเป็นรูปธรรม
การรับมือกับ Hallucination ที่เพิ่มขึ้นและคุณภาพที่ลดลง
ปัญหาแรกที่ student model หลังทำ distillation มักเผชิญได้ง่ายคือ การเพิ่มขึ้นของ hallucination มีการรายงานถึงกรณีที่ "ความสามารถในการตอบพร้อมกับคงความคลุมเครือไว้" ที่ teacher model มีอยู่ ไม่ได้ถูกถ่ายทอดอย่างเพียงพอในระหว่างกระบวนการ distillation
ในตอนแรกหลายคนมักคิดว่า "แค่เพิ่มขนาดของ student model ก็แก้ปัญหาได้" แต่ในความเป็นจริง การปรับปรุงคุณภาพข้อมูลและการเสริมความแข็งแกร่งของ evaluation loop มักมีประสิทธิภาพมากกว่า แทนที่จะเพิ่มขนาดโมเดล แนวทางการกรองข้อมูลด้วย confidence score ของ soft label ที่ teacher สร้างขึ้นและคัดตัวอย่างที่มีคุณภาพต่ำออก จะนำไปสู่การยับยั้งการลดลงของคุณภาพได้
ความคลาดเคลื่อนของ Token Distribution และข้อควรระวังเกี่ยวกับ BPE Tokenizer
ในกรณีที่คำศัพท์ (vocabulary) ของ teacher model และ student model ไม่ตรงกัน จะเกิดปัญหาว่าไม่สามารถถ่ายทอดการกระจายความน่าจะเป็นของ token ใน soft label ได้ตามเดิม เนื่องจาก BPE tokenizer (Byte-Pair Encoding Tokenizer) มีขนาดคำศัพท์และกฎการแบ่งที่แตกต่างกันในแต่ละโมเดล จึงมีหลายกรณีที่คำเดียวกันถูกแปลงเป็นลำดับ token ที่แตกต่างกัน
สถานการณ์ทั่วไปที่ปัญหานี้เกิดขึ้นได้ง่ายมีดังนี้
- ในกรณีที่ teacher ใช้ tokenizer ที่มีคำศัพท์ 32,000 คำ ส่วน student ใช้ 16,000 คำ จะเกิดการขาดหายในการ mapping ความน่าจะเป็น
- ในโดเมนภาษาญี่ปุ่นหรือหลายภาษา tokenizer ที่เรียนรู้มาโดยเน้นภาษาอังกฤษ อาจแบ่งตัวอักษรคันจิหรือคานะละเอียดเกินไป ทำให้ 1 ตัวอักษรกลายเป็นหลาย token
- เมื่อศัพท์เฉพาะทาง (การแพทย์ กฎหมาย การผลิต ฯลฯ) ถูกจัดเป็น token ที่ไม่รู้จัก (UNK) ปริมาณข้อมูลของ soft label จะลดลงอย่างมาก
ในแง่แกนการพิจารณาแนวทางรับมือ หาก teacher และ student ใช้ tokenizer ตระกูลเดียวกันร่วมกัน ก็สามารถใช้การกระจายความน่าจะเป็นได้โดยตรง แต่หากใช้ tokenizer ที่ต่างกัน ให้พิจารณาการทำ re-alignment ลำดับ token หรือเปลี่ยนไปทำ distillation ที่อิงกับ hard label (label ที่ถูกต้อง) แทน soft label
สรุปข้อควรระวังในการนำไปใช้งานจริงดังนี้
ความแม่นยำในการอนุมานที่ลดลงจากการลดขนาด Context Window
คุณเคยสงสัยไหมว่า "ทำไมโมเดลหลังทำ distillation ถึงมีคุณภาพคำตอบลดลงอย่างฉับพลันเมื่อป้อนเอกสารยาวๆ ให้" นี่คือปัญหาทั่วไปที่เกิดจากการลดขนาดของ context window
teacher model มีบางกรณีที่มี context window ยาวถึงหลายหมื่น token แต่ student model มักมีข้อจำกัดในจำนวน token ที่จัดการได้มากขึ้นตามการลดจำนวนพารามิเตอร์ หากในตอนเรียนรู้สร้าง soft label ด้วย input sequence ที่สั้นเพียงอย่างเดียว student model จะไม่สามารถเรียนรู้รูปแบบการอนุมานแบบ long-range dependency ได้อย่างเพียงพอ
สถานการณ์ที่ปัญหาเกิดขึ้นได้ง่ายอย่างเป็นรูปธรรมมีดังนี้
- การอ้างอิงข้ามหลายเอกสาร: งานสรุปความหรือ Q&A ที่จำเป็นต้องนำบริบทในช่วงแรกมาใช้ในคำตอบช่วงหลัง
- การอนุมานหลายขั้นตอน (Multi-step reasoning): กรณีที่ในโจทย์ซึ่งมี CoT (chain of thought) ขั้นตอนการอนุมานระหว่างทางถูกตัดทิ้ง
- การค้นหาเอกสารภายในองค์กรที่มีความยาว: กรณีที่ขนาด chunk เกินขีดจำกัดของ window เมื่อใช้ร่วมกับ RAG
แนวทางที่มีประสิทธิภาพในการหลีกเลี่ยงปัญหามีดังนี้
- จงใจรวมตัวอย่างอินพุตที่ยาวไว้ในชุดข้อมูลสำหรับ distillation
FAQ

Q1. ควรทำ distillation หรือ fine-tuning ก่อนกัน?
โดยหลักการแล้ว แนะนำลำดับที่ทำ distillation ก่อน เพื่อสร้างโมเดลขนาดเล็กที่เจาะจงเฉพาะโดเมนของงานธุรกิจ จากนั้นจึงทำ fine-tuning เฉพาะงานทับลงไป หลังจากถ่ายทอดความรู้อเนกประสงค์ของ teacher model ด้วย distillation แล้ว การทำ fine-tuning ด้วยข้อมูลงานธุรกิจคุณภาพสูงในปริมาณเล็กน้อย จะช่วยให้สร้างสมดุลระหว่างความแม่นยำและต้นทุนได้ง่ายขึ้น อย่างไรก็ตาม หาก open-weight model ที่มีอยู่เดิมนั้นเพียงพอที่จะใช้เป็นฐาน ก็มีบางกรณีที่ข้าม distillation ไปและรับมือด้วย fine-tuning เพียงอย่างเดียว
Q2. ควรเลือกใช้งานระหว่าง Local LLM และ SLM distillation อย่างไร?
Local LLM คือวิธีการรัน open-weight model บน on-premise หรือ server ของบริษัทเองตามเดิม ซึ่งมีข้อดีคือความง่ายในการนำมาใช้ ในทางกลับกัน SLM distillation คือแนวทางในการสร้างโมเดลเฉพาะของตัวเองที่เจาะจงเฉพาะงานธุรกิจ จึงเหมาะกับสถานการณ์ที่ต้องการการเพิ่มประสิทธิภาพยิ่งขึ้นในแง่ของความเร็วในการอนุมาน ต้นทุน และความเป็นส่วนตัว ในทางปฏิบัติ ควรเริ่มจากการประเมินโมเดลที่มีอยู่ในการเปรียบเทียบการนำ Local LLM / SLM มาใช้งาน — การใช้ AI โดยไม่พึ่งพา cloud API ก่อน แล้วจึงตัดสินใจเดินหน้าสู่ distillation ในกรณีที่ความแม่นยำและความเร็วไม่ตรงตามข้อกำหนด
Q3. distillation ต้องใช้ทรัพยากร GPU มากน้อยเพียงใด?
แตกต่างกันอย่างมากขึ้นอยู่กับขนาดพารามิเตอร์ของ student model ในกรณีที่มุ่งเป้าไปที่ SLM ขนาดต่ำกว่า 7B พารามิเตอร์ ในเฟสการเรียนรู้มักใช้ GPU ระดับเทียบเท่า NVIDIA A100 เป็นทั่วไป การผสมผสานวิธีการ PEFT เช่น LoRA หรือ QLoRA จะมีแนวโน้มช่วยลดปริมาณการใช้หน่วยความจำได้อย่างมากเมื่อเทียบกับ full fine-tuning ส่วนในเฟสการอนุมาน มีการรายงานว่าหากใช้ quantization ก็สามารถใช้งานได้แม้บน server GPU ทั่วไป
Q4. สามารถทำ distillation ด้วย synthetic data เพียงอย่างเดียวได้หรือไม่?
การเรียนรู้ด้วย synthetic data ที่ teacher model สร้างขึ้นเพียงอย่างเดียวนั้นเป็นไปได้ แต่หากการควบคุมคุณภาพไม่เพียงพอ ก็มีความเสี่ยงที่ hallucination จะเพิ่มขึ้น ในทางปฏิบัติ วิธีการผสมข้อมูลจริงหรือตัวอย่างที่ผ่านการรีวิวโดยมนุษย์ในปริมาณเล็กน้อยเข้าไปใน synthetic data ถือว่ามีประสิทธิภาพในการทำให้คุณภาพมีเสถียรภาพ การบันทึกเงื่อนไขการสร้าง synthetic data (temperature parameter หรือการออกแบบ prompt) และระบุไว้อย่างชัดเจนใน model card เพื่อรับประกันความสามารถในการทำซ้ำ (reproducibility) และความโปร่งใสเป็นสิ่งสำคัญ
Q5. ควรรักษาคุณภาพของโมเดลที่ทำ distillation แล้วอย่างต่อเนื่องอย่างไร?
หลังจากขึ้น production แล้ว แนะนำให้ผนวกกลไก AI observability เข้าไป และทำการ monitor คุณภาพของผลลัพธ์อย่างสม่ำเสมอ ในกรณีที่การกระจายของข้อมูลงานธุรกิจเปลี่ยนแปลงไป วงจรของการสร้าง synthetic data เพิ่มเติมด้วย teacher model และรับมือด้วย differential fine-tuning ถือว่ามีประสิทธิภาพ การผนวก flow การประเมินและการเรียนรู้ใหม่เข้าไปใน MLOps pipeline ไว้ล่วงหน้า จะช่วยป้องกันไม่ให้โมเดลล้าสมัยได้อย่างต่อเนื่อง
ควรทำ Distillation หรือ Fine-tuning ก่อนกัน?
ในตอนแรกมีหลายกรณีที่พยายามจะเริ่มจาก fine-tuning ก่อน แต่ในความเป็นจริงมีหลายกรณีที่การทำ distillation ก่อนจะได้เปรียบกว่าทั้งในด้านความแม่นยำและประสิทธิภาพขั้นสุดท้าย
เหตุผลอยู่ที่ "จุดเริ่มต้น" ของการเรียนรู้ fine-tuning ใช้ประโยชน์จากความรู้ที่ base model (Foundation Model) มีอยู่ตามเดิม แต่หาก student model มีขนาดเล็กตั้งแต่ต้น base model เพียงลำพังก็มักมีความหนาแน่นของความรู้ที่จำเป็นต่องานธุรกิจไม่เพียงพอ หากให้เรียนรู้ soft label ของ teacher LLM ด้วย distillation ก่อน ความสามารถในการแสดงข้อมูลของ student model จะถูกยกระดับขึ้น และทำให้ fine-tuning ที่ตามมาทำงานได้อย่างมีประสิทธิภาพมากขึ้น
ลำดับที่แนะนำมีดังนี้
- Step 1 — Distillation: สร้าง soft label จาก teacher LLM และถ่ายทอดความรู้อเนกประสงค์ไปยัง student model
- Step 2 — Fine-tuning (PEFT / LoRA): เรียนรู้เพิ่มเติมด้วยข้อมูลเฉพาะโดเมน เพื่อมุ่งสู่การเจาะจงเฉพาะงานธุรกิจ
- Step 3 — Quantization: บีบอัดขนาดโมเดลเพิ่มเติมสำหรับสภาพแวดล้อม edge AI หรือ on-premise
อย่างไรก็ตาม ในกรณีที่ใช้ open-weight model ที่มีขนาดเพียงพออยู่แล้วเป็นฐาน ก็มีบางกรณีที่สามารถบรรลุความแม่นยำเป้าหมายด้วย fine-tuning เพียงอย่างเดียวโดยข้าม distillation ไปได้
วิธีการเลือกใช้งานระหว่าง Local LLM และ SLM Distillation
ทั้งสองสามารถจัดระเบียบความคิดได้ง่ายขึ้นหากพิจารณาบนแกนที่ว่า "ใช้ของสำเร็จรูป หรือสร้างของเฉพาะทาง"
Local LLM คือแนวทางการรัน open-weight model บน on-premise หรือ edge ตามเดิม สามารถใช้งานได้ทันทีโดยไม่ต้องเรียนรู้เพิ่มเติม และให้ประสิทธิภาพที่เพียงพอสำหรับงานตอบคำถามทั่วไปหรือการสรุปความ ในทางกลับกัน SLM distillation เป็นการถ่ายทอดความรู้และรูปแบบผลลัพธ์เฉพาะโดเมนไปยัง student model จึงต้องแลกกับต้นทุนการสร้างในช่วงเริ่มต้น เพื่อให้ได้ความแม่นยำเฉพาะทางสำหรับงานธุรกิจ
จุดแยกในการตัดสินใจสามารถจัดระเบียบได้ดังนี้
- กรณีที่ต้องการใช้งานทันทีในงานทั่วไป ให้ใช้ Local LLM ตามเดิม
- กรณีที่ต้องการความแม่นยำสูงในโดเมนเฉพาะ (กฎหมาย การแพทย์ การผลิต ฯลฯ) ให้สร้างโมเดลเฉพาะด้วย SLM distillation
- การใช้งาน edge AI ที่ต้องการลดต้นทุนการอนุมานและ latency ให้ถึงขีดสุด โมเดลขนาดเล็กที่ทำ distillation แล้วมีแนวโน้มที่จะได้เปรียบ
แนวทางแบบเป็นขั้นตอนที่ตรวจสอบข้อกำหนดด้วย Local LLM ในขั้น PoC ก่อน แล้วย้ายไป distillation ในกรณีที่ความแม่นยำหรือความเร็วในการตอบสนองไม่ตรงตามเกณฑ์ ก็มีประสิทธิภาพเช่นกัน หากเริ่มลงมือทำ distillation ตั้งแต่แรก จะมีความเสี่ยงที่ต้องใช้แรงงานมากเกินไปในการสร้าง synthetic data และการจัดเตรียม MLOps pipeline
อนึ่ง ทั้งสองวิธีไม่ได้เป็นสิ่งที่ใช้แทนกันโดยไม่สามารถใช้ร่วมกันได้ โครงสร้างที่ใช้ Local LLM เป็น teacher model แล้วแตกโมเดลขนาดเล็กออกมาด้วย distillation ก็เป็นทางเลือกที่ใช้ได้จริงในทางปฏิบัติเช่นกัน
ผู้เขียน・ผู้ตรวจสอบ
Yusuke Ishihara
เริ่มเขียนโปรแกรมตั้งแต่อายุ 13 ปี ด้วย MSX หลังจบการศึกษาจากมหาวิทยาลัย Musashi ได้ทำงานพัฒนาระบบขนาดใหญ่ รวมถึงระบบหลักของสายการบิน และโครงสร้าง Windows Server Hosting/VPS แห่งแรกของญี่ปุ่น ร่วมก่อตั้ง Site Engine Inc. ในปี 2008 ก่อตั้ง Unimon Inc. ในปี 2010 และ Enison Inc. ในปี 2025 นำทีมพัฒนาระบบธุรกิจ การประมวลผลภาษาธรรมชาติ และแพลตฟอร์ม ปัจจุบันมุ่งเน้นการพัฒนาผลิตภัณฑ์และการส่งเสริม AI/DX โดยใช้ generative AI และ Large Language Models (LLM)


