จุดอ่อนของแบบจำลองที่ “เห็น” แต่ไม่สามารถ “ประมวลผลอย่างแม่นยำ” ได้
ในช่วงปีที่ผ่านมา แบบจำลองขนาดใหญ่หลายรูปแบบมีพัฒนาการก้าวกระโดดในงานที่เกี่ยวข้องกับโค้ด จนสามารถเทียบเคียงกับนักพัฒนาระดับอาวุโสได้ อย่างไรก็ตาม ในงานพื้นฐานด้านความเข้าใจทางสายตา ความน่าเชื่อถือของมันยังห่างไกลจากระดับเดียวกัน
การทดสอบมาตรฐานหลายรูปแบบ BabyVision ที่ UniPat AI เผยแพร่ก่อนหน้านี้ได้เผยให้เห็นปรากฏการณ์นี้: แบบจำลองมักให้เหตุผลยาวเหยียด แต่กลับทำผิดพลาดในงานพื้นฐานที่สุด เช่น การวัด การนับ และการตัดสินความสัมพันธ์เชิงพื้นที่ การทดสอบมาตรฐานนี้ถูกอ้างอิงในรายงานทางเทคนิคของแบบจำลองสำคัญหลายตัว ซึ่งสะท้อนถึงความสนใจของชุมชนต่อปัญหานี้
จากการวิเคราะห์กรณีที่ผิดพลาดอย่างลึกซึ้ง ปัญหาหลักอยู่ที่ “แบบจำลองรับรู้ได้ แต่ไม่สามารถประมวลผลอย่างแม่นยำ”:
* เมื่ออ่านแผนภูมิแท่ง สามารถรับรู้ได้ว่า “ประมาณ 75%” แต่ไม่สามารถคำนวณอัตราส่วนที่แน่นอนได้
* เมื่อนับวัตถุในฉากที่ซับซ้อน อาจระบุวัตถุทั้งหมดได้ แต่กลับทำผิดพลาดเมื่อนับทีละชิ้น
* เมื่ออธิบายตำแหน่งเชิงพื้นที่ สามารถให้การตัดสินเชิงคุณภาพได้ แต่ยากที่จะคำนวณระยะทางและให้เหตุผลเชิงเรขาคณิตได้อย่างเสถียร
เมื่อเผชิญกับปัญหาที่คล้ายกัน มนุษย์จะใช้เครื่องมือช่วยโดยธรรมชาติ: วาดเส้นช่วย ทำเครื่องหมาย ใช้ไม้บรรทัดวัด ใช้ปากกาคำนวณ สิ่งนี้นำไปสู่สมมติฐานสำคัญ: เนื่องจากแบบจำลองเก่งมากในการเขียนโปรแกรม มันสามารถใช้โค้ด — เครื่องมือที่คุ้นเคยที่สุด — เพื่อชดเชยจุดอ่อนด้านความแม่นยำในการประมวลผลทางสายตาได้หรือไม่?
SWE-Vision คือการปฏิบัติอย่างเป็นระบบต่อสมมติฐานนี้
ผลการทดสอบมาตรฐานทางสายตาทั้ง 5 ชุด
SWE-Vision ได้ปรับปรุงแบบจำลองขนาดใหญ่ล้ำสมัย เช่น GPT-5.2-xhigh และ Seed-2.0-Pro อย่างมีนัยสำคัญในการทดสอบมาตรฐานทั้งห้าชุดที่ครอบคลุมการรับรู้พื้นฐาน การให้เหตุผลด้วยแผนภูมิ การแก้ปัญหาคณิตศาสตร์ ความเข้าใจเชิงพื้นที่ และความท้าทายทางสายตาที่ซับซ้อนหลายขั้นตอน และได้ผลลัพธ์ที่ล้ำสมัยที่สุด:
- BabyVision: 64.4
- MathVision: 94.0
- Zero-Bench-Sub: 50.1
- OmniSpatial: 69.0
- CharXiv-RQ: 82.5
SWE-Vision คืออะไร: กรอบงาน “เอเจนต์อัจฉริยะทางสายตาแบบเรียบง่ายสุดขีด”
แนวคิดหลักของ SWE-Vision ไม่ใช่การรวมเครื่องมือทางสายตาเฉพาะทางจำนวนมาก แต่เป็นการบีบอัดความสามารถให้เรียบง่ายที่สุด โดยให้แบบจำลองใช้ภาษาการเขียนโปรแกรมที่คุ้นเคยที่สุดเพื่อจัดการกับความไม่แน่นอนทางสายตา
ชั้นเครื่องมือ: รักษาไว้เพียงสองเครื่องมือหลัก
ใน config.py กำหนดเครื่องมือเพียงสองตัวคือ execute_code และ finish:
* execute_code: อนุญาตให้แบบจำลองรันโค้ด Python ในสภาพแวดล้อม Jupyter ที่คงสถานะไว้ได้ (state-persistent)
* finish: เมื่อแบบจำลองมั่นใจว่าคำตอบถูกต้องแล้ว ให้ส่งออกผลลัพธ์สุดท้าย
กุญแจสำคัญคือความเรียบง่ายและความเป็นสากลของอินเทอร์เฟซเครื่องมือ SWE-Vision ไม่ได้ให้ API ทางสายตาเฉพาะทางจำนวนมาก แต่เปิดเผยคำสั่งที่แบบจำลองเชี่ยวชาญอยู่แล้วเพียงคำสั่งเดียว: เขียนโค้ด Python
ชั้นควบคุม: วงจรมาตรฐานของเอเจนต์
VLMToolCallAgent ใน agent.py ใช้วงจรการทำงานแบบสมบูรณ์:
1. จัดระเบียบคำถามและภาพจากผู้ใช้เป็นข้อความ
2. เรียกใช้อินเทอร์เฟซแบบจำลองที่รองรับการใช้เครื่องมือ
3. หากแบบจำลองเรียกใช้ execute_code จะส่งโค้ดไปยังเคอร์เนล Notebook เพื่อดำเนินการ
4. ส่งผลการดำเนินการ (ค่าตัวเลข ข้อความผิดพลาด หรือภาพที่สร้างขึ้น) กลับไปยังแบบจำลองในฐานะข้อความเครื่องมือ
5. แบบจำลองตัดสินใจตามผลลัพธ์ว่าจะเรียกใช้เครื่องมือต่อไปหรือสิ้นสุดผ่าน finish
กรอบงานกำหนดค่าเริ่มต้นเป็น tool_choice="auto" และรองรับโหมดการให้เหตุผล (reasoning mode) ในโหมดนี้ จะตั้งค่าความเข้มข้นของการให้เหตุผลไว้ที่ระดับสูง และอนุญาตให้ทำซ้ำได้สูงสุด 100 รอบ
ชั้นการดำเนินการ: เคอร์เนล Jupyter แบบคงสถานะในคอนเทนเนอร์ Docker
kernel.py ไม่ได้แค่รันโค้ดส่วนหนึ่งอย่างง่าย แต่จะเริ่มคอนเทนเนอร์ Docker และเปิด ipykernel ขึ้นมาในนั้น โฮสต์จะเชื่อมต่อกับเคอร์เนลนี้ผ่าน jupyter_client.BlockingKernelClient และรวบรวมผลการดำเนินการจากช่อง IOPub/shell
เคอร์เนลมีสถานะคงอยู่ ตัวแปร ไลบรารีที่นำเข้า วัตถุภาพ และผลลัพธ์กลางสามารถคงอยู่ระหว่างการเรียกใช้ execute_code หลายครั้ง ในขณะเดียวกัน โค้ดทำงานในสภาพแวดล้อม Docker ที่แยกออกมา โฮสต์และคอนเทนเนอร์แลกเปลี่ยนไฟล์ผ่านไดเรกทอรีที่ติดตั้ง (mounted directory) kernel.py ยังทำการตรวจสอบสุขภาพหลังเริ่มทำงาน และกำหนดค่าแบ็กเอนด์ของ matplotlib เป็น inline เพื่อให้สามารถจับภาพที่สร้างขึ้นได้
กล่าวโดยสรุป SWE-Vision ไม่ได้บังคับให้แบบจำลองเขียนโค้ดสำหรับทุกปัญหา แต่จัดเตรียม “ห้องปฏิบัติการคำนวณทางสายตา” ที่พร้อมใช้ตลอดเวลาและมีสถานะต่อเนื่องให้
กระบวนงาน: จากการให้เหตุผลจากภาพ สู่การตรวจสอบแบบวนซ้ำพร้อมภาพ
กระบวนงานของ SWE-Vision ทำงานเหมือนนักวิทยาศาสตร์ข้อมูลที่มองภาพ:
1. อินพุต: ผู้ใช้ให้คำถามและภาพ
2. คิด: แบบจำลองตัดสินใจก่อนว่าสามารถตอบได้โดยตรงหรือไม่ จำเป็นต้องคำนวณหรือตรวจสอบหรือไม่
3. ดำเนินการ: หากจำเป็น ให้เรียกใช้ execute_code เพื่อวิเคราะห์ใน Notebook โดยใช้ไลบรารี เช่น PIL, NumPy, matplotlib
4. ผลตอบรับ: ผลการดำเนินการของโค้ด (ค่าตัวเลข ข้อผิดพลาด หรือแผนภูมิที่สร้างขึ้น) จะถูกส่งกลับไปยังแบบจำลอง
5. ทำซ้ำ: แบบจำลองวิเคราะห์ต่อจากผลตอบรับ จนกว่าจะเรียกใช้ finish เพื่อให้คำตอบสุดท้าย
การออกแบบที่สำคัญ
- สภาพแวดล้อมการดำเนินการที่มีสถานะ: ตัวแปร การนำเข้า ภาพที่โหลด สามารถคงอยู่ระหว่างการเรียกใช้หลายครั้ง สนับสนุนการวิเคราะห์แบบเป็นขั้นตอนที่ซับซ้อน
- แซนด์บ็อกซ์ Docker: รับประกันสภาพแวดล้อมการดำเนินการที่ปลอดภัย ควบคุมได้ และผลลัพธ์สามารถทำซ้ำได้
- อินพุตและเอาต์พุตภาพ: แบบจำลองไม่เพียงอ่านภาพอินพุตได้ แต่ยังสามารถส่งภาพที่สร้างขึ้นเอง (เช่น เส้นช่วยที่วาด) กลับไปตรวจสอบตัวเองได้ นี่คือกุญแจสำคัญในการทำให้เกิดการแก้ไขข้อผิดพลาดด้วยตนเอง
- อินเทอร์เฟซมาตรฐานสำหรับเรียกใช้เครื่องมือ: ใช้มาตรฐาน OpenAI Function Calling ซึ่งรับประกันความเข้ากันได้ทันที (out-of-the-box compatibility) กับแบบจำลองหลัก
คุณค่าหลักของการออกแบบนี้คือ: อนุญาตให้แบบจำลองทำงานเหมือนนักวิทยาศาสตร์ตัวจริง ทำการทดลองก่อน แล้วจึงสรุปผล
ทำไมเคอร์เนลแบบคงสถานะจึงสำคัญกว่าตัวรันโค้ดแบบใช้ครั้งเดียว?
เมื่อดู SWE-Vision ครั้งแรก อาจคิดว่ามันเป็นเพียงเครื่องมือ Python ที่เพิ่มเข้ามาในแบบจำลองภาษาที่มีภาพ ความแตกต่างที่แท้จริงอยู่ที่ “การคงสถานะ”
ใน SWE-Vision สถานะของเคอร์เนลจะคงอยู่ระหว่างการเรียกใช้เครื่องมือหลายครั้ง สิ่งนี้ทำให้แบบจำลองสามารถทำงานแบบเป็นขั้นตอนและวนซ้ำได้ เหมือนนักวิเคราะห์มนุษย์:
1. รอบแรก: อ่านภาพ ตรวจสอบขนาด
2. รอบที่สอง: ตัดเฉพาะพื้นที่บางส่วน สังเกตขอบ
3. รอบที่สาม: นับสีหรือวัดระยะทาง
4. รอบที่สี่: วาดเส้นช่วยเพื่อยืนยัน
5. สุดท้าย: รวมผลการวิเคราะห์ทั้งหมดเพื่อสร้างคำตอบ
หากการรันโค้ดแต่ละครั้งไม่มีสถานะ การวิเคราะห์หลายขั้นตอนนี้จะยุ่งยากอย่างยิ่ง: ทุกขั้นตอนต้องนำเข้าไลบรารีใหม่ โหลดภาพใหม่ สร้างตัวแปรใหม่ และแบบจำลองก็ยากที่จะรักษาและปรับปรุงสมมติฐานกลาง
SWE-Vision ผ่านเคอร์เนลแบบคงสถานะ ได้เปลี่ยน “การเรียกใช้เครื่องมือหลายรอบ” ให้เป็น “การทดลองต่อเนื่องในเซสชัน Notebook เดียวกัน” จากมุมมองการนำไปปฏิบัติ นี่คือเหตุผลที่ทำให้สามารถจัดการงานวัดแผนภูมิ ความสัมพันธ์เชิงพื้นที่ และงานทางสายตาที่ซับซ้อนหลายขั้นตอนได้อย่างมีประสิทธิภาพ ไม่ใช่แค่ทำ OCR หรือตรวจจับวัตถุแบบใช้ครั้งเดียว
ความก้าวหน้าหลัก: ทำให้ AI เรียนรู้ที่จะ “ตรวจสอบการตัดสินใจทางสายตาของตัวเอง”
SWE-Vision แสดงรูปแบบพฤติกรรมใหม่ในการทำงาน “สังเกตแผนภูมิวิทยาศาสตร์และสรุปกฎเกณฑ์” ตัวอย่างเช่น งานที่ต้องการตัดสินว่าเมื่อ Quarters=15 กราฟย่อยใดที่มีช่องว่างระหว่างเส้นประสีแดงและเส้นทึบสีดำมากที่สุด
เอเจนต์ SWE-Vision ให้โซลูชันที่เข้มงวดและตรวจสอบได้:
1. คัดกรอง: ก่อนอื่นแยกกราฟย่อย (d) ที่ไม่มีเส้นประสีแดงออก
2. ระบุตำแหน่ง: วาดเส้นช่วยแนวตั้งที่ตำแหน่ง Quarters=15 ในแต่ละกราฟย่อยที่คัดเลือกไว้อย่างแม่นยำ เพื่อระบุจุดตัดของเส้นโค้งสีแดงและสีดำ
3. คำนวณ: ผ่านการรันโค้ด คำนวณความแตกต่างของค่าของเส้นโค้งทั้งสองที่ตำแหน่งนั้นอย่างแม่นยำ
4. ตัดสินใจ: จากผลการคำนวณ ให้คำตอบสุดท้าย
แก่นกลางของวิธีนี้คือ แบบจำลองไม่เพียงพึ่งพา “สัญชาตญาณ” หรือ “การประมาณคร่าวๆ” ในการตัดสินใจทางสายตาอีกต่อไป แต่สามารถหยิบ “ไม้บรรทัด Python” ขึ้นมาตรวจสอบตัวเอง แปลงการรับรู้ที่คลุมเครือให้เป็นกระบวนการคำนวณที่แม่นยำและทำซ้ำได้ นี่คือสิ่งที่สำคัญที่สุดที่ทำให้ SWE-Vision สามารถเอาชนะจุดอ่อนทางสายตาของแบบจำลองหลายรูปแบบได้
วงจรความคิดและการกระทำแบบ “วิเคราะห์เชิงโครงสร้างก่อน จากนั้นวัดด้วยโปรแกรม สุดท้ายตรวจสอบด้วยตัวเลข” นี้ แตกต่างอย่างชัดเจนกับวิธีที่แบบจำลองภาษาที่มีภาพแบบดั้งเดิมพึ่งพาการ “สังเกต” แบบสัญชาตญาณเพื่อให้คำตอบโดยตรง มันไม่เพียงปรับปรุงความน่าเชื่อถือและความสามารถในการอธิบายผลลัพธ์อย่างมีนัยสำคัญ แต่ยังแสดงขีดความสามารถสูงสุดที่สูงกว่าและศักยภาพในการปรับใช้ทั่วไปที่แข็งแกร่งกว่า

ทำไมการออกแบบที่เรียบง่ายกลับแข็งแกร่งกว่า
ข้อสรุปสำคัญอย่างหนึ่งของ SWE-Vision คือ: การนำเครื่องมือโค้ดสากลมาใช้สำหรับงานทางสายตา เป็นทิศทางการขยายตัวระหว่างการทดสอบ (test-time extension) ที่มีประสิทธิภาพในการเพิ่มความสามารถทางสายตาของแบบจำลองหลายรูปแบบล้ำสมัย
ประสิทธิภาพของมันเกิดจากการออกแบบที่เรียบง่าย:
- จำนวนเครื่องมือน้อย: ขอบเขตการตัดสินใจชัดเจน
- ความหมายสอดคล้อง: ความหมายของเครื่องมือสอดคล้องกับความสามารถที่มีอยู่ของแบบจำลองเป็นอย่างดี
- สนับสนุนการทำซ้ำ: สนับสนุนการโต้ตอบหลายรอบและการสะสมสถานะ
- ผลลัพธ์สามารถสังเกตได้: ผลลัพธ์กลางสามารถถูกตรวจสอบอีกครั้งได้ แทนที่จะส่งกลับเป็นข้อความแบบใช้ครั้งเดียว
- ความเป็นสากลสูง: ไม่ผูกติดกับกลยุทธ์เฉพาะที่ออกแบบด้วยมือสำหรับการทดสอบมาตรฐานบางชุด
สิ่งนี้แตกต่างจากวิธีการ “ออกแบบชุดอินเทอร์เฟซเครื่องมือแยกต่างหากสำหรับงานทางสายตาบางประเภท” วิธีหลังมักมีประสิทธิภาพในงานแ
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/25887
