- iPhone 16 Pro Max'te MLX LLM çalıştırılırken hatalı sayısal çıktı oluşuyor; aynı kod iPhone 15 Pro ve MacBook Pro'da normal çalışıyor
- Tensor değerleri bir basamaktan fazla sapma gösteriyor ve aynı girdide bile sonuçların bozulduğu görülüyor
- Sorunun nedeninin Neural Engine veya Metal tabanlı ML hesaplama yığınındaki bir donanım kusuru olduğu tahmin ediliyor
- Apple Intelligence özellikleri de indirme başarısızlığı gibi benzer kararsızlıklar gösterdiğinden, bir bağlantı olabileceği öne sürülüyor
- Geliştirici, bu vaka üzerinden debug sürecinde fiziksel donanım sorunlarının da hesaba katılması gerektiğini vurguluyor
MLX LLM çalıştırma hatası bulundu
- iPhone 16 Pro Max'te MLX tabanlı LLM çalıştırılırken anlamsız çıktı (gibberish) üretiliyor
- Aynı kod iPhone 15 Pro ve MacBook Pro'da normal çalışıyor
- CPU kullanımı %100'e fırlıyor ve “stop” token'ı üretilmediği için sonsuz çıktı durumu sürüyor
- Aynı model ve prompt kullanılmasına rağmen tensor çıktı değerleri anormal biçimde büyüyor
- iPhone 15 Pro'da
[53.875, 62.5625, -187.75, ...]
- iPhone 16 Pro Max'te
[191.5, 23.625, 173.75, ..., 1298, -147.25, -162.5]
- Girdi değerleri aynı olmasına rağmen ara hesaplama aşamalarında sayılar hızla bozuluyor
Apple Intelligence özelliklerindeki sorun
- Apple Intelligence API'si kullanılarak harcama sınıflandırma özelliği uygulanmak istendi, ancak model desteği indirilemedi
- Ayarlar defalarca değiştirilse de özellik etkinleşmedi
- Apple topluluk forumlarında da aynı sorunu yaşayan çok sayıda kullanıcı (12 sayfalık raporlar) bildirildi
- Bunun üzerine Apple Intelligence yaklaşımı bırakıldı ve MLX tabanlı yaklaşıma geçildi
Debug süreci ve nedenin izlenmesi
- MLX'in Gemma model uygulamasına breakpoint konularak her katmandaki tensor değerleri izlendi
- Girdi değerleri iki cihazda da aynıydı, ancak iPhone 16 Pro Max'te ara aşamalardan itibaren sayılar anormal biçimde büyüdü
- Mac'te de iPhone 15 Pro ile aynı normal sonuç doğrulandı
- Bu sayede sorunun kodda veya modelde değil, donanımda olduğuna kanaat getirildi
Donanım kusuru olasılığı
- iPhone 16 Pro Max'in A18 çipindeki Neural Engine veya Metal tabanlı ML hesaplama yolu üzerinde bir hesaplama hatası oluşmuş olabilir
- MLX, tensor hesaplamalarını Metal üzerinden derlediği için bu yığındaki bir kusur sonuçların bozulmasına yol açmış olabilir
- Apple Intelligence sorunuyla aynı nedenden kaynaklanıyor olabileceği de belirtiliyor, ancak bunu doğrulayan net bir kanıt yok
Sonuç ve çıkarımlar
- Sorunlu iPhone 16 Pro Max'in donanım kusurlu bir cihaz olduğu doğrulandı
- Daha sonra iPhone 17 Pro Max ile değiştirildikten sonra tüm işlevler normal çalıştı
- Geliştirici, bu deneyim üzerinden debug sırasında yalnızca yazılımı değil fiziksel donanım sorunlarını da hesaba katmak gerektiğini vurguluyor
- Üç çıkarım:
- LLM çalıştırma hataları her zaman koddan kaynaklanmaz
- Aynı ortamda karşılaştırmalı testlerin önemi
- Pahalı donanımlar bile ML hesaplamalarında doğruluğu garanti etmeyebilir
1 yorum
Hacker News yorumları
“Ay artı güneş nedir?” diye sormak kadar komik bir şey.
Ama bu olayın kendisi farklı. Apple’ın sayısal hesaplama API’si bazı cihazlarda tutarsız sonuçlar veriyor. Apple’ın dikkat etmesi gereken sorun bu
Çünkü güneş(日) ile ay(月) birleşince 明 oluyor (wiki bağlantısı)
“Dolunay” gibi bir cevap da mümkün olabilir ama net, deterministik bir cevap yok gibi
Tabii önce yedek alınmalı, mümkünse iCloud+ planıyla yapılmalı. Böyle sorunlarda en kolay çözüm bu
Yani o iPhone 16 Pro Max’te muhtemelen donanım arızası vardı
Örneğin Intel’in belgesinde de bundan söz ediliyor
Yine de iPhone 16’da LLM’in hiç çalışmaması şaşırtıcı. LLM’ler normalde kuantalamaya (quantization) epey toleranslıdır
Başta bu yüzden konuyu önemsememeyi düşünmüştüm,
ama diğer tüm Apple cihazlarında aynı sonucun çıkması ve Apple’ın kendi LLM’inin yalnızca bu cihazda başarısız olması tuhaftı
Bu temel bir sorundan çok beklenmedik bir başarısızlık gibi görünüyor. Apple’ın bu halde cihaz sevk etmiş olması iyi değil
Şu an telefonda matematik yaparken HP Prime emülatörü kullanıyorum
Diğer favori hesap makinelerim de free42 ve plus42 (bağlantı)
CAS aracı olarak MathStudio en iyisi (mathstud.io)
Tarayıcıda da çalışıyor ama mobil uygulaması da var. Kendi kendine barındırılan bir Wolfram Alpha gibi
Hâlâ sezgisel ve hızlı
Control Center düğmesiyle hemen açılacak şekilde ayarladım
Şikâyetim şu: ekran bu kadar büyükken bile önceki hesap geçmişini kaydırarak göremiyorsun
1990’ların dört işlem hesap makinesi kopyası gibi görünen UI’ları artık görmek istemiyorum
MLX; CPU, Apple GPU (Metal) ve NVIDIA GPU (CUDA) üzerinde de çalışabiliyor (bağlantı)
Ayarları her türlü kombinasyonda değiştirdim ama öngörülü metin rastgele duruyor ya da bozuluyor
Ya da sesli girişe yönlendirmeyi amaçlayan bir optimizasyon olabilir
En azından “7” dememiş, buna da şükür
App Store’daki birkaç uygulama test edilseydi ilginç sonuçlar çıkabilirdi