[HN Gopher] My iPhone 16 Pro Max produces garbage output when ru...
___________________________________________________________________
My iPhone 16 Pro Max produces garbage output when running MLX LLMs
Author : rafaelcosta
Score : 411 points
Date : 2026-02-01 20:51 UTC (1 days ago)
(HTM) web link (journal.rafaelcosta.me)
(TXT) w3m dump (journal.rafaelcosta.me)
| bri3d wrote:
| I love to see real debugging instead of conspiracy theories!
|
| Did you file a radar? (silently laughing while writing this, but
| maybe there's someone left at Apple who reads those)
| djmips wrote:
| IKR - this is very typical
| Buttons840 wrote:
| I clicked hoping this would be about how old graphing calculators
| are generally better math companions than a phone.
|
| The best way to do math on my phone I know of is the HP Prime
| emulator.
| VorpalWay wrote:
| I run a TI 83+ emulator on my Android phone when I don't have
| my physical calculator at hand. Same concept, just learned a
| different brand of calculators.
| varun_ch wrote:
| built-in calculator apps are surprisingly underbaked... I'm
| surprised neither of the big two operating systems have
| elected to ship something comparable to a real calculator
| built in. It would be nice if we could preview the whole
| expression as we type it..
|
| I use the NumWorks emulator app whenever I need something
| more advanced. It's pretty good
| https://www.numworks.com/simulator/
| josephg wrote:
| That's certainly an improvement - but why can't I modify a
| previous expression? Or tap to select previous expressions?
|
| What I want is something like a repl. I want to be able to
| return to an earlier expression, modify it, assign it to a
| variable, use that variable in another expression, modify
| the variable and rerun and so on.
| varun_ch wrote:
| I think on the numworks you can use the arrow keys to
| pull up an old expression. I think it would be really
| cool if someone built out an interpreted, nicely rendered
| calculator language/repl that could do variables and
| stuff. Might be an interesting idea
| josephg wrote:
| You can, but it seems to just select & use the results of
| previous expressions. I often want to modify & iterate on
| the formulas I've previously entered. Or rerun them.
|
| I think there was a calculator like this about a decade
| ago released for macos, but I can't remember what it was
| called. Brilliant little piece of software. I assume most
| people didn't understand it, and it slowly disappeared.
| xp84 wrote:
| I was pretty delighted to realize I could now delete the lame
| Calculator.app from my iPhone and replace it with something of
| my choice. For now I've settled on NumWorks, which is
| apparently an emulator of a modern upstart physical graphing
| calc that has made some inroads into schools. And of course,
| you can make a Control Center button to launch an app, so
| that's what I did.
|
| Honestly, the main beef I have with Calculator.app is that on a
| screen this big, I ought to be able to see several previous
| calculations and scroll up if needed. I don't want an exact
| replica of a 1990s 4-function calculator like the default is
| (ok, it has more digits and the ability to paste, but besides
| that, adds almost nothing).
| Buttons840 wrote:
| I looked at that calculator. But HP Prime and TI-89 have CAS
| systems that can do symbolic math, so I prefer to emulate
| them.
| vscode-rest wrote:
| Calculator.app does have history now FWIW, it goes back to
| 2025 on my device. And you can make the default vertical be a
| scientific calculator now too.
|
| Also it does some level of symbolic evaluation:
| sin^-1(cos^-1(tan^-1(tan(cos(sin(9))))))== 9, which is a
| better result than many standalone calculators.
|
| Also it has a library of built in unit conversations,
| including live updating currency conversions. You won't see
| that on a TI-89!
|
| And I just discovered it actually has a built in 2D/3D
| graphing ability. Now the question is it allows parametric
| graphing like the MacOS one...
|
| All that said, obviously the TI-8X family hold a special
| place in my heart as TI-BASIC was my first language. I just
| don't see a reason to use one any more day to day.
| xoa wrote:
| My personal favorite is iHP48 (previously I used m48+ before it
| died) running an HP 48GX with metakernal installed as I used
| through college. Still just so intuitive and fast to me.
| wolvoleo wrote:
| I still have mine. Never use it though as I'm not handy with
| RPN anymore. :'(
| realityfactchex wrote:
| GraphNCalc83 is awesome [0].
|
| [0] https://apps.apple.com/us/app/graphncalc83/id744882019
| shiroiuma wrote:
| I use the "RealCalc" app on my phone. It's pretty similar to my
| old HP48.
| nickorlow wrote:
| Anytime I have to do some serious amount of math, I have to go
| dig around and find my TI-84, everything is just burned into
| muscle memory
| watersb wrote:
| PCalc -- because it runs on every Apple platform since the Mac
| Classic:
|
| https://pcalc.com/mac/thirty.html
|
| My other favorite calculator is free42, or its larger display
| version plus42
|
| https://thomasokken.com/plus42/
|
| For a CAS tool on a pocket mobile device, I haven't found
| anything better than MathStudio (formerly SpaceTime):
|
| https://mathstud.io
|
| You can run that in your web browser, but they maintain a
| mobile app version. It's like a self-hosted Wolfram Alpha.
| Melatonic wrote:
| The last one was interesting but both apps haven't been
| updated in 4 years. Hard to pay for something like that.
|
| They do have some new AI math app that's regularly updated
| TimByte wrote:
| HP Prime emulator still wins for actually solving equations
| raincole wrote:
| Low level numerical operation optimizations are often not
| reproduceable. For example:
| https://www.intel.com/content/dam/develop/external/us/en/doc...
| (2013)
|
| But it's still surprising that that LLM doesn't work on iPhone 16
| at all. After all LLMs are known for their tolerance to
| quantization.
| bri3d wrote:
| Yes, "floating point accumulation doesn't commute" is a mantra
| everyone should have in their head, and when I first read this
| article, I was jumping at the bit to dismiss it out of hand for
| that reason.
|
| But, what got me about this is that:
|
| * every other Apple device delivered the same results
|
| * Apple's own LLM silently failed on this device
|
| to me that behavior suggests an unexpected failure rather than
| a fundamental issue; it seems Bad (TM) that Apple would ship
| devices where their own LLM didn't work.
| danpalmer wrote:
| FYI, the saying is "champing at the bit", it comes from
| horses being restrained.
| mylifeandtimes wrote:
| hey, I appreciate your love of language and sharing with
| us.
|
| I'm wondering if we couldn't re-think "bit" to the computer
| science usage instead of the thing that goes in the horse's
| mouth, and what it would mean for an AI agent to "champ at
| the bit"?
|
| What new sayings will we want?
| nilamo wrote:
| Byting at the bit?
| odo1242 wrote:
| chomping at the bit
| danpalmer wrote:
| Actually it was originally "champing" - to grind or gnash
| teeth. The "chomping" (to bite) alternative cropped up
| more recently as people misheard and misunderstood, but
| it's generally accepted as an alternative now.
| kortilla wrote:
| It's actually accepted as the primary now and telling
| people about "champing" is just seen as archaic.
| danpalmer wrote:
| Do you have a source on this, or a definition for what it
| means to be "primary" here? All I can find is sources
| confirming that "champing" is the original and more
| technically correct, but that "chomping" is an accepted
| variant.
| sva_ wrote:
| > floating point accumulation doesn't commute
|
| It is commutative (except for NaN). It isn't associative
| though.
| ekelsen wrote:
| I think it commutes even when one or both inputs are NaN?
| The output is always NaN.
| addaon wrote:
| NaNs are distinguishable. /Which/ NaN you get doesn't
| commute.
| ekelsen wrote:
| I guess at the bit level, but not at the level of
| computation? Anything that relies on bit patterns of nans
| behaving in a certain way (like how they propagate) is in
| dangerous territory.
| addaon wrote:
| > Anything that relies on bit patterns of nans behaving
| in a certain way (like how they propagate) is in
| dangerous territory.
|
| Why? This is well specified by IEEE 754. Many runtimes
| (e.g. for Javascript) use NaN boxing. Treating floats as
| a semi-arbitrary selection of rational numbers plus a
| handful of special values is /more/ correct than treating
| them as real numbers, but treating them as actually
| specified does give more flexibility and power.
| ekelsen wrote:
| Can you show me where in the ieee spec this is
| guaranteed?
|
| My understanding is the exact opposite - that it allows
| implementations to return any NaN value at all. It need
| not be any that were inputs.
|
| It may be that JavaScript relies on it and that has
| become more binding than the actual spec, but I don't
| think the spec actually guarantees this.
|
| Edit: actually it turns out nan-boxing does not involve
| arithmetic, which is why it works. I think my original
| point stands, if you are doing something that relies on
| how bit values of NaNs are propagated during arithmetic,
| you are on shaky ground.
| addaon wrote:
| Don't have the spec handy, but specifically binary
| operations combining two NaN inputs must result in one of
| the input NaNs. For all of Intel SSE, AMD SSE, PowerPC,
| and ARM, the left hand operand is returned if both are
| signaling or both or quiet. x87 does weird things (but
| when doesn't it?), and ARM does weird things when mixing
| signaling and quiet NaNs.
| ekelsen wrote:
| I also don't have access to the spec, but the people
| writing Rust do and they claim this: "IEEE makes almost
| no guarantees about the sign and payload bits of the NaN"
|
| https://rust-lang.github.io/rfcs/3514-float-
| semantics.html
|
| See also this section of wikipedia
| https://en.wikipedia.org/wiki/NaN#Canonical_NaN
|
| "On RISC-V, most floating-point operations only ever
| generate the canonical NaN, even if a NaN is given as the
| operand (the payload is not propagated)."
|
| And from the same article:
|
| "IEEE 754-2008 _recommends_ , but does not require,
| propagation of the NaN payload." (Emphasis mine)
|
| I call bullshit on the statement "specifically binary
| operations combining two NaN inputs must result in one of
| the input NaNs." It is definitely not in the spec.
| j16sdiz wrote:
| Blame the long and confusing language in spec:
|
| > For an operation with quiet NaN inputs, other than
| maximum and minimum operations, if a floating-point
| result is to be delivered the result shall be a quiet NaN
| which should be one of the input NaNs.
|
| The same document say:
|
| > shall -- indicates mandatory requirements strictly to
| be followed in order to conform to the standard and from
| which no deviation is permitted ("shall" means "is
| required to")
|
| > should -- indicates that among several possibilities,
| one is recommended as particularly suitable, without
| mentioning or excluding others; or that a certain course
| of action is preferred but not necessarily required; or
| that (in the negative form) a certain course of action is
| deprecated but not prohibited ("should" means "is
| recommended to")
|
| i.e. It required to be a quiet NaN, and recommended to
| use one of the input NaN.
| ekelsen wrote:
| Thanks for the direct evidence that the output NaN is not
| required to be one of the input NaNs.
| xmcqdpt2 wrote:
| See 6.2.3 in the 2019 standard.
|
| > 6.2.3 NaN propagation
|
| > An operation that propagates a NaN operand to its
| result and has a single NaN as an input should produce a
| NaN with the payload of the input NaN if representable in
| the destination format.
|
| > If two or more inputs are NaN, then the payload of the
| resulting NaN should be identical to the payload of one
| of the input NaNs if representable in the destination
| format. This standard does not specify which of the input
| NaNs will provide the payload.
| ekelsen wrote:
| As the comment below notes, the language should means it
| is recommended, but not required. And there are indeed
| platforms that do not implement the recommendation.
| xmcqdpt2 wrote:
| Oh right sorry. That is confusing.
| Dylan16807 wrote:
| > Many runtimes (e.g. for Javascript) use NaN boxing.
|
| But I've never seen them depend on those NaNs surviving
| the FPU. Hell, they could use the same trick on bit
| patterns that overlap with valid float values if they
| really wanted to.
| DavidVoid wrote:
| Unless you compile with fast-math ofc, because then the
| compiler will assume that NaN never occurs in the
| program.
| BeetleB wrote:
| As a sister comment said, floating point computations are
| commutative, but not associative.
|
| a * b = b * a for all "normal" floating point numbers.
| DavidVoid wrote:
| I would go even further and state that "you should never
| assume that floating point functions will evaluate the same
| on two different computers, or even on two different versions
| of the same application", as the results of floating point
| evaluations can differ depending on platform, compiler
| optimizations, compilation-flags, run-time FPU environment
| (rounding mode, &c.), and even memory alignment of run-time
| data.
|
| There's a C++26 paper about compile time math optimizations
| with a good overview and discussion about some of these
| issues [P1383]. The paper explicitly states:
|
| _1. It is acceptable for evaluation of mathematical
| functions to differ between translation time and runtime._
|
| _2. It is acceptable for constant evaluation of mathematical
| functions to differ between platforms._
|
| So C++ has very much accepted the fact that floating point
| functions should not be presumed to give identical results in
| all circumstances.
|
| Now, it is of course possible to ensure that floating point-
| related functions give identical results on all your target
| machines, but it's usually not worth the hassle.
|
| [P1383]: https://www.open-
| std.org/jtc1/sc22/wg21/docs/papers/2023/p13...
| physicsguy wrote:
| Even the exact same source code compiled with different
| compilers, or the same compiler with different compiler
| options.
|
| Intel Compiler for e.g. uses less than IEEE764 precision
| for floating point ops by default, for example.
| _kulang wrote:
| Maybe this is why my damn keyboard predictive text is so
| gloriously broken
| sen wrote:
| Oh it's not just me?
|
| Typing on my iPhone in the last few months (~6 months?) has
| been absolutely atrocious. I've tried disabling/enabling every
| combination of keyboard setting I can thinkj of, but the
| predictive text just randomly breaks or it just gives up and
| stops correcting anything at all.
| macintux wrote:
| I haven't watched the video, but clearly there's a broad
| problem with the iOS keyboard recently.
|
| https://news.ycombinator.com/item?id=46232528 ("iPhone Typos?
| It's Not Just You - The iOS Keyboard is Broken")
| acdha wrote:
| It's not just you, and it got bad on my work iPhone at the
| same time so I know it's not failing hardware or some
| customization since I keep that quite vanilla.
| taneq wrote:
| It's gotten so bad that I'm half convinced it's either (a)
| deliberately trolling, or (b) 'optimising' for speech to text
| adoption.
| refulgentis wrote:
| .
| bri3d wrote:
| Can you read the article a little more closely?
|
| > - MiniMax can't fit on an iPhone.
|
| They asked MiniMax on their computer to make an iPhone app that
| didn't work.
|
| It didn't work using the Apple Intelligence API. So then:
|
| * They asked Minimax to use MLX instead. It didn't work.
|
| * They Googled and found a thread where Apple Intelligence also
| didn't work for other people, but only sometimes.
|
| * They HAND WROTE the MLX code. It didn't work. They isolated
| the step where the results diverged.
|
| > Better to dig in a bit more.
|
| The author already did 100% of the digging and then some.
|
| Look, I am usually an AI rage-enthusiast. But in this case the
| author did every single bit of homework I would expect and
| more, and still found a bug. They rewrote the test harness code
| without an LLM. I don't find the results surprising insofar as
| that I wouldn't expect MAC to converge across platforms, but
| the fact that Apple's own LLM doesn't work on their hardware
| and their own is an order of magnitude off is a reasonable bug
| report, in my book.
| refulgentis wrote:
| Emptied out post, thanks for the insight!
|
| _Fascinating_ the claim is Apple Intelligence doesn 't work
| altogether. Quite a scandal.
|
| EDIT: If you wouldn't mind, could you edit out "AI rage
| enthusiast" you edited in? I understand it was in good humor,
| as you describe yourself that way as well. However, I don't
| want to eat downvotes on an empty comment that I immediately
| edited when you explained it wasn't minimax! People will
| assume I said something naughty :) I'm not sure it was
| possible to read _rage_ into my comment.
| LoganDark wrote:
| > _Fascinating_ the claim is Apple Intelligence doesn 't
| work altogether. Quite a scandal.
|
| No, the claim is their particular device has a hardware
| defect that causes MLX not to work (which includes Apple
| Intelligence).
|
| > EDIT: If you wouldn't mind, could you edit out "AI rage
| enthusiast" you edited in? I understand it was in good
| humor, as you describe yourself that way as well. However,
| I don't want to eat downvotes on an empty comment that I
| immediately edited when you explained! People will assume I
| said something naughty :) I'm not sure it was possible to
| read rage into my comment.
|
| Your comment originally read:
|
| > This is blinkered.
|
| > - MiniMax can't fit on an iPhone.
|
| > - There's no reason to expect models to share OOMs for
| output.
|
| > - It is likely this is a graceful failure mode for the
| model being far too large.
|
| > No fan of Apple's NIH syndrome, or it manifested as MLX.
|
| > I'm also no fan of "I told the robot [vibecoded] to
| hammer a banana into an apple. [do something impossible].
| The result is inedible. Let me post to HN with the title
| 'My thousand dollars of fruits can't be food' [the result I
| have has ~nothing to do with the fruits]"
|
| > Better to dig in a bit more.
|
| Rather than erase it, and invite exactly the kind of
| misreading you don't want, you can leave it... honestly,
| transparently... with your admission in the replies below.
| And it won't be downvoted as much as when you're trying to
| manipulate / make requests of others to try to minimize
| your downvotes. Weird... voting... manipulating... stuff,
| like that, tends to be frowned upon on HN.
|
| You have more HN karma than I do, even, so why care so much
| about downvotes...
|
| If you really want to disown something you consider a
| terrible mistake, you can email the HN mods to ask for the
| comment to be dissociated from your account. Then future
| downvotes won't affect your karma. I did this once.
| mikestew wrote:
| _Then future downvotes won 't affect your karma._
|
| Who cares? The max amount of karma loss is 4 points, we
| can afford to eat our downvotes like adults.
| LoganDark wrote:
| Huh. I thought the minimum comment score was -4 (which
| would make the maximum amount of karma loss _5_ , since
| each comment starts at 1 point), but I didn't know if
| that was a cap on karma loss or just a cap on comment
| score.
| mikestew wrote:
| 45 years of writing code, and I still commit fence post
| errors. :eyeroll:
| fragmede wrote:
| Oh no, all my meaningless internet points, gone!
| recursive wrote:
| I'm an AI rage enthusiast too. Feel free to downvote me for
| free.
| johngossman wrote:
| Posting some code that reproduces the bug could help not only
| Apple but you and others.
| csmantle wrote:
| Methodology is one thing; I can't really agree that deploying an
| LLM to do sums is great. Almost as hilarious as asking "What's
| moon plus sun?"
|
| But phenomenon is another thing. Apple's numerical APIs are
| producing inconsistent results on a minority of devices. _This_
| is something worth Apple 's attention.
| JimboOmega wrote:
| (This is a total digression, so apologies)
|
| My mind instantly answered that with "bright", which is what
| you get when you combine the sun and moon radicals to make Ming
| (https://en.wiktionary.org/wiki/%E6%98%8E)
|
| Anyway, that question is not without reasonable answers. "Full
| Moon" might make sense too. No obvious deterministic answer,
| though, naturally.
| awesome_dude wrote:
| FTR the Full Moon was exactly 5 hours ago (It's not without
| humour that this conversation occurs on the day of the full
| moon :)
| cgriswald wrote:
| In the game _Clair Obscur_ sun plus moon equals twilight.
| butlike wrote:
| You could play Infinite Craft and find out what the game
| thinks it is: https://neal.fun/infinite-craft/
|
| Edit: Spoiler -
|
| It's 'Eclipse'
| CrispinS wrote:
| > What's moon plus sun?
|
| Eclipse, obviously.
| christophilus wrote:
| That's sun minus moon. Moon plus sun is a wildly more
| massive, nuclear furnace of a moon that also engulfs the
| earth.
| dcrazy wrote:
| This thread reminds me of Scribblenauts, the game where you
| conjure objects to solve puzzles by describing them. I
| suspect it was an inspiration for Baba Is You.
| Der_Einzige wrote:
| Scribblenauts was also an early precursor to modern
| GenAI/word embeddings. I constantly bring it up in
| discussions of the history of AI for this reason.
| veqq wrote:
| Could you explain? :3
| mcny wrote:
| Wait so moon plus sun != sun plus moon? :Thinking:
| chii wrote:
| celestial objects don't need to obey algebraic
| commutativity!
| direwolf20 wrote:
| I wonder if SCP-1313 does
| AuryGlenz wrote:
| Or potentially a sun that lasts slightly longer?
| lkjdsklf wrote:
| Here i was, like an idiot, thinking it was moon light
| fsckboy wrote:
| > _Moon plus sun is a wildly more massive, nuclear furnace
| of a moon that also engulfs the earth._
|
| i just looked up mass of sun vs mass of moon (they differ
| by 10^30 vs 10^20), and the elemental composition of the
| sun: the moon would entirely disappear into the
| insignificant digits of trace elements which are in the
| range of .01 % of the sun. I could be off by orders of
| magnitude all over the place and it would still disappear.
| SauntSolaire wrote:
| Reminds me of this AI word combination game recently shared
| on HN, with almost exactly these mechanics:
|
| https://neal.fun/infinite-craft/
|
| For the record, Sun+Moon is indeed eclipse.
| tessierashpool9 wrote:
| but then eclipse + moon = sun, which doesn't make much
| sense either :/
| spacedcowboy wrote:
| Not sure about that. You can't have an eclipse without both
| the moon and the sun. Ergo, the eclipse is the totality
| (sorry!) of the sun and moon, or sun+moon (+very specific
| boundary conditions).
|
| Still think it was a good response :)
| geuis wrote:
| Not obvious. Astronomers are actively looking for signatures
| of exomoons around exoplanets. So "sun plus moon" could mean
| that too.
| xattt wrote:
| The OP said moon + sun, rather than sun + moon. We have no
| idea yet if celestial math is non-communicative.
| BenjiWiebe wrote:
| *commutative
| tbrownaw wrote:
| Well, that too.
| godelski wrote:
| Well you find the signature by looking for a dip in but
| sun's luminosity. So minus might be the better relationship
| here
| jraph wrote:
| Moon plus sun would be sun because the sun would be an
| absorbing element.
| acka wrote:
| Moon implies there is a planet the moon is orbiting. So
| unless the planet and its moon are too close to the sun the
| long term result could also be: solar system.
| jraph wrote:
| This goes to show how that plus operation is awfully
| defined.
| speed_spread wrote:
| That's operator overloading for you.
| IsTom wrote:
| INSUFFICIENT DATA FOR MEANINGFUL ANSWER.
| nkrisc wrote:
| The set of celestial objects visible to the naked eye during
| the day.
| idk1 wrote:
| As an aside, one of my very nice family members like tarot card
| reading, and I think you'd get an extremely different answer
| for - "What's moon plus sun?" - something like I would guess as
| they're opposites - "Mixed signals or insecurity get resolved
| by openness and real communication." - It's kind of
| fascinating, the range of answers to that question. As a couple
| of other people have mentioned, it could mean loads of things.
| I thought I'd add one in there.
|
| I'll just add that if you think this advice applies to you,
| it's the - https://en.wikipedia.org/wiki/Barnum_effect
| nonoesp wrote:
| > What's moon plus sun?
|
| "Monsoon," says ChatGPT.
| embedding-shape wrote:
| "moonsun" says JavaScript, 1-0 to JS I'd say.
| TimByte wrote:
| The scary part isn't "LLMs doing sums." It's that the same
| deterministic model, same weights, same prompt, same OS,
| produces different floating-point tensors on different devices
| layer8 wrote:
| > Almost as hilarious as asking "What's moon plus sun?"
|
| It's a reasonable Tarot question.
| DustinEchoes wrote:
| I wish he would have tried on a different iPhone 16 Pro Max to
| see if the defect was specific to that individual device.
| crossroadsguy wrote:
| So true! And as any sane Apple user or the standard template
| Apple Support person would have suggested (and as they actually
| suggest) - did they try reinstalling the OS from scratch after
| having reset the data (of course before backing it up;
| preferably with a hefty iCloud+ plan)? Because that's the thing
| to do in such issues and it's very easy.
| post-it wrote:
| Reinstalling the OS sucks. I need to pull all my bank cards
| out of my safe and re-add their CVV's to the wallet, and
| sometimes authenticate over the phone. And re-register my
| face. And log back in to all my apps. It can take an hour or
| so, except it's spread out over weeks as I open an app and
| realize I need to log in a dozen times.
| RulerOf wrote:
| There was a magical period. I suspect it ended with the
| introduction of the Secure Enclave. But maybe it was a
| little later.
|
| An encrypted iTunes backup of a device was a perfect image.
| Take the backup, pull the SIM card, restore the backup to a
| new phone with the sim card installed, and it was like
| nothing had happened.
|
| No reauthentication. No missing notifications. No lost
| data. Ever.
|
| It was nice.
| throwaway132448 wrote:
| Security theatre killed this. Everyone must be assumed to
| be a moron incapable of living with the consequences of
| their own choices at all times.
| fragmede wrote:
| It's not theater. If an attacker can duplicate your
| device, that's a problem.
| throwaway132448 wrote:
| Says who? How do you know what's on my device, how much
| it matters to me, and what countless other options I have
| for recourse if that did happen?
| JCharante wrote:
| > And log back in to all my apps
|
| Isn't this built in when transferring devices? Are backups
| different?
| 0x457 wrote:
| Some information stored in Secure Enclave and cannot be
| pulled out from there by design.
| jajuuka wrote:
| Latest update at the bottom of the page.
|
| "Well, now it's Feb. 1st and I have an iPhone 17 Pro Max to
| test with and... everything works as expected. So it's pretty
| safe to say that THAT specific instance of iPhone 16 Pro Max
| was hardware-defective."
| Someone wrote:
| That logic is somewhat [1] correct, but it doesn't say
| anything about whether all, some, or only this particular
| iPhone 16 Pro Maxes are hardware-defective.
|
| [1] as the author knows ("MLX uses Metal to compile tensor
| operations for this accelerator. Somewhere in that stack, the
| computations are going very wrong") there's lots of soft- and
| firmware in-between the code being run and the hardware of
| the neural engine. The issue might well be somewhere in
| those.
| TimByte wrote:
| Yeah, that would've been the cleanest experiment
| Metacelsus wrote:
| >"What is 2+2?" apparently "Applied.....*_dAK[...]" according to
| my iPhone
|
| At least the machine didn't say it was seven!
| tolciho wrote:
| Maybe Trurl and Klapaucius were put in charge of Q&A.
| dav43 wrote:
| My thousand dollar iPhone can't even add a contact from a
| business card.
| ftyghome wrote:
| I also would like to see if the same error happens in another
| phone with the exactly same model.
| nickorlow wrote:
| I'd think other neural-engine using apps would also have weird
| behavior. Would've been interesting to try a few App Store apps
| and see the weird behavior
| mungoman2 wrote:
| Good article. Would have liked to see them create a minimal test
| case, to conclusively show that the results of math operations
| are actually incorrect.
| docfort wrote:
| Interesting post, but the last bit of logic pointing to the
| Neural Engine for MLX doesn't hold up. MLX supports running on
| CPU, Apple GPU via Metal, and NVIDIA GPU via CUDA:
| https://github.com/ml-explore/mlx/tree/main/mlx/backend
| z3t4 wrote:
| neural nets or AI are very bad at math, it can only produce
| what's in the training data. So if you have trained it from 1+1
| to 8+8 it can't do 9+9, it's not like a child brain that it can
| make logical conclusions.
| swyx wrote:
| > Update on Feb. 1st: > Well, now it's Feb. 1st and I have an
| iPhone 17 Pro Max to test with and... everything works as
| expected. So it's pretty safe to say that THAT specific instance
| of iPhone 16 Pro Max was hardware-defective.
|
| nothing to see here.
| tgma wrote:
| The author is assuming Metal is compiled to ANE in MLX. MLX is
| by-and-large GPU-based and not utilizing ANE, barring some
| community hacks.
| woadwarrior01 wrote:
| What community hacks?
| addandsubtract wrote:
| ANE is probably the biggest scam "feature" Apple has ever sold.
| llm_nerd wrote:
| >ANE is probably the biggest scam "feature" Apple has ever
| sold.
|
| It is astonishing how often ANE is smeared on here, largely
| by people who seem to have literally zero idea what they're
| talking about. It's often pushed by either/or people who
| bizarrely need to wave a flag.
|
| MLX doesn't use ANE for the single and only reason that Apple
| hid the ANE behind CoreML, exposing zero public APIs to
| utilize ANE directly, and MLX -- being basically an
| experimental grounds -- wanted to hand roll their
| implementation around the GPU / CPU. They literally, directly
| state this as the reason. People inventing technical reasons
| for why MLX doesn't use ANE are basically just manufacturing
| a fan fiction. This isn't to say that ANE would be suitable
| for a lot of MLX tasks, and it is a highly optimized, power-
| efficient inference hardware that doesn't work for a lot of
| purposes, but its exclusion is not due to technically
| unsuitability.
|
| Further, the ANE on both my Mac and my iPhone is constantly
| attenuating and improving my experience. Little stuff like
| extracting contents from images. Ever browse in Safari and
| notice that you can highlight text in the image almost
| instantly after loading a page? Every image, context and
| features detected effortlessly. Zero fans cycling up. Power
| usage at a trickle. It just works. It's the same way that
| when I take a photo I can search "Maine Coon" and get
| pictures of my cats, ANE used for subject and feature
| extraction. Computational photography massively leverages the
| ANE.
|
| At a trickle of power.
|
| Scam? Yeah, I like my battery lasting for more than a couple
| of minutes.
|
| Apple intended ANE to bring their own NN augmentations to the
| OS and thus the user experience, and even the availability in
| CoreML as a runtime engine is more limited than what Apple's
| own software can do. Apple basically limits the runtime usage
| to ensure that no third party apps inhibit or restrict
| Apple's own use of this hardware.
| thinkbud wrote:
| So the LLM is working as intended?
| watt wrote:
| Does it bother anyone else that the author drops "MiniMax" there
| in the article without bothering to explain or footnote what that
| is? (I could look it up, but I think article authors should call
| out these things).
| embedding-shape wrote:
| There are tons of terms that aren't explained that some people
| (like me) might not understand. I think it's fine that some
| articles have a particular audience in mind and write
| specifically for those, in this case, it seems it's for "Apple
| mobile developers who make LLM inference engines" so not so
| unexpected there are terms I (and others) don't understand.
| JCharante wrote:
| I think articles are worse when they have to explain everything
| someone off the street might not know.
| spockz wrote:
| Yes, maybe. But it would be nice if there would be footnotes
| or tooltips. Putting the explanation in the text itself
| breaks the flow of the text so that would make it worse
| indeed.
| cowsandmilk wrote:
| MiniMax is a company. It isn't a term of art or something. It
| would be like defining Anthropic.
| fnord77 wrote:
| minimax is an algorithm for choosing the next move in an
| n-player game, discovered by John von Neumann in 1928
| einsteinx2 wrote:
| No because it was obvious from context clues that it was an LLM
| model. Not every word needs to be defined. Also if you were
| unsure and decided to search "MiniMax M2.1", every result would
| be about the LLM.
| zcbenz wrote:
| It is a bug in MLX that has been fixed a few days ago:
| https://github.com/ml-explore/mlx/pull/3083
| embedding-shape wrote:
| Blog post dated 28 Jan 2026, the bug fix posted 29 Jan 2026, so
| I guess this story had a happy ending :)
|
| Still, sad state of affairs that it seems like Apple is still
| fixing bugs based on what blog posts gets the most attention on
| the internet, but I guess once they started that approach, it's
| hard to stop and go back to figuring out priorities on their
| own.
| jckahn wrote:
| Just goes to show that attention is all you need.
| syntaxing wrote:
| I don't think so. You can see the issue ticket linked in the
| PR. Whether that issue ticket is related to the blog post is
| unknown https://github.com/ml-explore/mlx-swift-
| examples/issues/462
| llm_nerd wrote:
| MLX is a fairly esoteric library seeing very little usage,
| mostly to try to foment a broader NN space on Apple devices.
| This isn't something that is widely affecting people, and
| most people simply aren't trying to run general LLMs on their
| iPhone.
|
| I don't think that fix is specific to this, but it's
| absolutely true that MLX is trying to lever every advantage
| it can find on specific hardware, so it's possible it made a
| bad choice on a particular device.
| dahcryn wrote:
| I think you overestimate the power of a blogpost and the
| speed of bugfixing at Apple for something like this.
|
| I almost guarantee there is no way they can read this
| blogpost, escalate it internally, get the appropriate
| approval to the work item, actually work on the fix, get it
| through QA and get it live in production in 3 days. That
| would only happen on really critical issues, and this is
| definitely not critical enough for that.
| embedding-shape wrote:
| Or, one of the developers of the library saw it, decided to
| fix it in their spare time (does that exist at Apple?)
| before it became a bigger thing.
|
| If not, talk about coincident that someone reported an
| issue and all of that you mentioned was already done before
| that happened, and the only thing missing was merging the
| code to the repository which was done after the issue was
| reported. Not unheard of, but feels less unlikely than
| "Engineer decided to fix it".
| spacedcowboy wrote:
| Three days is, agreed, too short. A week is just about
| possible, though...
|
| I've seen a blog-post, authored a bug in Radar, assigned it
| to myself, and fixed it the same day. Whether it goes out
| in the next release is more a decision for the bug-review-
| board, but since the engineering manager (that would have
| been me) sits on that too, it's just a matter of timing and
| seeing if I can argue the case.
|
| To be fair, the closer we are to a release, the less likely
| a change is to be accepted unless you can _really_ sweet-
| talk the rest of the BRB, and there 's usually a week of
| baking before the actual release goes out, but that has
| sometimes been shrunk for developer-preview releases...
| mrtesthah wrote:
| How do you know that it wasn't merely that the blog post
| elicited multiple people to file the same duplicate bug in
| Apple's radar system, which is how they ostensibly prioritize
| fixes?
| embedding-shape wrote:
| I don't, but the effect is the same, "something might land
| in the news, lets fix it before it does, since multiple
| people reporting the same issue based on this public post
| someone made".
| rafaelcosta wrote:
| Extremely bad timing on my end then, should've waited for a
| few more days
| zozbot234 wrote:
| So the underlying issue is that the iPhone 16 Pro SKU was
| misdetected as having Neural Accelerator (nax) support and this
| caused silently wrong results. Not a problem with the actual
| hardware.
| llm_nerd wrote:
| Apple's documentation is utter garbage, but this code almost
| seems like a separate issue (and notably the MLX library uses
| loads of undocumented properties in metal which isn't cool).
| It looks like the change used to allow the NAX kernel to be
| used on the iPhone 17 or upcoming 18 if you're on 26.2 or
| later, to instead only allow it on the iPhone 17 Pro or
| upcoming 18. I'm fairly sure the GPU arch on the A19 is 17.
| They changed it so it will only use that kernel on the 17 Pro
| or upcoming 18, which is notable as the A19 Pro in the 17 Pro
| has a significantly changed GPU, including GPU tensor cores.
| The only real change here is that it would limit to the pro
| variants for the "17" model.
| zozbot234 wrote:
| > The neural accelerator exists in iPhones going back many
| years.
|
| What has existed before is the Apple Neural Engine (ANE)
| which is very different from the newer Neural Accelerator
| support within the GPU blocks. In fact MLX does not even
| support ANE yet since at least in previous versions it was
| hardware-limited to computing FP16 and INT8 MADDs, and not
| even that fast.
| llm_nerd wrote:
| Sure, I directly and explicitly talked about Apple's
| version of tensor cores in the GPU. But the ANE is by
| every definition a neural accelerator. Yes, I'm aware of
| Apple's weird branding for their tensor cores.
|
| "In fact MLX does not even support ANE yet"
|
| I didn't say otherwise. The ANE is a _fantastic_ unit for
| small, power-efficient models, like extracting text from
| images, doing depth modelling, etc. It 's not made for
| LLMs, or the other sorts of experimental stuff MLX is
| intended for. Though note that MLX's author's reason for
| not supporting the ANE is that it has a "closed-source"
| API (https://github.com/ml-
| explore/mlx/issues/18#issuecomment-184...), making it
| unsuitable for an open-source project, and given that MLX
| didn't want to just lean on CoreML. But anyways, the ANE
| is fantastically fast at what it does, while sipping
| juice.
|
| In any case, the code change shown should have zero
| impact on the running of MLX on an iPhone 16 Pro. MLX
| tries to really leverage platform optimizations so maybe
| another bifucation is making the wrong choice.
| zozbot234 wrote:
| The change's effects are dependent on what each SKU
| reports as its Metal architecture, both as identifying
| string (the equivalent to running 'metal-arch' in the Mac
| CLI) and as generation 'gen' number. Most likely you're
| misinterpreting the change as not affecting the iPhone 16
| Pro, where in fact it does.
|
| The MLX folks have various rationales for not supporting
| the ANE (at least as of yet), but one of them is that any
| real support requires implementing explicit splits in the
| graph of computations, where ANE-suitable portions are to
| be dispatched to the ANE and everything else goes back to
| the GPUs. That's not necessarily trivial.
| pjmlp wrote:
| It used to be great, but those days are long gone, see the
| archived docs.
| TimByte wrote:
| From a debugging point of view, the author's conclusion was
| still completely reasonable given the evidence they had
| constantcrying wrote:
| No it wasn't. A hardware defect so disastrous that it
| affects floating point computation on the neural engine,
| yet so minor that it does not affect any of the software on
| the device utilizing that hardware is exceedingly
| improbable.
|
| The conclusion, that it was not the fault of the developer
| was correct, but assuming anything other than a problem at
| some point in the software stack is unreasonable.
| Dylan16807 wrote:
| > yet so minor that it does not affect any of the
| software on the device utilizing that hardware
|
| You're being unfair here. The showpiece software that
| uses that hardware _wouldn 't install_, and almost all
| software ignores it.
| constantcrying wrote:
| The hardware itself is utilized by many pieces of
| software on any Apple device. Face ID uses it, Siri uses
| it, the camera uses it, there are also other Apple on
| device LLM features, where you could easily test whether
| the basic capabilities are there.
|
| I highly doubt that you could have a usable iPhone with a
| broken neural engine, at the very least it would be
| obvious to the user that there is something very wrong
| going on.
| callmeal wrote:
| > The conclusion, that it was not the fault of the
| developer was correct, but assuming anything other than a
| problem at some point in the software stack is
| unreasonable.
|
| Aah, the old "you're holding it wrong" defense.
| constantcrying wrote:
| What do you mean? The developer is perfectly justified in
| being upset over a basic example not functioning
| correctly, due to bug on behalf of Apple's developers. It
| just wasn't reasonable to assume that the bug was due to
| malfunctioning hardware.
| ACCount37 wrote:
| Nah.
|
| All neural accelerator hardware models and all neural
| accelerator software stacks output slightly different
| results. That is a truth of the world.
|
| The same is true for GPUs and 3d rendering stacks too.
|
| We don't usually notice that, because the tasks
| themselves tolerate those minor errors. You can't easily
| tell the difference between an LLM that had 0.00001% of
| its least significant bits perturbed one way and one that
| had them perturbed the other.
|
| But you could absolutely construct a degenerate edge case
| that causes those tiny perturbances to fuck with
| everything fiercely. And very rarely, this kind of thing
| might happen naturally.
| constantcrying wrote:
| You are correct that implementations of numerical
| functions in hardware differ, but I do not think you
| correctly understand the implications of this.
|
| >And very rarely, this kind of thing might happen
| naturally.
|
| It is not a question of rarity, it is a question of the
| stability of the numerical problem. Luckily most of the
| computation in an LLM is matrix multiplication, which is
| s extremely well understood numerical problem and which
| can be checked for good condition.
|
| Two different numerical implementations on a well
| conditioned problem and which requires much computation,
| differing significantly would indicate a disastrous fault
| in the design or condition of the hardware, which would
| be noticed by most computations done on that hardware.
|
| If you weigh the likelihood of OP running into a hardware
| bug, causing significant numerical error _on one specific
| computational model_ against the alternative explanation
| of a problem in the software stack it is clear that the
| later explanation is orders of magnitude more likely.
| Finding a _single_ floating point arithmetic hardware bug
| is exceedingly rare (although Intel had one), but
| stacking them up in a way in which one particular neural
| network does not function, while other functions on the
| hardware run perfectly fine, is astronomically unlikely.
| ACCount37 wrote:
| I have seen meaningful instability happen naturally on
| production NNs. Not to a truly catastrophic degree, but,
| when you deal in 1024-bit vectors and the results vary by
| a couple bits from one platform to another, you tend to
| notice it. And if I've seen it get this bad, then, surely
| someone has seen worse.
| syntaxing wrote:
| Kinda sucks how it seems like there's no CI that runs on
| hardware.
| liuliu wrote:
| Why MLX doesn't just detect apple10 support (for Metal)? That
| excludes all the devices without NA.
| ryeguy_24 wrote:
| What expense app are you building? I really want an app that
| helps me categorize transactions for budgeting purposes. Any
| recommendations?
| TimByte wrote:
| The real lesson here isn't even about Apple. It's about debugging
| culture
___________________________________________________________________
(page generated 2026-02-02 23:01 UTC)