GPT-6 Astra, Qwen3.5-0.8B'yi Ağırlıklarının %0,016'sını Düzenleyerek Nasıl Düzeltti?

GPT-6 Astra, Qwen3.5-0.8B'nin ağırlıklarının %0,016'sını eğitim olmadan düzenledi ve MATH-500'ü %7,9'dan %48,1'e yükseltti. Nelerin değiştiği, sınırları ve her iki modelin nasıl test edileceği.

Ashley Innocent

Ashley Innocent

4 November 2026

GPT-6 Astra, Qwen3.5-0.8B'yi Ağırlıklarının %0,016'sını Düzenleyerek Nasıl Düzeltti?

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

GPT-6 Astra, Qwen3.5-0.8B’nin MATH-500 puanını herhangi bir eğitim olmadan %7.9’dan %48.1’e çıkardı. Modelin ağırlıklarını okudu, modelin düşünmesinde döngüye girmesine neden olan bir yön buldu ve bunu iki MLP katmanından çıkardı. Bu düzenleme 131,072 ağırlığa, yani modelin %0.016’sına dokundu. Rakamlar, dört MIT CSAIL araştırmacısının 2 Kasım tarihli yazısından geliyor ve düzenlenmiş model herkese açık, yani iddiayı kendiniz kontrol edebilirsiniz.

Aşağıda: ağırlık uzayı programlamanın ne olduğu, Astra’nın neyi değiştirdiği, yöntemin nerede işlemeyi bıraktığı ve kodlama ajanınıza her iki modeli Apidog CLI ile nasıl karşılaştırtacağınız.

Ağırlık uzayı programlama nedir?

Ağırlık uzayı programlama, genel amaçlı bir LLM’in bir sinir ağının ağırlıklarını doğrudan okuması ve yazmasıdır; sade bir dille ifade edilmiş bir hedefle yönlendirilir, gradyan inişi ve eğitim döngüsü yoktur. Model, ağın her bir parçasının ne hesapladığı üzerine akıl yürütür, ardından sayıları bir programcının kaynak kodunu düzenlemesi gibi elle değiştirir.

Terim, Rikiya Takehi, Jayden Teoh, Alex Zhang ve Omar Khattab tarafından yazılan ve 2 Kasım 2026’da yayımlanan Sparks of Weight-Space Programming adlı çalışmadan geliyor. Yazarlar her sonucu “çok erken” olarak nitelendiriyor ve birkaçı tek veya birkaç çalıştırmadan geliyor. Düzenlemeyi yapan model hakkında arka plan için GPT-6 Astra uygulamalı incelemesi sayfasına bakın.

GPT-6 Astra, Qwen3.5-0.8B’yi nasıl düzeltti

Manşet sonuç Deney 8. Araştırmacılar GPT-6 Astra’dan Qwen3.5-0.8B’yi ağırlıklarını düzenleyerek matematikte daha iyi hale getirmesini istedi. Adım adım olanlar şöyle:

  1. Kurulum. Astra’ya modelin ağırlıklarının yüklü olduğu bir Python oturumu (not defteri gibi), GPU yok ve eğitim setlerinden 7,469 GSM8K artı 7,275 MATH alıştırma problemi verildi. Test setlerini hiç görmedi.
  2. Bütçe. Eğitim yerine Astra 10, 25 veya 50 ileri geçiş harcayabilirdi. Bir ileri geçiş, modelin 512 probleme kadar yanıt vermesini veya 1,024 metne kadar okumasını sağlıyordu.
  3. Teşhis. Astra, temel modelin döngüye girdiğini gördü: ilk 96 alıştırma yanıtından 85’i bir yanıta ulaşmadan 32,768 token sınırına dayandı. Yazarlar, Qwen’in kendi model kartının bu modelin düşünme döngülerine yatkın olduğu konusunda uyardığını belirtiyor.
  4. İzleme. Astra, döngüyü 15. ve 19. katmanların MLP’leri tarafından yazılan bir yöne kadar izledi.
  5. Düzenleme. Bu yönü iki katmanın her birinde down_proj’un 64 çıktı sütunundan çıkardı. Bu, 0.8 milyar içinde 131,072 ağırlık demek.
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 model kartına göre, temel Qwen/Qwen3.5-0.8B kontrol noktasından yalnızca bu iki down_proj tensörü farklı ve yeniden oluşturulan her tensör, yazarların değerlendirdiği tensöre karşı sha256 ile doğrulanmış. Düzenlenmiş model Apache 2.0 altında dağıtılıyor.

