İlk model shard’ı
Instance’a göre layer 0–32 veya 0–26 aralığı; Mac 1 üzerinde.
İki base Mac mini M4 16 GB’ı Thunderbolt 4 ve EXO ile birleştirerek Qwen3.8-27B 4-bit modeli gerçek bir inference iş yükünde test ettik. Model çalıştı; ancak yaklaşık 6 tok/s, swap ve uzun yükte 90°C üzeri sıcaklıklar “sığıyor” ile “verimli çalışıyor” arasındaki farkı gösterdi.
Bu sonuçlar bizim 29–30 Ağustos 2026 tarihli gerçek cihaz testimizden geliyor. Kontrollü akademik benchmark veya tüm M4 sistemleri için garanti edilen üst sınır değildir. “Çalışıyor” ile “verimli ve sürdürülebilir çalışıyor” ayrı sorulardır.
İki node modeli gerçekten çalıştırdı; fakat bellek, ilk token süresi ve uzun süreli termal yük günlük kullanım kararını değiştiriyor.
Kısa testlerde gözlenen aralık: 5,9–6,1 tok/s
Teorik 40 Gbit/s sınırının yaklaşık %94’ü
Uzun prompt testlerinden görülen ağır örnek
16 GB unified memory içinde, node başına gözlem
İki node’da normal ağır test ölçümü
Thermal throttling kesin olarak kanıtlanmadı
Modelin tamamı iki makineye tek parça olarak yüklenmedi; katmanlar ve ara aktivasyonlar node’lar arasında ilerledi.
Instance’a göre layer 0–32 veya 0–26 aralığı; Mac 1 üzerinde.
Doğrudan Thunderbolt Bridge, yaklaşık 0,439 ms RTT ve 37,7 Gbit/s iperf3.
Kalan katmanlar Mac 2 üzerinde; gözlenen placement 33/31 ve 27/37 oldu.
İki node aynı token üretim zincirinin farklı katmanlarını sırayla işledi.
Deneyin başlangıç sorusu basitti: Tek bir bilgisayara sığmayan 27B sınıfı bir modeli iki Apple Silicon cihazın belleğini kullanarak çalıştırabilir miyiz?
Cevap evet; fakat iki Mac’in belleği işletim sistemi açısından tek bir 32 GB unified memory havuzuna dönüşmüyor. Her node kendi 16 GB belleğine, GPU’suna, işletim sistemine ve runtime’ına sahip. EXO’nun yaptığı fiziksel belleği birleştirmek değil, modelin katmanlarını node’lara bölmek.
Her iki cihaz da 10 çekirdek CPU, 10 çekirdek GPU, 16 GB unified memory ve 256 GB SSD içeren base Mac mini M4’tü. Model olarak mlx-community/Qwen3.8-27B-4bit, dağıtım için EXO + MLX kullanıldı.
EXO aynı namespace içinde iki node ile başlatıldı. Sharding stratejisi Pipeline, instance ise MLX Ring’di. RDMA kullanılmadı. Test build’ine Qwen3.8 ve hibrit SSM/attention pipeline sharding için hazırlanan açık EXO PR’larındaki düzeltmeler dahil edildi.
İki Mac’i Wi-Fi veya Ethernet yerine doğrudan Thunderbolt 4 üzerinden bağladık. Ping yaklaşık 0,439 ms RTT, iperf3 ise dört paralel stream ile yaklaşık 37,7 Gbit/s gerçek throughput verdi.
Bu değer teorik 40 Gbit/s sınırının yaklaşık %94’ü. Bu nedenle düşük token hızını kötü kablo veya yavaş bir ağ bağlantısıyla açıklamak mümkün değil. Yerel node belleği ile node’lar arası aktarımın aynı maliyete sahip olmadığı ise değişmiyor: Apple’ın base M4 için belirttiği 120 GB/s local unified-memory bant genişliği ile ölçülen yaklaşık 4,7 GB/s ağ throughput’u farklı ölçekler.
EXO dashboard bazı anlarda Mac 1’i %0 yükte gösterdi. Tek başına bu telemetry görüntüsü modelin yalnızca Mac 2’de çalıştığı izlenimini verebilirdi.
Bunu EXO /state çıktısı, macmon ve cihaz seviyesinde GPU, güç ve sıcaklık gözlemleriyle çapraz kontrol ettik. İki node da modelin farklı shard’larını hesapladı; Mac 2’de bir uzun cevap sırasında yaklaşık %100 GPU kullanımı ve 1578 MHz civarı GPU frekansı gözlendi.
Kısa ve orta uzunluktaki chat testlerinde generation değeri 5,9–6,1 tok/s çevresinde kaldı. Rapor için temsilî sonucu yaklaşık 6,0 tok/s olarak alıyoruz. Model Türkçe cevap, HTML, Python/FastAPI kodu ve uzun çıktılar üretebildi; yani yalnızca belleğe yüklenmiş bir model değil, gerçek inference gerçekleştirdi.
Ancak uzun promptlarda ilk token süresi ayrı bir sorun olarak ortaya çıktı. Bir ağır örnekte TTFT yaklaşık 83 saniyeydi. Prefill, KV cache, pipeline senkronizasyonu ve bellek tahsisleri uzadıkça generation hızı benzer kalsa bile kullanıcı deneyimi belirgin biçimde ağırlaşıyor.
İki cihazda tipik RAM kullanımı node başına 12,5–14+ GB seviyesine çıktı. Yaklaşık 1,2 GB swap iki node’da da gözlendi; Mac 1’in daha ağır bir durumunda 2,7–3 GB seviyesine ulaşan anlar oldu.
Unified memory avantajlı çünkü CPU ve GPU aynı fiziksel havuza erişiyor; fakat bu havuz macOS, tarayıcı, EXO, Metal allocations, KV cache ve diğer uygulamalarla paylaşılıyor. Uzun inference sırasında 90°C üzeri sıcaklıklar gördük. Bu tek başına hasar veya thermal throttling kanıtı değildir; ancak sistemin 7/24 agent sunucusu olarak ne kadar ağır bir rejime girdiğini gösterir.
Pipeline sharding’in birincil kazancı kapasite. Aynı tokenın tamamlanması için ilk shard’ın ve ikinci shard’ın kendi katmanlarını bitirmesi gerekiyor; iki Mac iki bağımsız cevap üretmiyor.
Bu yüzden sistemin sonucu “model tek 16 GB node’a sığmadığı halde çalıştı” şeklinde okunmalı. İki node’u bağlamak tek-stream decode hızını iki katına çıkarmadı. Fit, fast ve sustainable üç farklı değerlendirme.
Bu konfigürasyonu uzun süreli günlük kullanım için önermiyoruz. Model çalışıyor, iki node aktif ve bağlantı sağlıklı; fakat yaklaşık 6 tok/s, yüksek bellek baskısı, swap, uzun promptlarda yüksek TTFT ve 90°C üzeri uzun yük sıcaklıkları bir araya geliyor.
İki Mac’i tek 27B model için pipeline’a bağlamak yerine, iki ayrı küçük/orta modelle iki ayrı işi paralel yürütmek daha verimli olabilir: bir node reasoning veya ana agent, diğer node coding, scraping ya da tool worker. Bu, özellikle agentic sistemlerde toplam throughput’u artırma ihtimali daha yüksek bir mimari.
Bu deney kapasiteyi kanıtladı; günlük üretim sisteminin kararını ise başka metriklere bıraktı.
İki node shard’landı, iki GPU aktifti, kullanılabilir cevap ve kod üretildi.
37,7 Gbit/s ölçüm, Thunderbolt hattını ana şüpheli olmaktan çıkardı.
6 tok/s, swap, yüksek TTFT ve uzun yük sıcaklıkları sürekli kullanım için zayıf sinyal.