SCT

กำลังเตรียมประสบการณ์ดิจิทัล

ฝึกโมเดลเล็ก 350 ล้านพารามิเตอร์ให้ตอบเป็น JSON ตามสคีมาได้ดีขึ้นใน 100 ขั้น ด้วยการ์ดจอฟรี

โมเดลภาษาขนาดเล็กที่รันบนเครื่องได้มักมีจุดอ่อนตรงการตอบให้ตรงรูปแบบที่ระบบต้องการ เช่น JSON ที่ผ่านสคีมา บทความจาก Hugging Face และ Liquid AI แสดงวิธีใช้การเรียนรู้แบบเสริมกำลังกับตัวอย่างเพียง 500 ชุดและการฝึก 100 ขั้นบนการ์ดจอระดับฟรี เพื่อยกอัตราตอบถูกรูปแบบขึ้นอย่างมีนัยสำคัญ พร้อมบทเรียนว่าอะไรดีขึ้นและอะไรไม่ดีขึ้น

โมเดลภาษาขนาดเล็กที่รันบนเครื่องได้มักมีจุดอ่อนตรงการตอบให้ตรงรูปแบบที่ระบบต้องการ เช่น JSON ที่ผ่านสคีมา บทความจาก Hugging Face และ Liquid AI แสดงวิธีใช้การเรียนรู้แบบเสริมกำลังกับตัวอย่างเพียง 500 ชุดและการฝึก 100 ขั้นบนการ์ดจอระดับฟรี เพื่อยกอัตราตอบถูกรูปแบบขึ้นอย่างมีนัยสำคัญ พร้อมบทเรียนว่าอะไรดีขึ้นและอะไรไม่ดีขึ้น

ทำไมผลลัพธ์แบบมีโครงสร้างถึงสำคัญกับโมเดลเล็ก

ระบบที่ใช้โมเดลภาษาในงานจริงส่วนใหญ่ไม่ได้ต้องการข้อความสวย แต่ต้องการผลลัพธ์ที่โปรแกรมอ่านต่อได้ทันที เช่น JSON ที่มีฟิลด์ครบตามสคีมา โมเดลขนาดเล็กระดับไม่กี่ร้อยล้านพารามิเตอร์น่าสนใจเพราะรันบนเครื่องหรืออุปกรณ์ปลายทางได้ แต่บนชุดทดสอบการทำตามคำสั่งเชิงโครงสร้างที่ผู้เขียนใช้ โมเดลตั้งต้นทำถูกเพียงราว 22.6% ซึ่งไม่พอสำหรับงานที่ต้องพึ่งพาได้

บทความเลือกใช้โมเดล LFM2.5 ขนาด 350 ล้านพารามิเตอร์ ชุดข้อมูลฝึกเป็นชุดสาธารณะของ NVIDIA ด้านการทำตามคำสั่งแบบมีโครงสร้าง ประมาณ 500 ตัวอย่าง และวัดผลด้วยชุดทดสอบแยกอีก 2,000 ตัวอย่าง ผู้เขียนยังปรับชุดฝึกให้ครอบคลุมกรณีที่ชุดทดสอบมีแต่ชุดฝึกขาด เช่น เติมคำสั่งให้ตอบในบล็อกโค้ด 40% ของตัวอย่าง และแปลง 20% ให้เป็นงานที่คำตอบเป็นอาร์เรย์ระดับบนสุด

ออกแบบรางวัลสามชั้น

หัวใจของวิธี GRPO คือฟังก์ชันรางวัลที่ให้คะแนนคำตอบแต่ละแบบ บทความใช้สามฟังก์ชันบนสเกล 0 ถึง 1 ฟังก์ชันแรกตรวจว่าแยกวิเคราะห์ได้และอยู่ในรูปแบบที่ขอหรือไม่ ให้เต็มเมื่อถูกรูปแบบ ให้ 0.2 เมื่อแยกวิเคราะห์ได้แต่ผิดรูปแบบ และให้ศูนย์เมื่อแยกวิเคราะห์ไม่ได้ ฟังก์ชันที่สองวัดจำนวนฟิลด์ระดับบนสุดว่าตรงกับที่คาดหวังโดยลดคะแนนแบบเชิงเส้นเมื่อคลาดเคลื่อน ฟังก์ชันที่สามตรวจกับสคีมา JSON จริงและนับข้อกำหนดที่ละเมิด

