3 puan yazan GN⁺ 2025-07-30 | 1 yorum | WhatsApp'ta paylaş
  • 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

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-3bit klasö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 bicycle prompt'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

 
GN⁺ 2025-07-30
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

    • bitter lesson'ın özünde veri miktarının büyük olması gerektiği yok muydu diye soruyorum. Örnek verilen model de sonuçta 22 trilyon token gibi devasa bir corpus üzerinde eğitilmiş
  • 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)

    • ChatGPT'de o uyarı mesajını yeniden üretemedim. Aslında böyle bir uyarı eklemenin arkasında ciddi politik güç var (ister doğrudan ister hafif yeniden yazılmış biçimde olsun) ve bu gerçekten çok ilginç
  • 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