Ana içeriğe geç

Ağırlık-Uzayı Programlama: LLM’ler Sinir Ağı Ağırlıklarını Nasıl Okur ve Düzenler

Ağırlık-uzayı programlama, bir LLM’in eğitimsiz şekilde bir ağın ağırlıklarını okumasını ve düzenlemesini sağlar. MIT’nin GPT-6 Astra deneyleri, sonuçlar, sınırlar ve anlamı.
Tom Farnschläder
Tom Farnschläder

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google ile devam edinDevam ederek, Kullanım Koşullarımızı ve Gizlilik Politikamızı kabul etmiş ve verilerinizin ABD'de saklandığını onaylamış olursunuz.

Ağırlık-uzayı programlama, genel amaçlı bir büyük dil modelinin (LLM) bir sinir ağının ham ağırlıklarını okuduğu ve bunları doğrudan sade bir dilde verilen bir hedeften yola çıkarak düzenlediği veya yazdığı, gradyan inişi ve eğitim döngüsü olmadan çalışan bir yöntemdir. 2 Kasım 2026’da yayımlanan bir blog yazısında dört MIT CSAIL araştırmacısı, GPT-6 Astra’nın bunu halihazırda yapabildiğini bildiriyor: Qwen3.5-0.8B’nin ağırlıklarının %0,016’sını düzenleyerek modelin MATH-500 puanını %7,9’dan %48,1’e yükseltti.

Yazarlar Rikiya Takehi, Jayden Teoh, Alex Zhang ve özgün DSPy makalesinin ilk yazarı Omar Khattab. Sonuçlar erken aşamada ve tek bir LLM’den geliyor, ancak ekip bu sonuçların arkasındaki tüm istemleri, yanıtları ve değerlendirmeleri yayımladı.

Bu yazıda ağırlık-uzayı programlamanın ne olduğunu, deneylerin neler gösterdiğini, yöntemin nerede zorlandığını ve sizin çalışmalarınız için ne ifade ettiğini ele alacağım. Düzenlemeyi yapan modele hızlı bir hatırlatma gerekiyorsa, GPT-6 Astra rehberimize bakın.

Ağırlık-Uzayı Programlama Nedir?

Ağırlık-uzayı programlama, bir LLM’den bir sinir ağının ağırlıklarını doğal dildeki bir şarta göre doğrudan okumasını, düzeltmesini veya yazmasını isteme pratiğidir; bazen çevreden hiç geri bildirim almadan. LLM, ağın her bir bölümünün neyi hesapladığını ya da neyi hesaplaması gerektiğini çözer ve sayıları buna göre ayarlar.

Bu, ağırlıkların normalde nasıl üretildiğinden farklı bir yoldur. Bugün ağırlıklar, Adam veya Muon gibi optimize edicilerle gradyan inişi yoluyla, diğer ağların ağırlıklarını üretecek şekilde eğitilen ağlardan ya da biçimsel programları ağlara çeviren derleyicilerden gelir. MIT düzeninde GPT-6 Astra bir eğitim döngüsü yazmaz. Ağırlıklar hakkında, bir mühendisin kod hakkında akıl yürüttüğü gibi akıl yürütür.

LLM’ler zaten istemleri, programları ve eğitim kodunu optimize ediyor. Yazarların argümanı, bu akıl yürütme güdümlü optimizasyonun artık doğrudan ağırlıklara ulaştığıdır.

MIT Araştırmacılarının Gösterdikleri

8 deney üç gruba ayrılıyor: ağırlıkları okumak, düzeltmek ve sıfırdan yazmak. Çoğu, ağırlıkları Astra’nın bağlam penceresine metin olarak sığan küçük ağlar kullanıyor; daha büyük olanlar bir Python korumalı alanı ve bazıları ileri geçişler için bir bütçe ekliyor.

GPT-6 Astra, eğitim olmadan ağları okudu, düzeltti, yazdı ve iyileştirdi

Bir ağın ağırlıklarını okumak

Ekip, 17.253 ağırlığa sahip aynı mimaride, ızgara sürümlerindeki Breakout, Pong, Pac-Man ve Freeway oyunlarında, oyun ajanları için standart pekiştirmeli öğrenme algoritması olan proximal policy optimization (PPO) ile dört politika eğitti. Oyunların listesi verilmeden, Astra, Breakout ajanının ilk katman ağırlıklarının, raketin bulunduğu alt sıraya oturması gibi ipuçlarını okuyarak 4 ağın her biri için doğru oyunu adlandırdı.