สามฟังก์ชันถูกรวมด้วยน้ำหนัก 1.0, 0.5 และ 2.0 ตามลำดับ ซึ่งสะท้อนว่าการผ่านสคีมาสำคัญที่สุด การออกแบบแบบนี้ให้สัญญาณที่ละเอียดกว่าการให้คะแนนถูกหรือผิดอย่างเดียว เพราะโมเดลได้เรียนรู้ว่าคำตอบที่เกือบถูกดีกว่าคำตอบที่พังทั้งก้อน

การตั้งค่าฝึกที่รันบนการ์ดจอฟรีได้

การฝึกใช้ LoRA ที่มีพารามิเตอร์ปรับได้ราว 6 ล้านตัว หรือ 1.66% ของโมเดล เจาะไปที่โมดูลเฉพาะของสถาปัตยกรรมนี้ ตั้งขนาดชุดต่ออุปกรณ์ 4 สร้างคำตอบ 8 แบบต่อพรอมป์ สะสมเกรเดียนต์ 8 ขั้น อัตราเรียนรู้ 5e-5 พร้อมช่วงอุ่นเครื่อง 10 ขั้น รวมทั้งหมด 100 ขั้น ทั้งหมดนี้พอดีกับการ์ดจอหน่วยความจำ 16 กิกะไบต์ที่ได้ฟรีจาก Colab หรือ Kaggle

ผลที่ได้และสิ่งที่ไม่ดีขึ้น

คะแนนรวมขยับจาก 22.6% เป็น 29.7% หรือเพิ่มขึ้น 7.1 จุด แต่ตัวเลขที่บอกเรื่องราวจริงคือรายหมวด รูปแบบ JSON ขึ้นจาก 18.0% เป็น 31.9% และรายการเปล่าแบบไม่มีคีย์ห่อขึ้นจาก 16.6% เป็น 29.7% ซึ่งเป็นสองกรณีที่ผู้เขียนตั้งใจเสริมในชุดฝึก ส่วน YAML แทบไม่เปลี่ยน เพราะโมเดลทำได้พอใช้อยู่แล้วและการฝึกไม่ได้เล็งไปที่มัน

บทเรียนสำคัญคือการฝึกแบบเจาะจงให้ผลตรงจุดที่เล็ง และไม่ให้ผลตรงจุดที่ไม่ได้เล็ง ทีมจึงต้องรู้ก่อนว่าระบบของตัวเองล้มเหลวที่รูปแบบไหน แล้วออกแบบชุดฝึกและรางวัลให้ตรงนั้น อีกข้อที่ผู้เขียนพูดตรงไปตรงมาคือโมเดล 350 ล้านที่ฝึกแล้วยังตามหลังโมเดลขนาด 2 พันล้านที่ยังไม่ได้ฝึกอยู่เล็กน้อย ขนาดโมเดลจึงยังมีผลกับสคีมาที่ซับซ้อน

ข้อคิดสำหรับทีมข้อมูลและ AI ในไทย

งานจำนวนมากในไทย เช่น การสกัดข้อมูลจากใบแจ้งหนี้ การจัดหมวดข้อความร้องเรียน หรือการแปลงข้อความเป็นคำสั่งเรียก API เหมาะกับโมเดลเล็กที่รันภายในองค์กรเพื่อควบคุมต้นทุนและไม่ต้องส่งข้อมูลออกนอกประเทศ บทความนี้ให้สูตรที่ทำซ้ำได้ด้วยงบใกล้ศูนย์ ทีมงานแนะนำให้เริ่มจากสร้างชุดทดสอบของตัวเองสัก 200 ถึง 500 ตัวอย่างที่สะท้อนสคีมาจริง วัดโมเดลตั้งต้นก่อน แล้วค่อยฝึกด้วยรางวัลที่ตรวจกับสคีมาของงานนั้นโดยตรง

และอย่าลืมว่าแม้อัตราตอบถูกรูปแบบจะขึ้นถึง 30% ระบบจริงยังต้องมีชั้นตรวจสอบและวนซ้ำเมื่อคำตอบไม่ผ่านสคีมาอยู่ดี การฝึกช่วยลดจำนวนรอบที่ต้องลองใหม่และลดต้นทุนรวม แต่ไม่ได้แทนที่การตรวจสอบฝั่งโปรแกรม ซึ่งเป็นแนวคิดเดียวกับที่ทีมงานสรุปไว้ในบทความเรื่องการประเมินโมเดลก่อนขึ้นระบบจริง

