हज़ार डॉलर वाला iPhone गणना नहीं कर पाता
(journal.rafaelcosta.me)- iPhone 16 Pro Max में MLX LLM चलाने पर गलत संख्यात्मक आउटपुट मिलता है, जबकि वही कोड iPhone 15 Pro और MacBook Pro पर सामान्य रूप से काम करता है
- Tensor वैल्यू में एक अंक से भी अधिक का अंतर दिखता है, और एक ही इनपुट पर भी परिणाम विकृत हो जाता है
- समस्या का कारण Neural Engine या Metal-आधारित ML computation stack की हार्डवेयर खराबी माना जा रहा है
- Apple Intelligence फीचर्स में भी डाउनलोड फेल होने जैसी मिलती-जुलती अस्थिरता दिखी, जिससे इनके जुड़े होने की संभावना उठी
- डेवलपर ने इस मामले के ज़रिए इस बात पर ज़ोर दिया कि डिबगिंग के दौरान physical hardware problems को भी ध्यान में रखना चाहिए
MLX LLM चलाने में त्रुटि मिली
- iPhone 16 Pro Max में MLX-आधारित LLM चलाने पर बेमतलब आउटपुट (gibberish) बन रहा था
- वही कोड iPhone 15 Pro और MacBook Pro पर सामान्य रूप से काम कर रहा था
- CPU उपयोग 100% तक पहुंच गया, और “stop” token नहीं बन रहा था, जिससे अनंत आउटपुट की स्थिति बनी रही
- एक ही मॉडल और prompt इस्तेमाल करने के बावजूद tensor output values असामान्य रूप से बड़ी हो गईं
- iPhone 15 Pro पर
[53.875, 62.5625, -187.75, ...] - iPhone 16 Pro Max पर
[191.5, 23.625, 173.75, ..., 1298, -147.25, -162.5] - इनपुट वैल्यू समान थी, लेकिन बीच के computation stages में संख्याएं तेज़ी से विकृत हो गईं
- iPhone 15 Pro पर
Apple Intelligence फीचर की समस्या
- Apple Intelligence API का उपयोग करके खर्च वर्गीकरण फीचर लागू करने की कोशिश की गई, लेकिन model support डाउनलोड नहीं हुआ
- सेटिंग्स कई बार बदलने पर भी फीचर सक्रिय नहीं हुआ
- Apple community forum पर भी उसी समस्या का सामना करने वाले कई users (12 pages) की रिपोर्ट मिली
- इसके कारण Apple Intelligence का उपयोग छोड़कर MLX-आधारित approach अपनाई गई
डिबगिंग प्रक्रिया और कारण की खोज
- MLX के Gemma model implementation में breakpoint लगाकर हर layer के tensor values को ट्रैक किया गया
- इनपुट वैल्यू दोनों डिवाइस पर समान थी, लेकिन iPhone 16 Pro Max में मध्य चरण से ही संख्याएं असामान्य रूप से बढ़ने लगीं
- Mac पर भी iPhone 15 Pro जैसा ही सामान्य परिणाम मिला
- इससे यह भरोसा हो गया कि समस्या कोड या मॉडल नहीं, बल्कि हार्डवेयर की है
हार्डवेयर खराबी की संभावना
- iPhone 16 Pro Max के A18 chip Neural Engine या Metal-आधारित ML computation path में गणना त्रुटि होने की संभावना है
- MLX, Metal के जरिए tensor computations compile करता है, इसलिए इस stack में खराबी परिणामों के विकृत होने का कारण बन सकती है
- Apple Intelligence की समस्या का कारण भी यही हो सकता है, हालांकि इसके स्पष्ट प्रमाण नहीं हैं
निष्कर्ष और सीख
- समस्या वाला iPhone 16 Pro Max हार्डवेयर खराबी वाला डिवाइस निकला
- बाद में iPhone 17 Pro Max से बदलने पर सभी फीचर्स सामान्य रूप से काम करने लगे
- डेवलपर ने इस अनुभव से यह ज़ोर देकर कहा कि डिबगिंग के समय software के साथ-साथ physical hardware problems को भी ध्यान में रखना चाहिए
- तीन सीख:
- LLM चलाने में त्रुटि हमेशा कोड की समस्या नहीं होती
- समान environment में तुलना करके test करना महत्वपूर्ण है
- महंगा हार्डवेयर भी ML computation accuracy की गारंटी नहीं दे सकता
1 टिप्पणियां
Hacker News की राय
यह उतना ही मज़ेदार है जितना पूछना, “चाँद प्लस सूरज क्या होता है?”
लेकिन इस बार मामला अलग है। Apple का numeric computation API कुछ डिवाइसों पर असंगत नतीजे दे रहा है। यह Apple के ध्यान देने लायक समस्या है
क्योंकि सूरज(日) और चाँद(月) को मिलाने पर 明 बनता है (wiki link)
“पूर्णिमा” जैसा जवाब भी हो सकता है, लेकिन शायद इसका कोई साफ़ deterministic जवाब नहीं है
बैकअप तो ज़रूर लें, और हो सके तो iCloud+ प्लान के साथ करें। ऐसी समस्या में वही सबसे आसान समाधान होता है
यानी वह iPhone 16 Pro Max संभवतः hardware defect वाला था
उदाहरण के लिए Intel के दस्तावेज़ में भी इसका ज़िक्र है
फिर भी iPhone 16 पर LLM का बिल्कुल काम न करना चौंकाने वाला है। LLM आम तौर पर quantization को काफ़ी हद तक सहन कर लेते हैं
शुरुआत में मैं इसी वजह से इस समस्या को नज़रअंदाज़ करने वाला था,
लेकिन बाकी सभी Apple डिवाइसों पर एक जैसे नतीजे आए, और Apple का अपना LLM सिर्फ इसी डिवाइस पर फेल हुआ — यह अजीब था
यह किसी बुनियादी समस्या से ज़्यादा unexpected failure जैसा लगता है। Apple का ऐसी स्थिति वाला डिवाइस शिप करना अच्छा नहीं है
मैं अभी भी अपने फ़ोन पर गणित के लिए HP Prime emulator इस्तेमाल करता हूँ
एक और पसंदीदा calculator है free42 या plus42 (link)
CAS टूल के रूप में MathStudio सबसे बढ़िया है (mathstud.io)
यह browser में भी चलता है, लेकिन इसका mobile app भी है। यह self-hosted Wolfram Alpha जैसा लगता है
अब भी intuitive और तेज़ है
मैंने इसे Control Center बटन से सीधे खोलने के लिए सेट कर रखा है
शिकायत बस यह है कि स्क्रीन इतनी बड़ी होने के बावजूद पुराने calculation history को scroll करके नहीं देखा जा सकता
1990s के 4-function calculator की नक़ल जैसी UI अब और नहीं देखनी
MLX, CPU, Apple GPU(Metal), और NVIDIA GPU(CUDA) पर भी चल सकता है (link)
मैंने settings के हर तरह के combination बदलकर देखे, लेकिन predictive text random तरीके से रुक जाता है या गड़बड़ करता है
या शायद यह voice input की ओर धकेलने वाली optimization हो सकती है
फिर भी कम से कम उसने “7” तो नहीं कहा, यही गनीमत है
अगर App Store के कुछ apps को टेस्ट किया जाता, तो शायद दिलचस्प नतीजे मिलते