Sonuçlar: temel ve düzenlenmiş Qwen3.5-0.8B

Buradaki her rakam yazarların yazısından alınmıştır (düşünme açık, 32,768 token’a kadar, problem başına birkaç örnek). “Token sınırına ulaştı”, token’ı tükenen MATH-500 yanıtlarının oranıdır.

Qwen3.5-0.8B MATH-500 GSM8K IFEval Token sınırına ulaştı
Temel 7.9% 13.8% 21.0% 93.0%
Düzenlenmiş, 10 ileri geçiş 12.3% 25.7% 49.0% 87.2%
Düzenlenmiş, 25 ileri geçiş 14.1% 25.1% 39.9% 86.4%
Düzenlenmiş, 50 ileri geçiş 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%

demo Space, bir problem yazıp her iki modelin yanıtını izlemenizi sağlar.

Ağırlıkları düzenlemenin yapamayacakları

Yazarlar, manşetten daha önemli bir kontrol çalıştırdı. Aynı yaklaşımı, nadiren döngüye giren bir model olan Gemma 3 270M üzerinde denediler (yanıtlarının %8.5’i sınıra ulaştı; Qwen için bu oran %93’tü).

Gemma 3 270M MATH-500
Temel 6.8%
En iyi düzenleme (25 ileri geçiş) 7.7%

Gemma’nın hataları, yanlış aritmetik gibi sıradan hatalardı ve kapatılacak tek bir bileşen yoktu. Yazarların sonucu: düzenleme, bir yeteneği gizleyen bir engeli kaldırdı, ancak modelin sahip olmadığı bir yeteneği ekleyemedi. Qwen birçok yanıtı zaten çözebiliyordu. Sadece onları hiç bitiremiyordu.

Yani bu “eğitim bitti” değil. Bu, bir sınır modelinin tek bir yerde yaşayan tek bir başarısızlığı bulup kaldırmasıdır.

Ağırlık uzayı programlama makalesinin geri kalanı

Deney 8, sekiz deneyden biri. Diğerleri çok daha küçük ağlar kullanıyor:

Tam deney günlükleri her istemi, Astra’nın akıl yürütme özetlerini ve çalıştırdığı her kod parçasını içeriyor.

Qwen3.5-0.8B düşünme döngüsü düzeltmesini kendiniz kontrol edin

En temiz test, her iki kontrol noktasını da aynı OpenAI uyumlu API’nin arkasında sunmak ve onlara aynı istemleri göndermektir. vLLM bunu model başına tek komutla yapar:

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

Her iki sunucu da qwen adına yanıt verir, böylece tek bir istek gövdesi her iki bağlantı noktasında da çalışır. --max-model-len 34816, model kartındaki örnekle eşleşir.

Her istek, yazarların örnekleme ayarlarını yansıtır ve düşünmeyi açar:

{
  "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}
}

Son \boxed{} değeri yanıttır ve finish_reason modelin durduğunu (stop) mu yoksa token’ının mı tükendiğini (length) söyler. length bitişi bir döngüdür.

Bir GPU çalıştırmayı tercih etmiyorsanız, GPT-6 Astra API’sini aynı şekilde test edebilir veya küçük Qwen modellerini yerel olarak ücretsiz Qwen3.5 Ollama kurulumu ile karşılaştırabilirsiniz.

