- 24GB bellekli bir M4 MacBook Pro üzerinde yerel LLM çalıştırarak temel kodlama işleri, araştırma ve planlama gibi görevleri internet bağlantısı olmadan yapmaya yönelik pratik bir kurulum paylaşılıyor
- Şu anda en iyi çalışan model Qwen 3.5-9B (Q4 quantization) ve LM Studio'da yaklaşık 40 token/sn hızında thinking modu, tool use ve 128K context window desteği sunuyor
- Ollama, llama.cpp, LM Studio gibi çalıştırma aracının seçiminden model ve ayar seçeneklerine kadar kurulum süreci karmaşık ve her birinin kendine özgü kısıtları var
- SOTA modeller gibi karmaşık problemleri otonom biçimde çözmek zor olsa da, adım adım etkileşimli iş akışıyla araştırma asistanı veya rubber duck debugging amacıyla yeterince kullanılabiliyor
- Abonelik ücreti olmadan yalnızca elektrik maliyetiyle çalıştırılabiliyor ve büyük teknoloji şirketlerine bağımlılığı azaltan sürdürülebilir bir yapay zeka kullanım biçimi olarak değer taşıyor; ancak performans ve kurulum açısından trade-off büyük
Yerel model çalıştırma ortamı ve seçim kriterleri
- M4 MacBook Pro 24GB bellek ortamında yerel model çalıştırma ayarları denendi; en üst düzey modellerin (SOTA) çıktısından farklı olsa da, temel işler, araştırma ve planlamayı internet bağlantısı olmadan yapabilecek bir kurulumun mümkün olduğu görüldü
- Yerel çalıştırma araçları olarak Ollama, llama.cpp ve LM Studio bulunuyor; her birinin kısıtları ve sunduğu modeller farklı
- Model seçiminde, belleğe sığmasının yanında tipik Electron uygulamalarını da birlikte çalıştıracak kadar pay bırakması gerekiyordu; ayrıca en az 64K, ideal olarak 128K veya üzeri bir context window gerekliydi
- Yakın dönemde denenen Qwen 3.6 Q3, GPT-OSS 20B ve Devstral Small 24B belleğe sığsa da pratikte kullanımı zordu; Gemma 4B ise iyi çalıştı ama tool use tarafında zorlandı
- Ayar kalemleri temperature gibi iyi bilinen değerlerden K Cache Quantization Type gibi özel seçeneklere kadar uzanıyor; ayrıca thinking özelliğinin açık olup olmamasına göre uygun değerler değişebiliyor
Qwen 3.5-9B 4-bit quantization kurulumu
- qwen3.5-9b@q4_k_s, LM Studio'da çalıştırıldığında yaklaşık 40 token/sn hız, thinking açık, başarılı tool use ve 128K context window koşullarını birlikte karşılayan en iyi modeldi
- En üst düzey modellere göre daha kolay dikkati dağılıyor, zaman zaman döngüye giriyor ve bazı istekleri yanlış yorumluyor; yine de 24GB MacBook Pro'da başka işler için alan bırakarak çalışabilen bir model olarak oldukça iyiydi
- Thinking modu ve kodlama işleri için önerilen ayarlar şöyleydi
temperature=0.6, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0
- Thinking'i etkinleştirmek için LM Studio'da modeli seçtikten sonra configuration bölümüne gidip Inference sekmesinin altındaki Prompt Template alanına şu değer eklenmeli
{%- set enable_thinking = true %}
- Bu model hem pi hem de OpenCode ile kullanıldı; pi daha atik hissettirse de, harness'i doğrudan kurup özelleştirebilme avantajına rağmen makul varsayılan değerlerden yoksundu
- pi ayarlarını yapmak için, gerçek projeden daha fazla zaman harcamak gerekebiliyordu
pi ayarları
~/.pi/agent/models.json içinde LM Studio'nun OpenAI uyumlu endpoint'i ve qwen3.5-9b@q4_k_s modeli kaydedildi
{
"providers": {
"lmstudio": {
"baseUrl": "http://localhost:1234/v1",
"api": "openai-completions",
"apiKey": "lm-studio",
"models": [
{
"id": "qwen3.5-9b@q4_k_s",
"reasoning": true,
"compat": { "thinkingFormat": "qwen-chat-template" }
}
]
}
}
}
- Dikkat dağıtan thinking bloklarını gizlemek için
~/.pi/agent/settings.json dosyasına "hideThinkingBlock": true eklendi
OpenCode ayarları
~/.config/opencode/opencode.json içinde LM Studio yerel bir OpenAI uyumlu provider olarak tanımlandı; tool use, 131072 context length ve 32768 max token ayarları yapıldı
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (local)",
"options": {
"baseURL": "http://127.0.0.1:1234/v1"
},
"models": {
"qwen3.5-9b@q4_k_s": {
"name": "Qwen 3.5 9B Q4_K_S",
"tools": true,
"context_length": 131072,
"max_tokens": 32768
}
}
}
},
"model": "lmstudio/qwen3.5-9b@q4_k_s"
}
En üst düzey modellerle farkı
- Qwen 3.5 9B Q4 gibi modeller, en üst düzey modellerin yaptığı gibi karmaşık problemleri uzun süre boyunca bağımsız biçimde çözebilecek seviyede değildi
- Tüm uygulamayı tek seferde yapmasını istemek uygun değildi; sonuç çıkmadan yalnızca dizüstü bilgisayarın ısınmasına yol açabiliyordu
- Daha iyi sonuç veren yaklaşım, adım adım net iletişim kurulan ve bol yönerge verilen etkileşimli bir iş akışıydı
- Yerel model kullanırken kullanıcının daha fazla düşünme ve planlamayı üstlenmesi, ayrıca daha somut talimatlar vermesi gerekiyor; buna karşın araştırma yardımcısı, rubber duck ya da programlama dili ayrıntılarını ve komut satırı çağrılarını hızlıca hatırlatan bir yardımcı olarak faydalıydı
- Büyük yapay zeka şirketlerinin pazarladığı 10 kat üretkenlik artışı değil, ama anlamlı bir yardım ve ilginç bir kullanım deneyimi sunuyor
İşe yarayan görevler ve başarısız olanlar
-
Elixir Credo uyarılarını düzeltme
- Elixir linter'ı
credo son sürüme yükseltildikten sonra kodda uyarılar oluştu ve Qwen'den mix credo --strict çalıştırıp çözüm önermesi ama düzenleme yapmaması istendi
- Qwen, 4 test dosyasında listenin boş olmadığını kontrol etmek için
length/1 kullanılmasını sorun olarak tespit etti ve length(list) > 0 yerine list != [] kullanılmasını önerdi
- Sonrasında düzenleme istendiğinde, Qwen 4 paralel düzenlemeyi temiz biçimde yaptı
- Bu görev, terminal ile editör arasında gidip gelerek elle de yapılabilecek basit bir işti; ancak kullanışlı bir yardımcı oldu
-
Dependabot PR'ındaki rebase çakışmasını çözme
- Bağımlılık güncellemesinden sonra Dependabot PR'ında git çakışması oluştu; Dependabot rebase'i reddedince dal indirildi, elle rebase yapıldı ve ardından Qwen'den kontrol etmesi istendi
- Çakışma, her bağımlılık için daha yeni sürümü seçmekten ibaret basit bir durumdu ve Qwen,
sentry için 13.0.1, tailwind için 0.4.1 sürümünü korumayı önerdi
- Ancak gerçek değişiklik istendiğinde Qwen, dosyayı düzenlemeden ve çakışma işaretleri dururken
git add mix.lock && git rebase --continue çalıştırmaya kalktı
- Ayrıca
git rebase --continue komutunun editör açtığını da fark etmedi; OpenCode takıldı, ancak bunun tek seferlik bir durum olma ihtimali de vardı
Yerel modellerin avantajları ve sınırları
- Yerel modellerin büyük trade-off'ları var; buna karşın internet bağlantısı olmadan, hatta uçakta bile çalışabilme avantajı sunuyorlar
- Bilgisayarın zaten satın alınacağı varsayılırsa maliyet kullanılan elektrikle sınırlı kalıyor ve abonelik gerekmiyor
- Model eğitiminin hâlâ büyük bir çevresel maliyeti var; ancak açık model şirketleri çevresel etki sıralamasının en üstündekilerden uzak duruyor ve kişisel donanım kullanımı veri merkezlerine bağımlılığı azaltıyor
- Elle ayarlama yapıp denemeler yürütmek eğlenceli olabiliyor
- LLM'ler zaten büyük etki yarattı ve olumsuz yönleri de çok; yine de kalıcı bir teknoloji gibi görünüyor ve yerel modellerle denemeler yapmak, bu teknolojiyle daha sürdürülebilir ve daha olumlu bir etkileşim kurma yolu gibi hissettirdi
1 yorum
Hacker News görüşleri
Yerelde LLM çalıştırmak eğlenceli ve güçlü, ama gerçekten işi bitirmek istiyorsanız epey baş ağrıtıcı
Önceden plan yapmanız, şartname oluşturmanız ve hazırlanmanız gerekirken OpenAI veya Claude’un büyük modelleri birkaç cümle atınca hemen anlama eğiliminde
Zaten büyük modellerle ciddi işler yapıyorsanız kullanmaya devam edin
Ama vision/OCR işleri için farklı düşünüyorum. Küçük ve orta ölçekli açık ağırlıklı modeller de güncel seviye ile benzer, ayrıca büyük batch işlerinde prefill token maliyeti oldukça can sıkıcı
Bir de küçük bir LLM’i bile istikrarlı kişisel servis gibi kullanmak için ayrı 16~24GB RAM/VRAM boş bırakıp sürekli çalıştırmanız gerektiği sık sık unutuluyor
Temel sorun sonuçta para
Neredeyse kullanılabilir seviyeye geldiğini düşünüyorum
Gemma 4 31B, yerel modeller için yeni bir taban çizgisi gibi hissettiriyor. Frontier modellerden elbette geride ama şimdiye kadar çalıştırdığım yerel modeller, GPT OSS 120B ya da Nemotron Super 120B’ye göre daha az bilim deneyi gibi
M5 Max 128GB RAM’de tam 256K context window kullanınca RAM kullanımı yaklaşık 70GB’a fırlıyor, sistem overhead’i de yaklaşık 14GB görünüyor
64GB Panther Lake üzerinde tam Arc B390 takılı bir makine ya da 48GB Snapdragon X2 Elite makinesiyle 128K~256K context window çalıştırmak mümkün gibi, 32GB’de ise 32K context window ile zorlayarak belki olur
Daha geçen yıl bu performansı ana akıma yakın üst seviye bir konfigürasyonda görmek boş bir hayal gibi geliyordu
Sonuçta ölçüt şu: “Bu modele istikrarlı biçimde ne emanet edebilirim?” Opus açıkça daha çok şey biliyor ve daha karmaşık işleri yapabiliyor ama context’i iyi verirseniz Gemma şaşırtıcı derecede iyi
İki modele de emanet edebileceğime inandığım iş aralığı arasındaki fark beklenmedik şekilde küçük. Kişisel araçlarda ve çeşitli projelerde son dönemde çok iyi sonuçlar verdi; ayrıca önemsiz olmayan bir projede agent mode ile özellik implementasyonunu güvenip bırakabildiğim ilk yerel model oldu
https://thot-experiment.github.io/gradient-gemma4-31b/
Bu, OpenCode içinde Gemma 4’ün neredeyse tamamını yaptığı görece karmaşık bir araç ve birkaç saat boyunca manuel müdahale sadece yaklaşık 4 kez gerekti
Q6_K_XL, 128K context @ q8 ile okuma yaklaşık 800tok/s, yazma yaklaşık 16tok/s
llama.cpp’de turboquant ve MTP’yi bekliyorum; söylentiler doğruysa 256K ve 25~30tok/s seviyesine çıkabilir gibi
Çıkışından hemen sonra benchmark performansı etkileyiciydi, bu yüzden ilgili bir yazı da yazdım [0]. Ancak daha uzun context’li agent coding ortamlarında çalıştırdıkça sıralamadaki yeri sonradan biraz düştü
[0] https://gertlabs.com/blog/gemma-4-economics
Akış şu: en yeni modelle plan yap, küçük modelle uygula. Düzgün planlayıp küçük modelin yorumlayacağı belirsizlik bırakmazsanız iyi çalışıyor
Keşke bütün hafta sonunu aynı sonuca varmak için harcamadan önce bu yazıyı görseydim
Aynı dizüstünde, küçük bir vibe coding C++ deposundaki yaklaşık 50 lint hatasını düzelttirmeye yönelik yapay bir test yaptım. Bir sürü küçük işi çok sık takılmadan halletmesini umuyordum
GPT OSS 20B kullanılabilir durumdaydı ama yavaştı; gereksiz cümleler ekliyor ya da tekrar ediyor, kodu değiştirmeden düzelttiğini listeleme hatasını da sık yapıyordu
Opencode ile kullandığım Qwen 3.5 9B çok daha hızlıydı ve sıkıştırma aşamasından geçmesine rağmen çoğu lint uyarısını takılmadan işledi, tüm uyarıları da doğru düzeltmelerle giderdi
Qwen 3.5 9B’nin 4 bit MLX kuantizasyonunu da denedim ama sonunda bellek yetersizliğinden çöktü; llama.cpp ile çalışan GGUF’a geçince çökmeden çalıştı
Frontier modellerle hiç kıyaslanamaz. Çok daha yavaş, temel bilgileri bile yanlış veriyor ve önemsiz olmayan işleri tek seferde halledemiyor
Proje mimarisini özetlemesini istediğimde depoda hiçbir yerde olmayan bir kütüphane kullandığını iddia etti. Kişiden kişiye değişir ama yine de kullanılabilir tarafları var; zamanla makul donanımlarda yerel LLM ortamının çok daha iyi olmasını umuyorum
Yerel LLM’ler harika ama bu konuda çok yazı okuyunca Opus 4.7’ye neredeyse yetişmiş gibi hissedilebiliyor
HN’de yerel LLM’lerin yeteneklerini ciddi biçimde abartan çok küçük, gürültücü ve tutkulu bir grup var
Aynı boyuttaki modeller arasında yerel GPU’da çalıştırdıklarımın en hızlıları arasındaydı ama sadece Nvidia kartlarda denedim
Sonradan bunun MoE olduğunu ve aktif parametrelerin sadece 3.6B olduğunu görünce birçok şey açıklığa kavuştu
Yerel modellerle, özellikle yazarın kullandığı 9B gibi küçük modellerle neler yapılabileceğine gerçekçi bakmak faydalı
9B model Sonnet 3.6 civarı bir seviyede; otomatik tamamlama ve küçük fonksiyonlar yapabiliyor ama büyük problemleri anlamaya çalışınca akışı kaçırıyor
Yine de ilginç ve kurcalaması eğlenceli. Ben de çoğunlukla eğlence için yerel agent harness’leri gibi şeyler yapıyorum
Şu anki projem kurulum gerektirmeyen bir agent: https://gemma-agent-explainer.nicklothian.com/
Python, SQL ve React’in tamamı tarayıcı içinde tamamen çalışıyor. En iyi deneyim için Gemma E4B öneriyorum
Hâlâ aktif geliştirme altında ve HTML5 Filesystem API ile LiteRT desteği yüzünden Chrome gerekiyor. Ama çoğu Chromium tabanlı tarayıcıda da çalışır hale getirilebilir
Çoğu agent’tan farkı kurulumsuz olması. Model tarayıcı içinde LiteRT/LiteLLM ile çalışıyor ve Transformers.js’ten daha iyi performans veriyor. Filesystem API ile isteğe bağlı olarak sandbox dizinine okuma erişimi de sağlanabiliyor
Kendi kendini dokümante ediyor; bu yüzden canlı yardım panelinde “sistem prompt’u nasıl kullanılıyor” gibi sorular sorarsanız kendi kaynak koduna erişip cevaplayabiliyor
“Tour” düğmesine basarsanız tamamını görebilirsiniz; gelecek hafta da open source olarak yayımlamayı planlıyorum
Sadece insanların modeli değerlendirdiği benchmark’lar çok sık değiştiği için iyi karşılaştırmalar bulmak zorlaşıyor. Bu arada Sonnet 3.6, GPT-3.5’ten yaklaşık 1 yıl sonra çıktı
Eleştirel bakarsak bu modellerin karmaşık coding işlerinde güncel en üst seviye ile aynı düzeyde olmadığı doğru
Ama beyaz yaka işlerinin önemli bir kısmı Excel işleri, dosya taşıma, katı hukuk belgelerinin çevirisi, e-posta taslağı, PPT angaryaları gibi şeyler
Bu işler 30~35B ve üzeri modellerle gayet yapılabilir; ayrıca şirket verisini gizli tutabilme avantajı da var
Yerel modelleri konuşanların beklediği şey bu yılın nisanında çıkan modeller. Qwen 3.6 27B ve GPU zayıfsa qwen 35b a3b hedefte
Bu modeller güncel üst seviye modellerle ciddi ciddi karşılaştırılabilecek düzeyde
Tipik örnek olarak JPMorgan’ın London Whale vakasında Excel hatası nedeniyle 6 milyar dolar zarar oluşmuştu
M5 Pro 18/20 çekirdek MacBook 64GB RAM almayı düşünüyorum ama gerçek model benchmark’larını bulmak çok zor
Örneğin Qwen 3.6 35B/A3B’nin Q4 ve Q6 kuantizasyonlarında saniye başına token hızının ne kadar olduğunu bilen biri söylese harika olur
Yerel çıkarım tarafı MoE modellere kayıyor ve bunların önemli bir kısmında saniye başına token fena değil ama ilk token’a kadar geçen süre korkunç
32GB M2 Studio’da kullandığım rastgele bir kurulumu Bluesky’a yazdım, geri bildirim almak isterim
Doğrudan görmeden pek beceremeyen biriyim; o yüzden yardım umarak paylaşıyorum
https://bsky.app/profile/mooresolutions.io/post/3mliilyf2i22...
M4 Pro 48GB’de qwen 3.6 9b kuantize model çalıştırıyorum ve temel pi.dev/cc tabanlı geliştirme için ancak idare eder durumda
Gerçekten anlamlı işler yapmak için 128GB masaüstü sistemin sweet spot olduğunu düşünüyorum. Ama şu an böyle bir makineyi bulmak zor
Yerelde çalıştırmak eğlenceli ama kendi zamanınızın da bedava olmadığını unutmamak gerek
Kişisel projelerde giderek OpenRouter’a geçiyorum ve en büyük qwen modellerini ciddi kullansam bile günde 2~3 doların altında kalıyorum
M4 Pro 48GB ise daha büyük modelleri de çalıştırabilirsiniz; model zekâsı faydayı artıran temel unsursa daha büyük modele gitmek daha mantıklı olabilir
Yoğun 9B’nin pek iyi olmadığına katılıyorum
En üst donanımlı güncel M5 MacBook Pro’yu kullanıyorum ve yerel modelleri de denedim; çoğu ancak zar zor çalışıyor
4090 24GB’de yakın dönemdeki turboquant/rotorquant aktivasyon belleği optimizasyonlarını kullanarak qwen3.6:27B’yi yaklaşık 128K context ile çalıştırıyorum
Bu boyutta bir modele çıkmayı güçlü biçimde tavsiye ederim. q4_xl+rotorquant kombinasyonu oldukça iyi
Agent’a verebileceğiniz referans kodlar da var
https://github.com/rapatel0/rq-models
API aboneliğine para vermek yerine Mac’e birkaç bin dolar harcamayı tercih ederim
Yerel modeller, gizlilik sızıntısı endişesi olmadan her zaman her yerde iş yapabilmenizi sağlıyor