Ardından iki daha zor sürüm geldi:

  • Difüzyon modelleri: 3 küçük DDPM’in ağırlıklarından, ileri geçişe izin verilmeden, Astra hangisinin daireler, kareler veya üçgenler ürettiğini belirledi. Modeller dolu şekiller üretmesine rağmen onları dış hatlarıyla çizdi; bu da ağırlık geometrisini, ağı simüle etmek yerine okuduğuna dair bir ipucu.
  • Dil modelleri: Sadece 7,2 milyon parametreli karakter modellerinin orta kısımdaki 4 dönüştürücü bloğu verildiğinde, Astra eğitim dilini (Python, romaji Japonca veya İngilizce) her 3’ü için, iki denemede de doğru adlandırdı. Ayrıca kopyalama başlarının (induction head olarak da bilinir) tamamını buldu ve başka hiçbir başlığı öyle adlandırmadı. Çoklu kafa dikkat rehberimiz bu başlıkların ne yaptığını açıklar.

Bozuk bir politikayı onarmak

Kinetix ortamında bir araba ve rampa seviyesinde 1 milyar adım için eğitilen bir PPO politikası, her seferinde rampaya doğru dümdüz gidip stop ediyordu. 171.664 ağırlık, sahne ve kaydedilmiş bir bölüm verildiğinde, Astra hatayı açıkladı ve araçsız tek bir yanıtta bir düzeltme yazdı. Düzenleme, ağırlıkların %3,5’ini değiştirdi ve başarı oranını 1.024 bölüm boyunca %0’dan %100’e çıkardı.

Düzeltme okunabilir: arabayı geri manevra yaptıran küçük bir ek yol; araç şeridi geçince devreden çıkıyor.

Ağları sıfırdan yazmak

Üç MinAtar oyunu için Astra, kuralları, kaynak kodu ve tümü sıfır olan bir ağı aldı; ardından verisiz, gradyansız ve araçsız şekilde tek bir yanıtta tüm ağırlıkları metin olarak yazdı. Üç ağın tümü, 100 milyon adım eğitilmiş PPO ajanlarını geçti.

OyunPPO, 100M adımPPO, 500M adımAstra, tek sefer
Breakout15,825,3517,4
Seaquest5,688,953,1
Asterix25,855,253,2

Breakout aykırı çünkü Astra onu bir program gibi yazdı: ilk katman topun nereye düşeceğini hesaplıyor, ikinci katman raketi oraya götürüyor. 1.480.274 ağırlıklı 9x9 bir Go ağı, bir Python korumalı alanında yazıldığında ve Astra’nın test etmek için 50 ileri geçiş hakkı olduğunda, 20 milyon oyun üzerinde eğitilmiş eş boyutta bir PPO ağına üstün geldi.

Qwen3.5-0.8B’de düşünme döngülerini düzeltmek

En uygulamaya dönük sonuç bilinen bir kusuru hedefliyor. Qwen’in model kartı, Qwen3.5-0.8B’nin düşünme döngülerine yatkın olduğunu belirtiyor ve MIT testlerinde MATH-500 yanıtlarının %93,0’ı 32.768 belirteç sınırına takıldı. Bir Python çekirdeğinde, GSM8K ve MATH’tan alıştırma soruları üzerinde 50 ileri geçişle çalışan Astra, döngüleri 15 ve 19. katmanların MLP’lerinin yazdığı bir doğrultuya kadar izledi ve bunu her birinde 64 çıkış sütunundan çıkarttı.

Düzenlenen ağırlıklar
%0,016
0,8 milyardan 131.072
MATH-500
%7,9 → %48,1
Temel vs. düzenlenmiş
GSM8K
%13,8 → %67,1
Temel vs. düzenlenmiş
IFEval
%21,0 → %62,3
Yönerge izleme

Belirteç sınırına takılan yanıtların payı %33,1’e düştü ve döngüler matematiğe özgü olmadığından, yönerge izleme de iyileşti. Bütçe önemliydi: 10 veya 25 ileri geçişle döngüler neredeyse hiç azalmadı. Hugging Face’ten Ahsen Khaliq, düzenlenmiş denetim noktasını günlüklerden yeniden inşa etti ve aynı ayarlarla MATH-500’ü tekrar çalıştırarak %51,0 elde etti.

Ağırlık-Uzayı Programlamanın Sınırları

Ağırlık-uzayı programlama, sorun ağırlıklarda tekil ve yerelleşmiş bir arıza olmadığında yetersiz kalır. Yazarlar iki net başarısızlık bildiriyor ve ikisi de öğretici.

  • Yalakalık ağırlıklarda görünmezdi. Gemma 3 270M’in dürüst ve yalaka iki ince ayarı verildiğinde, Astra dört denemenin hiçbirinde yalnızca ağırlıklardan yola çıkarak onları ayırt edemedi. Dikkat desenlerini gördüğünde ise üç çiftin hepsinde yalakayı ayıkladı.
  • Gemma 3 270M matematikte daha iyi olmadı. Gemma nadiren döngüye giriyor, bu nedenle kaldırılacak tekil bir arıza yoktu ve Astra’nın en iyi düzenlemesi MATH-500’ü %6,8’den %7,7’ye taşıdı. Yazarların ifadesiyle, ağırlıkları düzenlemek bir yeteneği gizleyen engeli kaldırabilir; fakat modelde hiç olmayan bir yeteneği ekleyemez.

