2,5 yıllık dizüstü bilgisayarım artık Space Invaders'ı JavaScript ile yazıyor (GLM-4.5 Air)
(simonwillison.net)- 2,5 yıllık MacBook Pro M2 üzerinde GLM-4.5 Air 3bit modeli kullanılarak Space Invaders oyun kodu tek seferde üretildi
- Bu model, Çinli Z.ai tarafından MIT lisansıyla yayımlanan en yeni open weight modellerden biri ve kodlama benchmark'larında güçlü performans gösteriyor
- 44GB'lık 3bit quantized sürüm sayesinde 64GB RAM'li PC'lerde de çalıştırılabiliyor
- ml-explore/mlx-lm kütüphanesi en güncel commit ile kullanılarak model yerelde çalıştırıldı; nispeten yüksek hız ve kararlı çalışma deneyimlendi
- Son dönemde çıkan yerelde kodlamaya odaklı büyük dil modelleri, çok yüksek kod üretme yeteneği göstererek hızla gelişiyor
GLM-4.5 Air ve MLX ile JavaScript Space Invaders üretme deneyimi
29 Temmuz 2025
Dün tanıtılan GLM-4.5 model ailesi, Çinli Z.ai tarafından MIT lisansıyla yayımlanan en yeni yüksek performanslı open weight modellerden biri.
Kodlama benchmark'larında Claude Sonnet 4 gibi mevcut modellerle kıyaslandığında da yüksek performans sergilediği değerlendiriliyor.
En küçük GLM-4.5 Air modeli bile toplam 106 milyar parametreye ve yaklaşık 206GB boyuta sahip.
Ivan Fioravanti, bunun MLX üzerinde çalışabilmesi için 3bit ile 44GB'a quantize edilmiş bir sürümünü yayımladı; böylece 64GB bellekli dizüstü bilgisayarlarda da çalıştırılabiliyor.
Doğrudan denendiğinde, bu küçük modelin bile son derece güçlü bir performans gösterdiği görüldü.
Girdi prompt'u:
HTML ve JavaScript ile Space Invaders'ı uygulayan bir sayfa yazmasını isteyen bir prompt girildi
Modelin yanıt üretmesi biraz zaman aldı ve bu çıktı başarıyla üretildi.
Her ne kadar temel bir örnek olsa da, 2,5 yıllık bir dizüstü bilgisayarda (64GB MacBook Pro M2) ilk denemede çalışan, oldukça tamamlanmış bir kodu doğrudan üretmesi etkileyici.
Model nasıl çalıştırılır
- En güncel mlx-lm kütüphanesinin
mainbranch'i ve glm4_moe desteği ekleyen belirli commit kullanılmalı - Python ortamı uv ile başlatıldıktan sonra model şu kodla yükleniyor
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/GLM-4.5-Air-3bit")
-
44GB boyutundaki model ağırlıkları
~/.cache/huggingface/hub/models--mlx-community--GLM-4.5-Air-3bitklasörüne kaydediliyor -
Aşağıdaki prompt girilerek üretim çalıştırılıyor
prompt = "Write an HTML and JavaScript page implementing space invaders"
messages = [{"role": "user", "content": prompt}]
prompt = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True
)
response = generate(
model, tokenizer,
prompt=prompt,
verbose=True,
max_tokens=8192
)
- Üretim sürecinde önce problem gereksinimleri ve oyun tasarımı bilgileri düzenlenip çıktı olarak veriliyor
- Ardından gerçekten çalışan HTML, CSS ve JavaScript kodu hızlı bir şekilde üretiliyor
Üretim istatistikleri
-
Prompt: 14 token, saniyede 14.095 token üretimi
-
Gövde üretimi: 4193 token, saniyede 25.564 token üretimi
-
En yüksek bellek kullanımı: 47.687GB
-
Tüm konuşma kaydı gist bağlantısında
-
Çıktı kaynağı GitHub örneğinde görülebilir
-
Doğrudan tarayıcıda çalıştırma testi de yapılabilir
Pelican benchmark testi
- Aynı modelin SVG görsel üretme yeteneği, pelican riding a bicycle benchmark'ı ile de değerlendirildi
Generate an SVG of a pelican riding a bicycleprompt'u ile yaratıcı bir SVG görsel kodu başarıyla üretildi- Model, sonucu döndürürken en fazla yaklaşık 48GB RAM kullandı
- Yeterli belleği sağlamak için dizüstü bilgisayarda bazı uygulamaların kapatılması gerekti
- Hız da tatmin edici düzeydeydi
Yerel kodlama modellerindeki ilerleme
- 2025 itibarıyla büyük dil modellerinin çoğu kod üretim performansını güçlendirmeye odaklanıyor
- Bunun sonucunda, yerel donanımda da pratikte kullanılabilecek yüksek kod üretme kapasitesi ortaya çıkıyor
- Bu, 2 yıl önce LLaMA'nın ilk denemeleri sırasında hayal etmesi zor bir seviyeye yaklaşıyor
- Hâlen kullanılan aynı dizüstü bilgisayarda GLM-4.5 Air, Mistral 3.2 Small, Gemma 3, Qwen 3 gibi peş peşe çıkan yüksek performanslı açık kaynak modellerin faydası görülebiliyor
- Son 6 ay içinde yerelde çalışan çeşitli yüksek kaliteli, kodlamaya odaklı dil modellerinin piyasaya çıkmasıyla geliştirme ortamı iyileşiyor
1 yorum
Hacker News görüşleri
2 yıl önce LLaMA ile ilk kez tanıştığımda, o dönemde kullandığım dizüstü bilgisayarda şimdi gördüğümüz GLM 4.5 Air gibi modellerin (Gemma 3, Qwen 3, Mistral 3.2 Small vb.) çalışacağını hayal bile edemezdim. Açık modellerin hem kalitesi hem de çıkış hızı beklentilerimi fazlasıyla aştı. Karşılaştırma olsun diye söyleyeyim: ChatGPT Aralık 2022'de çıktığında, o sırada var olan en iyi açık modeller GPT-J (yaklaşık 6~7B) ve GPT-neoX (22B civarı?) idi. Ben de gerçekten neredeyse bir ay boyunca gpt-j ile kullanıcıya dönük bir servis çalıştırmıştım; kalite berbattı ve talimatlara hiç uymuyordu, bu yüzden prompt'u hikâye gibi yazmak ya da ancak birkaç örnek verince işe yarıyordu. Sonra LLama modeli "sızdırıldı" (bence muhtemelen kasıtlı bir sızıntıydı) ve tarih değişti. L1 döneminde quantization, fine-tuning gibi çeşitli optimizasyonlar ortaya çıktı; L2'de ise fine-tuning gerçekten ticarileşti (çoğu fine-tune, Meta'nın orijinalinden daha iyiydi). Alpaca'nın LoRA gösteriminden sonra Mistral, Mixtral, L3, Gemma, Qwen, DeepSeek, glm, Granite gibi inanılmaz güçlü modeller ardı ardına geldi. Bazı analizlere göre açık modeller, SotA laboratuvarlarının yayımladığı modellere karşı yaklaşık 6 ay geriden geliyor (bu arada laboratuvarların en iyi modellerini yayımlamadığı, onları içeride bir sonraki eğitim için veri kürasyonu gibi işler için kullandığı tahmin ediliyor). 6 aylık fark gerçekten çılgınca. gpt-3.5 seviyesine gelmenin 2 yıl süreceğini sanıyordum ama bu modelleri yerelde çalıştırıp üstüne bir de kendim fine-tune edebileceğim bir dünyanın geleceğini hiç düşünmemiştim
Bir süredir LLM fine-tuning ya da LoRA'nın (parameter-efficient fine-tuning) nasıl yapıldığı veya nasıl kullanıldığı hakkında sorular soruyorum. Gerçekten işe yarar cevaplar alamadım; web araması ise tamamen SEO/ilan amaçlı yazılarla dolu. SD LoRA'yı nasıl yapacağımı ve nasıl kullanacağımı 2 yıldır biliyorum ve rahatça kullanıyorum. Ama LLM LoRA konusunda sanki her şey gizli bir sırmış gibi geliyor
Zuck'ın (Mark Zuckerberg) bunu bizzat 4chan gibi yerlere sızdırmış olması pek olası değil
GLM 4.5'in Qwen3 coder'dan daha iyi olup olmadığını merak ediyorum
2,5 yıl önce aldığım 64GB MacBook Pro M2'de böyle bir kod üretiminin mümkün olması hâlâ şaşırtıcı geliyor. Üstelik özellikle de tek seferde, düzeltme gerektirmeden çalışan kod çıktı. Mevcut donanımın ne kadar büyük bir potansiyele sahip olduğunu sanırım fazlasıyla küçümsüyoruz. 'Bitter lesson' (sihir hesaplama gücüne bağlıdır) ya da 'verimli hesaplama sınırı' düşüncesinin, yenilikçi yaklaşımları keşfetmeye istekli zeki insanları tersine uzaklaştırmasından endişe ediyorum. Aslında bugün modellerin eğitim sonrasında ağırlık hassasiyetini ciddi biçimde düşürseniz bile performans kalıyorsa, belki de tam tersine daha verimsiz olan taraf orasıdır
Bunun çıkan implementasyonu gerçekten anlayıp anlamadığı mı görülüyor, yoksa sadece çalıştığına mı bakılıyor, merak ediyorum. LLM'ler de klasik mülakat sorularında kabaca doğru cevaplar verebiliyor gibi geliyor. Ekip arkadaşlarım veri değişikliklerini sunarken kullanmak için LLM ile bir JSON görselleştirme uygulaması yaptılar ama zaten iyi çalışan JSON viewer'lar varken neden yeniden yapıldı emin değilim. Gerçek hayatta insanların LLM'i çoğunlukla sunumu güçlendirmek için kullandığını, ama gerçek kullanım için araç üretmekte pek kullanmadığını düşünüyorum. Başka bir ekip arkadaşımın ise çok miktarda ders içeriğini düzeltmek için bir makroya ihtiyacı vardı; bunu yapmak için önce LLM prompt'u için bir rubrik hazırladı, sonra da makro gereksinimlerini sunum slaytlarında özetleyip tekrar LLM'e verdi. Sistem o kadar karmaşıklaştı ki, gerçekten zaman kazandırdığını düşünmüyorum. Ortaya çıkan şey etkileyiciydi ama çoğu zaman başkaları için hiçbir işe yaramıyordu
Koda göz gezdirip ne yaptığını anladım ama gerçekten çalıştığını görünce daha derine inmedim. LLM ile production kodu yazarken her satırı tek tek kontrol ederim. Ancak başkasına açıklayabilecek kadar tamamen anladığımda kodu commit ederim. LLM'leri gerçek kod yazımında nasıl kullandığıma dair ayrıntılı bir yazım var
https://simonwillison.net/2025/Mar/11/using-llms-for-code/
LLM zaten çözümün kendisi
Aslında tek kullanımlık kod (disposable code), AI'ın gerçekten parladığı alanlardan biri. Saçma build sistemi boilerplate'ini, animasyon kodlarını vb. otomatik üretirse buna memnun olurum (3Blue1Brown'ın animasyonlara harcadığı emeği düşününce, AI bu işte yardımcı olabiliyorsa kesinlikle desteklerim). Programlama bilmeyen birinin bile bir prototip çıkarıp onu profesyonel geliştiriciye devredebilmesi gerçekten çok büyük bir değer. Çıkan kodun tüm ayrıntılarını anlamanız gerekmiyor; sadece geçti/kaldı diye karar vermeniz yetiyor, bu da onu pratikte son derece kullanışlı kılıyor. Ama 'milyonlarca dolarlık değeri' olan problemler farklı; örneğin gerçek servislerde bug düzeltmek ya da yeni özellik eklemek gibi alanlarda AI sınıra dayanıyor. Öte yandan, tek kullanımlık kod eskiden junior geliştiricilerin gelişim aracıydı; bunun AI tarafından alınmış olması da düşündürücü
Bu modelin eğitim verisinde muhtemelen pek çok dilde yazılmış tonla Space Invaders implementasyonu vardı diye tahmin ediyorum
Gerçek test, "bu fonksiyonu değiştir, gemi aşağı ateş etsin, soldan/sağdan ortaya çıksın, 2 oyunculu mod ekle" gibi ayrıntılı uygulama isteklerine modelin cevap verip veremeyeceğini görmek olur
Muhtemelen verinin bir kısmı, veri setindeki oyunların model tarafından kopyalanıp sentetik veri hâline getirilmiş sürümleridir. LLM'lerin ürettiği React frontend koduna bakınca hepsinin birbirine benzemesi hissi veriyor
Bu tartışma aslında 3 yıl önce kapanmıştı. gpt3'ten beri kullanılabilir tüm kod eğitim verisine girmiş durumda ve "kod doğruymuş gibi görünüyor ama aslında tamamen yanlış" durumundan, "0-shot ile gerçekten çalışan full-stack uygulama bir anda üretilebiliyor" aşamasına sadece 2 yılda geldik. Sıçramalı ilerlemenin anahtarı sadece veri seti değil; post-training, reinforcement learning (RL), uzun context ve agentik davranışlar da belirleyici. İlk modellerin 2/4k token sınırı vardı ama şimdi oyun tamamen değişti. Bu bakış olmadan sadece veri deyip geçmek, konuyu baştan kaçırmak olur
breakout oyununa görsel benzerlik ilginç
Böyle yorumlar da sonuçta benzer şekilde, gerçek bir analiz içermeyen sentetik yorumlar ve bunlardan eğitim verisinde sayısız tane bulunuyor olma ihtimali yüksek
M4 Mac'e 128GB RAM taktım ve şu an GLM-4.5-Air-q5-hi-mlx(80GB)'yi LM Studio ile indiriyorum. Sonuçları yakında paylaşacağım
Bir LLM'in dizüstü bilgisayarda yerel olarak çalıştığını göstermek bence çok anlamlı. Eskiden küçük modellerle böyle bir şey neredeyse imkânsızdı, o yüzden bu gerçekten önemli bir kilometre taşı. Ama Space Invaders gibi özel/dar bir alan söz konusuysa, GitHub vb. yerlerden mevcut bir implementasyonu bulup indirmek daha verimli olabilir. Böyle durumlarda eğitim setinin kendisi zaten çok küçük olur ve modelin vektör uzayı da ister istemez sınırlı kalır; dolayısıyla üretilen kodun neredeyse özgününe çok benzer ya da düpedüz kopyala-yapıştır düzeyinde olma ihtimali yüksek. Üstelik bir de modelin yazma hızını bekliyorsunuz; katma değer çok düşük. Bana daha mantıklısı, LLM'e "GitHub'da dil X ile yazılmış mevcut bir Space Invaders kaynağı bul" demek gibi geliyor. ChatGPT'ye bu tür kod düzenleme işlerini verdiğinizde LLM'in sürekli "overfitting neredeyse yoktur ve model ezberlemez" iddiasını tekrarlamaya yönlendirilmesi ise komik (ben açıkçası ikisine de pek inanmıyorum)
Claude Sonnet 4 ile denedim ama düzgün çalışmadı. 3bit quantized GLM-4.5 Air öne geçmiş görünüyor. İlgili sohbet kaydı: https://claude.ai/share/dc9eccbf-b34a-4e2b-af86-ec2dd83687ea Claude Opus 4 de çalışıyor ama Simon'ın paylaştığı GLM-4.5'e kıyasla oldukça geride kalıyor: https://claude.ai/share/5ddc0e94-3429-4c35-ad3f-2c9a2499fb5d
İlk başta başlığı "2,5 yaşındaki çocuğum artık JavaScript ile Space Invaders yazıyor (GLM-4.5 Air)" diye yanlış okumuştum. Ama birkaç yıl içinde bu gerçekten mümkün olabilir
Bu tartışma ilginç bir bilimkurgu sorusunu akla getiriyor. Gelecekteki bir yapay zekânın binary'si bir wormhole'dan geçip bugünün tüketici donanımına düşse, o süper zekâyı ya da en azından zayıf bir agent'ı çalıştırmak mümkün olur muydu (veya ağ bağlantısı/ikna kabiliyeti sayesinde başka donanımlarda kendi kendine bootstrap edebilir miydi)
Bu, şimdiye kadarki ML araştırmalarımın temel varsayımı aslında. 'wormhole' yerine 'genetik programlama/nöroevrim vb.' koyarsanız aynı şey oluyor. demoscene'in aşırı optimize edilmiş yazılımları beni bu yola soktu. Bugünlerde sürekli sorduğum soru şu: "mevcut nesil LLM'lerin tüm işlevlerini eşdeğer biçimde sunan bir binary'nin Kolmogorov karmaşıklığı ne olurdu?" Eğer bu boyut/karmaşıklık şu anki masaüstümde çalışabilecek düzeydeyse nasıl bir tablo ortaya çıkar? Benim PC'm AAA oyunları 400fps ile çalıştırabiliyor; LLM'in ise utf-8 metni 100b/s hızla üretmesiyle aradaki farkın bu kadar büyük olmasına inanmıyorum
Burası benim gerçekten ilgi çekici bulduğum kısım. Ne kadar çok gizli yetenek var ve bunları daha da uç noktalara nasıl taşıyabiliriz? Hatta donanım egzotik ve yeni olsaydı ne olurdu? Biz çoğunlukla insan beyninin sınırları yüzünden soyutlamalarla çalışıyoruz. Bu soyutlamalar bizi dar alanlara odaklanmaya zorluyor ama soyutlamaların büyük bir maliyeti var; bu sınırları kaldırmanın potansiyeli beni meraklandırıyor
Yerel LLM çalıştırmak için minimum/önerilen donanımı özetleyen bir site olup olmadığını merak ediyorum (oyunlardaki gibi bir 'sistem gereksinimleri' dokümanı gibi)
LM Studio'da (ve başka araçlarda da) donanım performansına göre model seçmek oldukça kolay
Diğer yanıtlara ek olarak, iyi bir pratik kural şu: çoğu yerel model q4 quantization'da en iyi performansı veriyor (bellekte model parametre sayısının yarısından biraz fazlası kadar yer gerekiyor). Örneğin 14B bir model için yaklaşık 8GB gerekir; buna context alanını da ekleyince 14B model için 10GB VRAM makul bir alt sınır olur. q4'te kaynak artarsa daha büyük parametreli modele çıkılır, yetmezse daha küçük bir quantization seçilir
Burada da yararlı bilgiler var
https://www.reddit.com/r/LocalLLaMA/
Bu sitenin çok faydalı olduğunu düşünüyorum
https://apxml.com/tools/vram-calculator
Bir HuggingFace hesabınız varsa, sahip olduğunuz donanım bilgisini kaydedip her model için çalıştırıp çalıştıramayacağınızı doğrudan görebilirsiniz