كيف أصلح GPT-6 Astra نموذج Qwen3.5-0.8B بتعديل 0.016% من أوزانه

قام GPT-6 Astra بتعديل 0.016% من أوزان Qwen3.5-0.8B دون تدريب، ورفع MATH-500 من 7.9% إلى 48.1%. ما الذي تغيّر، وما حدوده، وكيفية اختبار كلا النموذجين.

Ashley Innocent

Ashley Innocent

4 نوفمبر 2026

كيف أصلح GPT-6 Astra نموذج Qwen3.5-0.8B بتعديل 0.016% من أوزانه

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

رفع GPT-6 Astra نتيجة Qwen3.5-0.8B في MATH-500 من 7.9% إلى 48.1% دون أي تدريب. قرأ أوزان النموذج، ووجد اتجاهًا واحدًا جعل النموذج يدخل في حلقة أثناء تفكيره، وطرحه من طبقتَي MLP. لمس ذلك التحرير 131,072 وزنًا، أي 0.016% من النموذج. تأتي الأرقام من منشور بتاريخ 2 نوفمبر بقلم أربعة باحثين من MIT CSAIL، والنموذج المُحرَّر عام، لذا يمكنك التحقق من الادعاء بنفسك.

في ما يلي: ما هي برمجة فضاء الأوزان، وما الذي غيّره Astra، وأين تتوقف الطريقة عن العمل، وكيف تجعل وكيل البرمجة لديك يقارن كلا النموذجين باستخدام Apidog CLI.

ما هي برمجة فضاء الأوزان؟

برمجة فضاء الأوزان هي نموذج لغوي كبير عام الغرض يقرأ أوزان شبكة عصبية ويكتبها مباشرة، موجّهًا بهدف بلغة عادية، دون انحدار تدرجي ودون حلقة تدريب. يستنتج النموذج ما يحسبه كل جزء من الشبكة، ثم يغيّر الأرقام يدويًا، بالطريقة التي يحرّر بها المبرمج الشيفرة المصدرية.

يأتي المصطلح من Sparks of Weight-Space Programming بقلم Rikiya Takehi وJayden Teoh وAlex Zhang وOmar Khattab، ونُشر في 2 نوفمبر 2026. يصف المؤلفون كل نتيجة بأنها «مبكرة جدًا»، والعديد منها يأتي من تشغيل واحد أو بضعة تشغيلات. لخلفية عن النموذج الذي يقوم بالتحرير، راجع مراجعة GPT-6 Astra العملية.

كيف أصلح GPT-6 Astra نموذج Qwen3.5-0.8B

النتيجة الرئيسية هي التجربة 8. طلب الباحثون من GPT-6 Astra أن يجعل Qwen3.5-0.8B أفضل في الرياضيات عبر تحرير أوزانه. وإليك ما حدث، خطوة بخطوة:

  1. الإعداد. حصل Astra على جلسة Python (مثل دفتر ملاحظات) محمّلة بأوزان النموذج، دون GPU، ومعها 7,469 مسألة GSM8K بالإضافة إلى 7,275 مسألة MATH تدريبية من مجموعات التدريب. ولم يرَ مجموعات الاختبار قط.
  2. الميزانية. بدلًا من التدريب، كان بإمكان Astra أن ينفق 10 أو 25 أو 50 تمريرة أمامية. وقد أتاحت التمريرة الأمامية الواحدة للنموذج الإجابة عن ما يصل إلى 512 مسألة أو قراءة ما يصل إلى 1,024 نصًا.
  3. التشخيص. رأى Astra أن النموذج الأساسي يدخل في حلقات: 85 من أول 96 إجابة تدريبية له بلغت حد 32,768 رمزًا دون الوصول إلى إجابة. ويشير المؤلفون إلى أن بطاقة نموذج Qwen نفسه تحذّر من أن هذا النموذج عرضة لحلقات التفكير.
  4. التتبع. تتبّع Astra الحلقات إلى اتجاه واحد تكتبه شبكات MLP في الطبقتين 15 و19.
  5. التحرير. طرح ذلك الاتجاه من 64 عمود إخراج في down_proj في كل من الطبقتين. أي 131,072 وزنًا من أصل 0.8 مليار.
Diagram of the Qwen3.5-0.8B edit: 24 transformer layers with the MLP down_proj in layers 15 and 19 highlighted, one looping direction subtracted from 64 output columns in each, 131,072 weights changed in total

وفقًا لـ بطاقة النموذج على Hugging Face، لا يختلف عن نقطة حفظ Qwen/Qwen3.5-0.8B الأساسية سوى موتري down_proj هذين، ويتم التحقق من كل موتر مُعاد بناؤه عبر sha256 مقابل الذي قيّمه المؤلفون. ويُوزّع النموذج المُحرَّر بموجب Apache 2.0.

النتائج: Qwen3.5-0.8B الأساسي مقابل المُحرَّر