Daha geniş çekinceler: Her deney tek bir LLM kullanıyor, en büyük ağ 0,8 milyar ağırlığa sahip ve bu bir hakemli makale değil, erken sonuçlu bir blog yazısı. Yazarlar, görev için hâlâ bir kıyas seti inşa ettiklerini söylüyor.

Veri ve Yapay Zekâ Uygulayıcıları İçin Anlamı

Uygulayıcılar için ağırlık-uzayı programlama bugün bir araştırma sinyali; henüz bir araç değil. Bunun iki yönü şimdiden izlemeye değer.

İlki yorumlanabilirlik. SHAP gibi atıf yöntemleri bir modeli girdileri üzerinden açıklar ve mekanistik yorumlanabilirlik için işe uygun araçlar gerekir. Astra, araştırmacıların kendisine hiç bahsetmediği bilinen bir matris çarpımı yöntemiyle induction head’leri geri kazandı. Bu daha büyük modellerde de geçerli olursa, “bu katman ne yapıyor diye bir öncül modele sor” ağır araç setinden önce ilk adım olabilir.

İkincisi hedefli onarım. Küçük bir modelin, Qwen’in döngüleri gibi dar bir arızası olduğunda, yaygın çözüm onu yeni verilerle ince ayar etmektir. 131.072 ağırlıklık bir düzenleme modelin geri kalanına dokunmadan bırakır; yazarlar bunun, ince ayarın yol açabileceği yıkıcı unutmayı önlediğini savunuyor. Bunu bir hipotez olarak görürüm: Gemma sonucu, düzenlemenin yalnızca tek bir suçlu bulunduğunda işe yaradığını gösteriyor. Yazarların daha geniş dilek listesi—modelleri çalıştırmadan arka kapılar için denetlemekten verisiz unutmaya kadar—henüz gösterilmedi.

Ağırlık-Uzayı Programlamayı Kendiniz Nasıl Denersiniz

Ağırlık-uzayı programlamayı test etmenin en doğrudan yolu deneylerden birini yeniden oynamaktır: günlükler, Astra’nın aldığı tam istemleri barındırıyor ve GPT-6 Astra, OpenAI API’sinde, Amazon Bedrock’ta ve ChatGPT’nin ücretli planlarında gpt-6-astra olarak mevcut. Politikanın ağırlıklarından oyunu adlandıran Deney 1, başlamanın en kolay yolu:

  1. Günlükleri alın. lm_understand-logs deposunu klonlayın. Her deney klasöründe, yazıdaki her sayıyı geldiği dosyayla eşleyen bir README var.

  2. Araçsız bir deney seçin. Deneyler 1, 2, 4 ve 5 Astra’ya hiçbir araç vermedi; bu yüzden tek bir istem her çalıştırmayı yeniden üretir. Deney 1’de, her çalıştırma klasöründe ağ açıklaması, soru ve metin olarak tüm 17.253 ağırlığı içeren bir prompt.txt bulunur.

  3. Yazarların yaptığı şekilde gönderin. gpt-6-astra çağrılarını Codex CLI (codex exec, istem stdin’de) üzerinden, tüm yerleşik araçlar kapalıyken ve Deney 1 için yüksek akıl yürütme çabasıyla yaptılar. Yapılandırmanın geri kalanı harness/codex_config.toml içindedir; ancak varsayılanları gpt-6-luna ve medium çabadır, bu yüzden yazarların yaptığı gibi her çağrıda modeli ve akıl yürütme çabasını ayarlayın.

  4. Yanıtları karşılaştırın. Her çalıştırma klasöründe Astra’nın answer.md’si de bulunur ve eval/ puanlamayı ve yanıt anahtarını barındırır.

Bir çalıştırma yaklaşık 73.700 giriş belirteci ve 2.000’in altında çıkış belirteci kullandı; dolayısıyla API’de milyon başına 10 ve 50 dolar fiyatla, bir tekrar 1 doların altına mal olur. Python korumalı alanı deneyleri (3, 6, 7 ve 8) yazarların harness/sandbox.py dosyasını ve çok daha fazla turu gerektirir; bütçeyi buna göre ayarlayın.