สรุปสาระสำคัญ

  • ทำไมผลลัพธ์แบบมีโครงสร้างถึงสำคัญกับโมเดลเล็ก
  • ออกแบบรางวัลสามชั้น
  • การตั้งค่าฝึกที่รันบนการ์ดจอฟรีได้
แหล่งอ้างอิงเรียบเรียงจาก Hugging Face Blog — Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps — อ่านบทความต้นฉบับ
ภาพปก: Hugging Face Blog · ลิขสิทธิ์ภาพเป็นของเจ้าของต้นฉบับ ใช้ประกอบการรายงานพร้อมอ้างอิงแหล่งที่มา
มีคำถามเพิ่มเติมเกี่ยวกับบทความนี้? เขียนหาเราได้ที่ info@smart-cyber-tech.com
บริการที่เกี่ยวข้องจากทีมงาน Smart Cyber Tech

บทความอื่นที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง

ประเมินโมเดลภาษาก่อนขึ้นระบบจริง: ทำไมคะแนนเบนช์มาร์กดีถึงไม่ได้แปลว่าใช้งานได้ ข้อมูลและ AI

ประเมินโมเดลภาษาก่อนขึ้นระบบจริง: ทำไมคะแนนเบนช์มาร์กดีถึงไม่ได้แปลว่าใช้งานได้

ทีมที่นำโมเดลภาษาไปฝังในผลิตภัณฑ์มักตัดสินใจจากคะแนนเบนช์มาร์ก แล้วมาเจอปัญหาตอนขึ้นระบบจริง บทความนี้สรุปกรอบการประเมินแปดขั้นจากประสบการณ์ลดผลบวกลวงในระบบสแกนความลับของ GitHub พร้อมกับดักที่พบบ่อยและเช็กลิสต์ก่อนปล่อยใช้งาน

อ่านบทความ
ลดค่าใช้จ่ายของเอเจนต์ AI ช่วยเขียนโค้ดโดยไม่ลดคุณภาพงาน: สี่การทดลองที่วัดผลได้จริง DevOps

ลดค่าใช้จ่ายของเอเจนต์ AI ช่วยเขียนโค้ดโดยไม่ลดคุณภาพงาน: สี่การทดลองที่วัดผลได้จริง

ทีมที่ใช้เอเจนต์ AI ช่วยเขียนโค้ดมักพยายามลดต้นทุนด้วยการทำให้ผลลัพธ์แต่ละครั้งสั้นลง แต่กลับแพงขึ้นเพราะเอเจนต์ต้องย้อนกลับไปอ่านซ้ำ บทความนี้สรุปสี่การทดลองที่ลดต้นทุนได้จริงโดยคุณภาพงานไม่ตก พร้อมวิธีวัดผลที่พิสูจน์ได้

อ่านบทความ
ให้เอเจนต์เขียนโค้ดมีความจำที่คุณเป็นเจ้าของ: เปลี่ยนบันทึกเซสชันเก่าให้เป็นความรู้ที่ค้นกลับได้ ข้อมูลและ AI

ให้เอเจนต์เขียนโค้ดมีความจำที่คุณเป็นเจ้าของ: เปลี่ยนบันทึกเซสชันเก่าให้เป็นความรู้ที่ค้นกลับได้

ทุกครั้งที่ปิดเซสชันของเอเจนต์ช่วยเขียนโค้ด เหตุผลของการตัดสินใจและสิ่งที่ค้นพบระหว่างทางก็หายไปด้วย เซสชันถัดไปจึงต้องเริ่มทำความรู้จักโปรเจกต์ใหม่ทุกครั้ง บทความจาก Hugging Face เสนอแนวทางเก็บบันทึกเซสชันเหล่านั้นให้เป็นความจำที่ค้นกลับได้ ใช้ร่วมกันข้ามเอเจนต์ และอยู่ในมือของทีมเอง

อ่านบทความ

ติดต่อเพื่อขอรับคำปรึกษาจากทีมงาน

ตั้งแต่ประเมินระบบปัจจุบัน วางแผน จนถึงลงมือพัฒนา — คุยกับเราได้โดยไม่มีค่าใช้จ่าย

ปรึกษาทีมของเรา