كل رقم هنا مأخوذ من منشور المؤلفين (التفكير مفعّل، حتى 32,768 رمزًا، عدة عينات لكل مسألة). «بلوغ حد الرموز» هو نسبة إجابات MATH-500 التي نفدت رموزها.

Qwen3.5-0.8B MATH-500 GSM8K IFEval بلوغ حد الرموز
الأساسي 7.9% 13.8% 21.0% 93.0%
المُحرَّر، 10 تمريرات أمامية 12.3% 25.7% 49.0% 87.2%
المُحرَّر، 25 تمريرة أمامية 14.1% 25.1% 39.9% 86.4%
المُحرَّر، 50 تمريرة أمامية 48.1% 67.1% 62.3% 33.1%
Bar chart comparing base and edited Qwen3.5-0.8B as reported by the authors: MATH-500 7.9% to 48.1%, GSM8K 13.8% to 67.1%, IFEval 21.0% to 62.3%, answers hitting the token limit 93.0% to 33.1%

تتيح لك مساحة العرض التجريبية كتابة مسألة ومشاهدة كلا النموذجين يجيبان.

ما لا يمكن أن يفعله تحرير الأوزان

أجرى المؤلفون تجربة ضابطة أهم من النتيجة الرئيسية. جرّبوا النهج نفسه على Gemma 3 270M، وهو نموذج نادرًا ما يدخل في حلقات (8.5% من إجاباته بلغت الحد، مقابل 93% لدى Qwen).

Gemma 3 270M MATH-500
الأساسي 6.8%
أفضل تحرير (25 تمريرة أمامية) 7.7%

كانت أخطاء Gemma أخطاء عادية، مثل حساب خاطئ، دون مكوّن واحد يمكن إيقافه. واستنتاج المؤلفين: أزال التحرير عائقًا كان يحجب قدرة، لكنه لم يستطع إضافة قدرة يفتقر إليها النموذج. كان Qwen قادرًا بالفعل على استنتاج العديد من الإجابات. لكنه لم يكن يُكملها أبدًا.

إذن هذا ليس «انتهى التدريب». إنه نموذج حدودي يجد عطلًا واحدًا يعيش في مكان واحد ويزيله.

بقية ورقة برمجة فضاء الأوزان

التجربة 8 هي واحدة من ثمانٍ. وتستخدم الأخريات شبكات أصغر بكثير:

تتضمن سجلات التجارب الكاملة كل موجّه، وملخصات استدلال Astra، وكل قطعة شيفرة شغّلها.

تحقق بنفسك من إصلاح حلقة تفكير Qwen3.5-0.8B

أنظف اختبار هو تشغيل نقطتي الحفظ خلف واجهة API نفسها المتوافقة مع OpenAI وإرسال الموجّهات نفسها إليهما. يقوم vLLM بذلك بأمر واحد لكل نموذج:

vllm serve Qwen/Qwen3.5-0.8B --port 8001 \
  --served-model-name qwen --max-model-len 34816 --gpu-memory-utilization 0.45

vllm serve RikiyaT/Qwen3.5-0.8B-weight-space-programming --port 8002 \
  --served-model-name qwen --max-model-len 34816 --gpu-memory-utilization 0.45

يستجيب كلا الخادمين للاسم qwen، لذا يعمل جسم طلب واحد على أي من المنفذين. ويطابق --max-model-len 34816 مثال بطاقة النموذج.

يحاكي كل طلب إعدادات أخذ العينات لدى المؤلفين ويشغّل التفكير:

{
  "model": "qwen",
  "messages": [{"role": "user", "content": "{{question}}\nPlease reason step by step, and put your final answer within \\boxed{}."}],
  "temperature": 0.6,
  "top_p": 0.95,
  "top_k": 20,
  "presence_penalty": 1.5,
  "max_tokens": 32768,
  "chat_template_kwargs": {"enable_thinking": true}
}

قيمة \boxed{} الأخيرة هي الإجابة، ويقول finish_reason ما إذا كان النموذج قد توقف (stop) أو نفدت رموزه (length). انتهاء length يعني حلقة.

إذا كنت تفضّل عدم تشغيل GPU، يمكنك اختبار واجهة GPT-6 Astra API بالطريقة نفسها، أو مقارنة نماذج Qwen الصغيرة محليًا عبر إعداد Qwen3.5 Ollama المجاني.

دع وكيل البرمجة لديك يختبر كلا النموذجين باستخدام Apidog CLI

تقييم عشرين توليدًا طويلًا يدويًا مهمة لوكيل البرمجة لديك. يمنح Apidog CLI الوكيل بيئات وسيناريوهات اختبار وتشغيلات مدفوعة بالبيانات وتقارير، وهو يعمل على جهازك، لذا تعمل نقاط نهاية localhost.

ثبّته وامنح وكيلك المهارة:

npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com   # pick your agent when prompted