Kodlama ajanınızın her iki modeli Apidog CLI ile test etmesini sağlayın

Yirmi uzun üretimi elle değerlendirmek, kodlama ajanınızın işidir. Apidog CLI, ajana ortamlar, test senaryoları, veri güdümlü çalıştırmalar ve raporlar verir ve makinenizde çalışır, böylece localhost uç noktaları çalışır.

Kurun ve ajanınıza beceriyi verin:

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

Ardından Claude Code, Codex, Cursor veya OpenCode’a tek bir istem verin:

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.

Ajan yük şemasını okur, JSON’unu doğrular ve ardından şu komutları çalıştırır:

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, her CSV satırını bir yineleme olarak besler. --timeout-request milisaniye cinsindendir ve döngüye giren bir yanıtın 32,768 token’ı tüketmesi dakikalar alabilir. -r cli,json bir özet yazdırır ve ajanın diff’leyebileceği bir JSON raporu yazar. 10 soru GSM8K test bölümünden gelir.

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

Çalıştırmanız yazarlarınkine benziyorsa, çoğu temel yanıt finish_reason doğrulamasında başarısız olur ve çoğu düzenlenmiş yanıt bunu geçer. On soru bir hızlı testtir, kıyaslama değildir; bu yüzden bir farkı puan değil sinyal olarak değerlendirin. Çalıştırmayı uygulamada görüntülemek için --upload-report ekleyin ve tüm bayraklar için apidog run komut referansına bakın.

Aynı senaryo, herhangi bir model değişimi için regresyon testi olarak çalışır; Apidog CLI CI/CD kılavuzu -r junit kurulumunu gösterir.

Küçük modeller yayınlıyorsanız bu ne anlama gelir

Ajan işi için bir GPT-6 katmanı mı seçiyorsunuz? GPT-6 Luna vs Sol vs Astra sayfasına bakın.

SSS

GPT-6 Astra, Qwen3.5-0.8B’yi eğitti mi? Hayır. Yazarlar gradyan inişine ve eğitim döngüsüne izin vermedi. Astra, bir Python oturumunda ağırlıkları düzenledi ve modeli yalnızca 10, 25 veya 50 ileri geçişle gözlemledi.

Düzenleme kaç ağırlığı değiştirdi? Yazarların modelin %0.016’sı olarak belirttiği 131,072 ağırlık. Değişiklikler, 15. ve 19. katmanlardaki MLP’lerin down_proj matrislerinde, her birinde 64 çıktı sütununda yer alıyor.

Düzenlenmiş model mevcut mu? Evet, Hugging Face’te Apache 2.0 altında RikiyaT/Qwen3.5-0.8B-weight-space-programming olarak, değiştirilen iki tensörün hash’leri ve bağımsız bir yeniden çalıştırmayla (MATH-500’de %51.0) birlikte.

Matematik puanları neden bu kadar arttı? Çünkü temel model döngüye giriyordu. MATH-500’de yanıtlarının %93.0’ü 32,768 token sınırına ulaştı. Düzenleme bunu %33.1’e düşürdü, böylece model zaten çözebildiği yanıtları bitirdi. Yeni matematik öğrenmedi.

Ağırlık uzayı programlama herhangi bir modelde çalışır mı? Yazarların kendi ifadesine göre henüz değil. Nadiren döngüye giren Gemma 3 270M’de en iyi düzenleme MATH-500’ü %6.8’den %7.7’ye taşıdı. Yazarlar tüm sonuçlarını çok erken olarak nitelendiriyor.

Düzenlenmiş modeli kod yazmadan test edebilir miyim? Evet. Hugging Face demo Space, yazdığınız bir problem üzerinde her iki modeli de çalıştırır. Tekrarlanabilir bir kontrol için yukarıda gösterildiği gibi vLLM artı Apidog CLI kullanın.

button

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin