Gemento: ชุดทดลองเพื่อเสริมงานระยะยาวของ LLM โลคัลขนาดเล็กด้วยสถานะภายนอก เครื่องมือ บทบาท และลูป
(github.com/hang-in)สวัสดีครับ
ผมได้เปิดเผยรีโพซิทอรีหนึ่งสำหรับทดลองว่า LLM โลคัลขนาดเล็กจะรับมือกับงานระยะยาวได้มากแค่ไหน
Gemento
https://github.com/hang-in/gemento
โปรเจ็กต์นี้ไม่ใช่สถาปัตยกรรมโมเดลใหม่ ไม่ใช่งานวิจัย และไม่ได้อ้างว่าโมเดล 4B จะมาแทนที่ frontier model
แต่มันใกล้เคียงกับชุดทดลองที่ใช้วัดในรูปแบบที่ทำซ้ำได้มากกว่า ว่า “หากย้ายบางอย่างที่เราเคยคิดว่าต้องอยู่ภายในโมเดล ออกไปไว้นอกเวิร์กโฟลว์ จะช่วยกู้ประสิทธิภาพของโมเดลขนาดเล็กกลับมาได้ในระดับหนึ่งหรือไม่?”
จุดตั้งต้นคือปัญหาที่ผมเจอซ้ำแล้วซ้ำเล่าระหว่างทำ seCall และ tunaFlow
- งานระยะยาวอยู่รอดข้ามเซสชันไม่ได้
- context มีต้นทุนสูงขึ้นเร็วเกินไป
- โมเดลตรวจพบความผิดพลาดของตัวเองได้ไม่ดี
- โมเดลโลคัลขนาดเล็กมีข้อจำกัดชัดเจนในการอนุมานแบบครั้งเดียว
ผมเลยเริ่มจากคำถามง่าย ๆ
แทนที่จะเพิ่ม prompt context ไปเรื่อย ๆ ถ้าย้ายความจำ สถานะ การตรวจสอบ การคำนวณ และการควบคุมลูปออกไปไว้ภายนอกจะเป็นอย่างไร?
ใน Gemento ผมแบ่งสิ่งนี้ออกเป็น 4 แกน
-
Tattoo
ทำให้หน่วยความจำระหว่างงาน / สถานะกลาง ถูกย้ายออกไปเป็นสถานะ JSON แบบมีโครงสร้างภายนอก -
Tools
ย้ายการคำนวณออกไปเป็นเครื่องมือภายนอกที่เรียกผ่าน function call -
Role
ย้ายการตรวจสอบตนเองออกไปโดยแยกบทบาทเป็น Proposer / Critic / Judge -
Orchestrator
ย้ายเงื่อนไขการจบงานและการควบคุมการวนซ้ำออกไปเป็นลูป Python ภายนอก
ชื่อนี้มาจากอุปมาเรื่องรอยสัก โพลารอยด์ และโน้ตจากภาพยนตร์ Memento
จนถึงตอนนี้ โมเดลหลักที่ใช้คือ Gemma 4 E4B ซึ่งเป็นโลคัลโมเดลระดับ effective 4B
ตอนนี้จำนวนตัวอย่างยังน้อย และผลลัพธ์บางส่วนยังไม่มีนัยสำคัญทางสถิติ ดังนั้นใน README จึงแยกไว้ชัดเจนว่าอะไรคือ supported / conditionally supported / inconclusive / rejected
ผลลัพธ์ที่น่าสนใจมีประมาณนี้
-
การอนุมานหลายลูปดีกว่าการอนุมานครั้งเดียวอย่างชัดเจน
Exp02: 50% → 94.4%
Exp10: 1-loop 41.3% → 8-loop ABC 78.1% -
วิธีสั่งให้โมเดลเดียวกัน “ลองตรวจดูว่าตัวเองผิดหรือไม่” แทบล้มเหลวทั้งหมด
Exp03: ตรวจพบ 0 จาก 15 planted error -
ในทางกลับกัน หากแยกบทบาทออกจากกัน การตรวจจับข้อผิดพลาดดีขึ้นมาก
Exp035: ตรวจพบ 12 จาก 15 คิดเป็น 80% -
ในการคำนวณทางคณิตศาสตร์ ผลของการย้ายเครื่องมือออกไปภายนอกเห็นได้ชัด
ใน Exp08 / Exp08b เมื่อบังคับให้มี tool call และ error hint งานคณิตศาสตร์บางประเภทฟื้นจาก 0% → 100% -
ในงานที่มี context ยาว วิธี chunked ABC+Tattoo ให้ผลเด่นชัดกว่าการ dump ตรง ๆ
ใน Exp09 Large ภายใต้เงื่อนไข 20K: Solo 0%, RAG 67%, ABC+Tattoo 100%
อย่างไรก็ตาม ผมยังไม่สรุปว่า ABC+Tattoo ดีกว่า RAG โดยทั่วไปเสมอไป H9b ยังเป็น inconclusive -
วิธีใส่โมเดลที่แข็งแกร่งกว่าเข้ามาเป็น Judge กลับล้มเหลว
ใน Exp11 แม้จะเปลี่ยนเฉพาะ Judge เป็น Gemini 2.5 Flash แต่เงื่อนไขแบบ mixed กลับได้ต่ำกว่า baseline ที่เป็น all-Gemma
กลไกที่สังเกตได้คือ “Judge ที่แข็งแกร่งกว่าไม่ได้ช่วยกระบวนการค้นพบด้วยตนเองของโมเดลที่อ่อนกว่า แต่อาจไปรบกวนสคีมาสถานะกลางและการลู่เข้าของข้อสรุป” -
ในทางกลับกัน การเพิ่มบทบาท Extractor ไว้ด้านหน้ามีผลบวกเล็กน้อย
Exp12: Δ +0.050
โดยเฉพาะในบางกรณีแบบ catastrophic มีสัญญาณการฟื้นตัว -
ส่วนบทบาท Reducer ที่อยู่ช่วงท้ายกลับให้ผลแย่ลง
Exp13: Δ -0.053
พบ abstraction loss ที่ทำให้คะแนนลดลง เพราะกระบวนการ “จัดคำตอบสุดท้ายให้เรียบร้อย” ไปบีบอัดโครงสร้างของหลักฐาน
ดังนั้น การตีความในตอนนี้คือ
แทนที่จะให้โมเดลขนาดเล็กถูกตัดสินโดยโมเดลที่แข็งแกร่งกว่าเสมอไป ตำแหน่งการวางบทบาท แม้จะเป็นโมเดลเดียวกัน ก็อาจสำคัญกว่า
โดยเฉพาะการเพิ่มบทบาทในช่วง pre-stage ค่อนข้างปลอดภัย ขณะที่การสรุป/เรียบเรียงในช่วง post-stage มีความเสี่ยง
ผมก็เขียนไว้อย่างชัดเจนเช่นกันว่าโปรเจ็กต์นี้ยังไม่ได้อ้างสิ่งต่อไปนี้
- ไม่ได้อ้างว่าโมเดล 4B จะมาแทนที่โมเดลขนาดใหญ่
- ไม่ได้อ้างว่า ABC+Tattoo ดีกว่า RAG เสมอไป
- ไม่ใช่สถาปัตยกรรมหรือวิธีฝึกแบบใหม่
- ไม่ได้อ้างว่าการทดสอบทางสถิติระดับงานวิจัยเสร็จสมบูรณ์แล้ว
- งานที่เกี่ยวข้องบางส่วนยังตรวจสอบบรรณานุกรมไม่เสร็จ
ตอนนี้มันใกล้เคียงกับ “บันทึกการทดลองแบบเปิดเผย” มากกว่า
การทดลองที่ทำคนเดียวมีโอกาสเกิดภาพลวงได้ง่าย โดยเฉพาะการทดลองเชิงโครงสร้างแบบนี้ ผลลัพธ์อาจสั่นไหวได้ง่ายตาม taskset, scorer, prompt และเงื่อนไขของลูป
จึงเลือกเปิดเผยก่อนที่จะกลายเป็น polished paper
ข้อเสนอแนะที่อยากได้มีประมาณนี้
- ทำซ้ำได้หรือไม่บนโลคัลโมเดลตัวอื่น
- taskset / scorer มีอคติหรือไม่
- baseline ของ RAG ยุติธรรมเพียงพอหรือไม่
- ABC+Tattoo แสดง failure mode ที่ต่างออกไปจริงหรือไม่
- ถ้าเพิ่ม Search Tool / Graph Tool / Evidence Tool จะเห็นผลที่ชัดขึ้นบนแกน Tool หรือไม่
การทดลองถัดไปที่เป็นตัวเลือกคือ Exp14 Search Tool
ถ้าสนใจ สามารถดูได้ที่ README หรือ docs/reference
ยินดีรับทั้งกรณีโต้แย้ง การทำซ้ำไม่สำเร็จ และคำวิจารณ์ทั้งหมด
ยังไม่มีความคิดเห็น