Hiçbir şey çalıştırmak istemezseniz, düzenlenmiş Qwen3.5-0.8B, Apache-2.0 lisansı altında Hugging Face’te; model kartında değişen 2 tensörün hash’leri yer alıyor. Hugging Face Space, bir problem yazıp temel modelin döngüye girerken düzenlenmiş modelin çözmesini izlemenize olanak tanır.

Son Düşünceler

Ağırlık-uzayı programlama, öncü bir LLM’in, en azından küçük ağlar ve tekil, yerelleşmiş arızalar için, akıl yürüterek sinir ağı ağırlıklarını okuyup düzenleyebildiğini gösteriyor. Dikkat çekecek sonuç Qwen düzeltmesi ve bunu hak ediyor; kısmen de Hugging Face’in bir gün içinde yeniden üretmiş olması nedeniyle.

Daha büyük iddialar konusunda daha temkinliyim. Tek bir model, küçük ağlar ve kıyas seti olmaması, yazarların “sinir ağırlıklarımız yakında LLM’ler tarafından doğal olarak optimize edilecek” çerçevesi için zayıf bir temel. Yine de başarısızlıklar, başarılar kadar özenle raporlanmış; bu da başarıları daha ciddiye almamı sağlıyor.

Bu düzenlemelerin hedeflediği dönüştürücü iç yapılarını anlamaya hevesliyseniz, Geniş Dil Modelleri Geliştirme öğrenim yolumuzu öneririm.

SSS

Ağırlık-uzayı programlama nedir?

Ağırlık-uzayı programlama, genel amaçlı bir LLM’in bir sinir ağının ham ağırlıklarını okuyup gradyan inişi veya eğitim döngüsü olmaksızın, doğal dildeki bir hedeften doğrudan düzenlediği veya yazdığı bir yöntemdir. Terim, MIT CSAIL araştırmacıları Rikiya Takehi, Jayden Teoh, Alex Zhang ve Omar Khattab’ın Kasım 2026 tarihli blog yazısından gelir; yöntemi GPT-6 Astra ile test ettiler.

LLM’ler sinir ağı ağırlıklarını doğrudan düzenleyebilir mi?

Evet, en azından küçük ağlar için. MIT CSAIL’in deneylerinde GPT-6 Astra, başarısız bir kontrol politikasının ağırlıklarının %3,5’ini düzenleyerek başarıyı %0’dan %100’e çıkardı ve Qwen3.5-0.8B’nin ağırlıklarının %0,016’sını düzenleyerek düşünme döngülerini azalttı; belirteç sınırına takılan yanıtlar %93’ten %33’e düştü. Tek bir arıza kaldırılacak durumda olmadığında, Gemma 3 270M’in matematik hatalarında olduğu gibi, başarısız oldu.

GPT-6 Astra, eğitimsiz şekilde Qwen3.5-0.8B’yi nasıl iyileştirdi?

Astra, Qwen3.5-0.8B’nin düşünme döngülerini 15 ve 19. katmanların MLP’lerinin yazdığı bir doğrultuya kadar izledi, sonra bunu her birinde 64 çıkış sütunundan çıkartarak 131.072 ağırlığı değiştirdi. Alıştırma sorularında 50 ileri geçişle MATH-500 %7,9’dan %48,1’e, GSM8K %13,8’den %67,1’e ve IFEval %21,0’dan %62,3’e yükseldi.

Ağırlık-uzayı programlama, ince ayarın yerine geçer mi?

Henüz değil. Qwen’in düşünme döngüleri gibi tekil ve yerelleşmiş bir arıza için işe yaradı; ancak modelde hiç olmayan yetenekleri ekleyemedi ve yalnızca tek bir LLM ile 0,8 milyar ağırlığa kadar olan ağlarda test edildi. Şimdilik bir modelin davranışını değiştirmek için pratik yol ince ayardır.

Ağırlık-uzayı programlamayı kendim deneyebilir miyim?

GPT-6 Astra erişimi olmadan da sonuçları inceleyip test edebilirsiniz. Araştırmacılar, GitHub’da tam deney günlüklerini yayımladı; düzenlenmiş Qwen3.5-0.8B, Apache-2.0 lisansıyla Hugging Face’te mevcut ve bir Hugging Face Space, temel ve düzenlenmiş modelleri kendi problemlerinize karşı karşılaştırmanıza olanak tanır.

Tom Farnschläder

Yazar

Tom Farnschläder

Tom, DataCamp’te Veri Bilimi Editörüdür. Yapay zekâ eğitimleri yazar ve düzenler, yeni LLM sürümlerini karşılaştırır ve yapay zekâ destekli iş akışları oluşturur. Daha önce Deutsche Telekom’da veri bilimi alanında çalıştı. İş dışında, makine öğrenmesiyle futbol maçlarını tahmin eder.

Konular

İlgili