ثم أعطِ Claude Code أو Codex أو Cursor أو OpenCode موجّهًا واحدًا:

In Apidog project <id>, create two environments: qwen-base at http://localhost:8001
and qwen-edited at http://localhost:8002. Create a test scenario that POSTs to
/v1/chat/completions with the body in request.json, using {{question}} from the
first 10 GSM8K test questions in gsm8k-10.csv. Assert that the last \boxed{} value
equals {{answer}} and that choices[0].finish_reason is not "length". Run it against
both environments and give me a table: correct answers and length finishes per model.

يقرأ الوكيل مخطط الحمولة، ويتحقق من JSON الخاص بها، ثم يشغّل هذه الأوامر:

apidog environment create qwen-base --project <id> --base-url http://localhost:8001
apidog environment create qwen-edited --project <id> --base-url http://localhost:8002
apidog cli-schema get test-scenario-create
apidog cli-schema validate test-scenario-create --file scenario.json
apidog test-scenario create --project <id> --file scenario.json
apidog run -t <scenarioId> --project <id> -e <baseEnvId> \
  -d gsm8k-10.csv --timeout-request 1800000 -r cli,json --out-file qwen-base
apidog run -t <scenarioId> --project <id> -e <editedEnvId> \
  -d gsm8k-10.csv --timeout-request 1800000 -r cli,json --out-file qwen-edited

-d يغذّي كل صف CSV كتكرار واحد. --timeout-request بالمللي ثانية، وقد تستغرق إجابة تدخل في حلقة دقائق لاستهلاك 32,768 رمزًا. -r cli,json يطبع ملخصًا ويكتب تقرير JSON يمكن للوكيل مقارنته. والأسئلة العشرة تأتي من قسم اختبار GSM8K.

Flow of the comparison: a coding agent runs apidog run on one test scenario with GSM8K iteration data against two vLLM environments, base Qwen3.5-0.8B on port 8001 and edited Qwen3.5-0.8B on port 8002, and compares answers and finish_reason in the reports

إذا بدت تشغيلتك مثل تشغيلة المؤلفين، ستفشل معظم إجابات النموذج الأساسي في تحقق finish_reason وستنجح معظم الإجابات المُحرَّرة فيه. عشرة أسئلة اختبار سريع، وليست معيارًا، لذا اعتبر الفجوة إشارة لا نتيجة. أضف --upload-report لعرض التشغيل في التطبيق، وراجع مرجع أمر apidog run لكل الخيارات.

يعمل السيناريو نفسه كاختبار انحدار لأي تبديل نموذج؛ ويوضح دليل Apidog CLI CI/CD إعداد -r junit.

ماذا يعني هذا إذا كنت توزّع نماذج صغيرة

هل تختار فئة GPT-6 لعمل الوكلاء؟ راجع GPT-6 Luna مقابل Sol مقابل Astra.

الأسئلة الشائعة

هل درّب GPT-6 Astra نموذج Qwen3.5-0.8B؟ لا. لم يسمح المؤلفون بأي انحدار تدرجي ولا حلقة تدريب. حرّر Astra الأوزان في جلسة Python وراقب النموذج فقط عبر 10 أو 25 أو 50 تمريرة أمامية.

كم وزنًا غيّر التحرير؟ 131,072 وزنًا، ويقدّرها المؤلفون بـ 0.016% من النموذج. تقع التغييرات في مصفوفات down_proj الخاصة بشبكات MLP في الطبقتين 15 و19، و64 عمود إخراج في كل منهما.

هل النموذج المُحرَّر متاح؟ نعم، باسم RikiyaT/Qwen3.5-0.8B-weight-space-programming على Hugging Face بموجب Apache 2.0، مع بصمات الموترين المتغيّرين وإعادة تشغيل مستقلة (51.0% على MATH-500).

لماذا قفزت نتائج الرياضيات كثيرًا؟ لأن النموذج الأساسي كان يدخل في حلقات. على MATH-500، بلغت 93.0% من إجاباته حد 32,768 رمزًا. خفّض التحرير ذلك إلى 33.1%، فأكمل النموذج إجابات كان قادرًا أصلًا على استنتاجها. لم يتعلم رياضيات جديدة.

هل تعمل برمجة فضاء الأوزان على أي نموذج؟ ليس بعد، بحسب المؤلفين أنفسهم. على Gemma 3 270M، الذي نادرًا ما يدخل في حلقات، نقل أفضل تحرير MATH-500 من 6.8% إلى 7.7%. ويصف المؤلفون كل نتائجهم بأنها مبكرة جدًا.

هل يمكنني اختبار النموذج المُحرَّر دون كتابة شيفرة؟ نعم. تشغّل مساحة العرض التجريبية على Hugging Face كلا النموذجين على مسألة تكتبها. وللفحص القابل للتكرار، استخدم vLLM مع Apidog CLI كما هو موضح أعلاه.

button

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات