Cmpnd เปิดตัว dspy-wsp ปฏิวัติการแก้ไข Weights โมเดลโดยตรงผ่าน LLM

Cmpnd ได้เปิดตัว dspy-wsp ซึ่งเป็น optimizer ต้นแบบที่นำเทคโนโลยี weight-space programming มาสู่ DSPy โดยเทคนิคนี้ช่วยให้ LLM ระดับแนวหน้าสามารถอ่านและแก้ไข weights ของอีกโมเดลหนึ่งได้โดยตรง โดยไม่ต้องผ่านกระบวนการ gradients, training loop หรือใช้ fine-tuning dataset
dspy-wsp มาในรูปแบบ WeightSpace ซึ่งเป็น optimizer ที่เชื่อมต่อเข้ากับโปรแกรม DSPy และ metric ใดก็ได้ จากการทดสอบของ Cmpnd พบว่าการใช้ GPT-6-Astra ด้วยงบประมาณเพียง $5 ถึง $10 สามารถเพิ่มประสิทธิภาพให้ทุกโมเดลการตัดสินใจ (decision model) ที่ทดลองได้ ผู้ใช้งานสามารถตรวจสอบสเปกเพิ่มเติมได้ผ่าน GPULeaderboard.com chrome extension
TL;DR
- มันคืออะไร: เป็น DSPy optimizer (
WeightSpace) ที่ให้ writer LLM แก้ไข weights ของโมเดลนักเรียน (student model) ใช้ MIT license ติดตั้งผ่านpip install dspy-wsp(ต้องการ DSPy 3.5) - ประสิทธิภาพ: WeightSpace ช่วยเพิ่มคะแนน 1.9 ถึง 16.1 จุดในเกณฑ์ Typed Decisions และเมื่อใช้ร่วมกับ ReAnchor คะแนนจะพุ่งสูงขึ้นถึง 6.5 ถึง 20.0 จุด
- ตัวอย่างที่โดดเด่น: โมเดล d1-omni-600M มีคะแนนเพิ่มจาก 50.9% เป็น 69.1% (+18.3) เมื่อใช้ WeightSpace ร่วมกับ ReAnchor
- ข้อจำกัด: แม้จะเป็นการแก้ไขที่ราคาถูกและตรวจสอบได้ง่ายผ่าน patch ขนาดเล็ก แต่ปัจจุบันยังอยู่ในขั้นทดลอง ทำงานค่อนข้างช้า (78-167 นาทีต่อรอบ) และให้ผลลัพธ์น้อยลงในโมเดลขนาดใหญ่
weight-space programming คืออะไร?
Weight-space programming (WSP) ปฏิบัติต่อ weights ของโครงข่ายประสาทเทียมเสมือนเป็นโปรแกรมที่อ่านและเขียนใหม่ได้ แนวคิดนี้ต่อยอดมาจากงานวิจัยของ MIT: Sparks of Weight-Space Programming
โมเดลระดับแนวหน้า (เช่น GPT-6-Astra) จะวิเคราะห์ weight tensors และใช้เหตุผลพิจารณาว่าส่วนใดทำหน้าที่อะไร จากนั้นจึงปรับเปลี่ยนค่าเหล่านั้นให้ตรงตามเป้าหมายที่ระบุด้วยภาษาธรรมชาติ ทีมวิจัยย้ำว่า WSP คือความสามารถที่เพิ่งเกิดขึ้นใหม่ (emergent ability) โดยในการทดลองนี้ถูกสั่งห้ามใช้ gradients อย่างเด็ดขาด
ความแตกต่างจาก Fine-tuning และ Prompt Optimization
- Prompt optimization (เช่น MIPROv2, GEPA): แก้ไขเฉพาะข้อความคำสั่งและตัวอย่าง โดยค่าน้ำหนักโมเดลคงเดิม
- Fine-tuning (เช่น BetterTogether): เปลี่ยนค่าน้ำหนักด้วย gradient descent ซึ่งต้องใช้ข้อมูลจำนวนมากและทรัพยากร GPU สูง
- Weight-space programming: เปลี่ยนค่าน้ำหนักผ่านการใช้เหตุผล โดยตัวแก้ไขจะสร้างสมมติฐาน แก้ไขโค้ด และตรวจสอบผลลัพธ์ด้วยการรัน forward passes เพียงไม่กี่ครั้ง
dspy-wsp ทำงานอย่างไร?
dspy-wsp เปลี่ยนกระบวนการวิจัยให้กลายเป็นมาตรฐาน DSPy optimizer โดยมีองค์ประกอบหลัก 3 ส่วน ได้แก่ นักเรียน (The student) หรือโมเดลขนาดเล็กที่จะถูกแก้ไข, ผู้เขียน (The writer) ซึ่งเป็น LLM ระดับสูง และ Sandbox สำหรับรันโค้ดอย่างปลอดภัย
ผู้เขียนจะทำงานเป็นรอบๆ โดยแต่ละรอบจะส่ง Python block เพื่อแก้ไข weights หรือ forward block เพื่อทดสอบประสิทธิภาพ เมื่อสิ้นสุดงบประมาณการรัน (เช่น 25 ครั้ง) การแก้ไขที่ดีที่สุดจะถูกบันทึกเป็น patch เพื่อนำไปเปรียบเทียบกับโมเดลเดิมในชุดข้อมูลตรวจสอบที่ซ่อนไว้
โค้ดตัวอย่างการใช้งาน
import dspy
from typing import Literal
from dspy_wsp import WeightSpace, load_decision_backend
class Triage(dspy.Signature):
"""Triage a support ticket."""
ticket: str = dspy.InputField()
urgent: bool = dspy.OutputField(desc="Does this ticket need a reply today?")
team: Literal["billing", "technical", "account"] = dspy.OutputField(desc="Which team should handle it?")
backend = load_decision_backend("d1") # d1-omni-600M
optimizer = WeightSpace(
metric=metric,
writer_lm=dspy.LM("openai/gpt-6-astra", model_type="responses", reasoning_effort="max"),
backend=backend,
max_passes=25,
holdout=0.25,
run_dir="runs/triage",
)
compiled = optimizer.compile(dspy.Predict(Triage), trainset=train, valset=test)
compiled(ticket="I was charged twice this month.") # รันบน weights ที่ถูกแก้ไขผลการทดสอบประสิทธิภาพ
Cmpnd ทดสอบกับเกณฑ์ Typed Decisions พบว่า WeightSpace ทำผลงานได้ดีกว่าการใช้ ReAnchor เพียงอย่างเดียวในทุกโมเดล อย่างไรก็ตามพบรูปแบบที่น่าสนใจคือ โมเดลขนาดใหญ่ (เช่น Clef-Flash 9B) จะได้คะแนนเพิ่มขึ้นน้อยกว่าโมเดลขนาดเล็ก แต่การใช้ WeightSpace ร่วมกับ ReAnchor จะช่วยส่งเสริมประสิทธิภาพได้ดีที่สุดในโมเดลกลุ่มนี้
การรันแต่ละครั้งจะสร้าง patch ที่ประกอบด้วย manifest.json และ edit.npz ซึ่งระบุเฉพาะส่วนที่เปลี่ยนแปลงและค่า checksum เพื่อความปลอดภัย ผู้ใช้สามารถนำไปประยุกต์ใช้ได้ทั้งกับโมเดลการตัดสินใจ, LLM แบบข้อความผ่าน vLLM หรือโหลดเข้าโปรแกรม DSPy ได้โดยตรง
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
