upvote
My iPhone 16 Pro Max produces garbage output when running MLX LLMs

(journal.rafaelcosta.me)

It is a bug in MLX that has been fixed a few days ago: https://github.com/ml-explore/mlx/pull/3083
reply
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.
reply
From a debugging point of view, the author's conclusion was still completely reasonable given the evidence they had
reply
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.

reply
> 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.

reply
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.
reply
> 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.

reply
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.

reply
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.

reply
It used to be great, but those days are long gone, see the archived docs.
reply
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.

reply
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.

reply
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...

reply
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".

reply
Just goes to show that attention is all you need.
reply
Extremely bad timing on my end then, should've waited for a few more days
reply
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
reply
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.

reply
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?
reply
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".
reply
Kinda sucks how it seems like there’s no CI that runs on hardware.
reply
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.

reply
(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 明(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.

reply
You could play Infinite Craft and find out what the game thinks it is: https://neal.fun/infinite-craft/

Edit: Spoiler -

It's 'Eclipse'

reply
In the game Clair Obscur sun plus moon equals twilight.
reply
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 :)
reply
deleted
reply
> What's moon plus sun?

Eclipse, obviously.

reply
That’s sun minus moon. Moon plus sun is a wildly more massive, nuclear furnace of a moon that also engulfs the earth.
reply
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.

reply
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 :)

reply
>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.

reply
Wait so moon plus sun != sun plus moon? :Thinking:
reply
celestial objects don't need to obey algebraic commutativity!
reply
I wonder if SCP-1313 does
reply
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.
reply
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.
reply
Could you explain? :3
reply
Here i was, like an idiot, thinking it was moon light
reply
but then eclipse + moon = sun, which doesn't make much sense either :/
reply
Or potentially a sun that lasts slightly longer?
reply
The set of celestial objects visible to the naked eye during the day.
reply
Moon plus sun would be sun because the sun would be an absorbing element.
reply
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.
reply
This goes to show how that plus operation is awfully defined.
reply
That's operator overloading for you.
reply
Not obvious. Astronomers are actively looking for signatures of exomoons around exoplanets. So "sun plus moon" could mean that too.
reply
The OP said moon + sun, rather than sun + moon. We have no idea yet if celestial math is non-communicative.
reply
*commutative
reply
Well, that too.
reply
Well you find the signature by looking for a dip in but sun's luminosity. So minus might be the better relationship here
reply
INSUFFICIENT DATA FOR MEANINGFUL ANSWER.
reply
> Almost as hilarious as asking "What's moon plus sun?"

It’s a reasonable Tarot question.

reply
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

reply
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
reply
> What's moon plus sun?

"Monsoon," says ChatGPT.

reply
"moonsun" says JavaScript, 1-0 to JS I'd say.
reply
I wish he would have tried on a different iPhone 16 Pro Max to see if the defect was specific to that individual device.
reply
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.
reply
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.
reply
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.

reply
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.
reply
It's not theater. If an attacker can duplicate your device, that's a problem.
reply
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?
reply
> And log back in to all my apps

Isn’t this built in when transferring devices? Are backups different?

reply
Some information stored in Secure Enclave and cannot be pulled out from there by design.
reply
Yeah, that would've been the cleanest experiment
reply
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."

reply
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.

reply
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.
reply
ANE is probably the biggest scam "feature" Apple has ever sold.
reply
What community hacks?
reply
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.

reply
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.

reply
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...

reply
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.

reply
> floating point accumulation doesn't commute

It is commutative (except for NaN). It isn't associative though.

reply
I think it commutes even when one or both inputs are NaN? The output is always NaN.
reply
Unless you compile with fast-math ofc, because then the compiler will assume that NaN never occurs in the program.
reply
NaNs are distinguishable. /Which/ NaN you get doesn't commute.
reply
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.
reply
> 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.

reply
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.

reply
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.

reply
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.
reply
Oh right sorry. That is confusing.
reply
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.
reply
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.

reply
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.

reply
Thanks for the direct evidence that the output NaN is not required to be one of the input NaNs.
reply
FYI, the saying is "champing at the bit", it comes from horses being restrained.
reply
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?

reply
Byting at the bit?
reply
chomping at the bit
reply
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.
reply
It’s actually accepted as the primary now and telling people about “champing” is just seen as archaic.
reply
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.
reply
As a sister comment said, floating point computations are commutative, but not associative.

a * b = b * a for all "normal" floating point numbers.

reply
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).
reply
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.
reply
I think articles are worse when they have to explain everything someone off the street might not know.
reply
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.
reply
MiniMax is a company. It isn’t a term of art or something. It would be like defining Anthropic.
reply
minimax is an algorithm for choosing the next move in an n-player game, discovered by John von Neumann in 1928
reply
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.

reply
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.

reply
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

reply
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.
reply
deleted
reply
I still have mine. Never use it though as I'm not handy with RPN anymore. :'(
reply
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).

reply
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.

reply
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.
reply
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.
reply
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/

reply
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.

reply
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
reply
HP Prime emulator still wins for actually solving equations
reply
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
reply
I use the "RealCalc" app on my phone. It's pretty similar to my old HP48.
reply
Posting some code that reproduces the bug could help not only Apple but you and others.
reply
Maybe this is why my damn keyboard predictive text is so gloriously broken
reply
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.

reply
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")

reply
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.
reply
It’s gotten so bad that I’m half convinced it’s either (a) deliberately trolling, or (b) ‘optimising’ for speech to text adoption.
reply
deleted
reply
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
reply
>"What is 2+2?" apparently "Applied.....*_dAK[...]" according to my iPhone

At least the machine didn't say it was seven!

reply
Maybe Trurl and Klapaucius were put in charge of Q&A.
reply
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.
reply
What expense app are you building? I really want an app that helps me categorize transactions for budgeting purposes. Any recommendations?
reply
The real lesson here isn't even about Apple. It's about debugging culture
reply
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)

reply
IKR - this is very typical
reply
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
reply
I also would like to see if the same error happens in another phone with the exactly same model.
reply
So the LLM is working as intended?
reply
[dead]
reply
[dead]
reply
[dead]
reply
[flagged]
reply
[flagged]
reply
> Or, rather, MiniMax is! The good thing about offloading your work to an LLM is that you can blame it for your shortcomings. Time to get my hands dirty and do it myself, typing code on my keyboard, like the ancient Mayan and Aztec programmers probably did.

They noticed a discrepancy, then went back and wrote code to perform the same operations by hand, without the use of an LLM at all in the code production step. The results still diverged unpredictably from the baseline.

Normally, expecting floating-point MAC operations to produce deterministic results on modern hardware is a fool's errand; they usually operate asynchronously and so the non-commutative properties of floating-point addition rear their head and you get some divergence.

But an order of magnitude difference plus Apple's own LLM not working on this device suggests strongly to me that there is something wrong. Whether it's the silicon or the software would demand more investigation, but this is a well reasoned bug in my book.

reply
> Time to get my hands dirty and do it myself, typing code on my keyboard, like the ancient Mayan and Aztec programmers probably did.

https://ia800806.us.archive.org/20/items/TheFeelingOfPower/T...

I should think I'll probably see someone posting this on the front page of HN tomorrow, no doubt. I first read it when it was already enormously old, possibly nearly 30 years old, in the mid 1980s when I was about 11 or 12 and starting high school, and voraciously reading all the Golden Age Sci-Fi I could lay my grubby wee hands on. I still think about it, often.

reply
I found the article hard to read. I turned on reader mode. I still found it hard to read. Each sentence is very short. My organic CPU spins trying to figure out how each sentence connects to the next. Each sentence feels more like a paragraph, or a tweet, instead of having a flow. I think that's my issue with it.
reply
If it was written in turgid prose people would be frantically waggling their AI accusatory fingers.
reply
Instead he writes Buzzfeed style: a sentence per paragraph, and then smushes several paragraphs into one.

(The idea being, a paragraph usually introduces a new thought.)

reply
My TL;DR is that they tried to run an on-device model to classify expenses, it didn't work even for simple cases ("Kasai Kitchin" -> "unknown"), they went deeeeeep down the rabbit hole to figure out why and concluded that inference on their particular model/phone is borked at the hardware level.

Whether you should do this on device is another story entirely.

reply
Why shouldn't you? It's your device, it has hardware made specifically for inference.

What's to be gained, other than battery life, by offloading inference to someone else? To be lost, at least, is your data ownership and perhaps money.

reply
> What's to be gained... by offloading inference to someone else?

Access to models that local hardware can't run. The kind of model that an iphone struggles to run is blown out of the water by most low end hosted models. Its the same reason that most devs opt for claude code, cursor, copilot, etc. instead of using hosted models for coding assistance.

reply
But apparently this model is sufficient for what the OP wants to do. Also apparently it works on iPhone 15 and 17, but not on 16.
reply
Claude code produces stuff orders of magnitude more complicated than classifying expenses. If the task can be run locally on hardware you own anyway, it should.
reply
I would really not want to upload my expense data to some random cloud server, nope. On device is really a benefit even if it's not quite as comprehensive. And really in line with apple's privacy focus so it's very imaginable that many of their customers agree.
reply
deleted
reply
deleted
reply
[flagged]
reply
I severely doubt your thesis around iPhones being Veblen goods.

You are claiming that if the price of the iPhone went down, apple would sell fewer phones?

Correspondingly, you are arguing that if they increased prices they could increase sales?

You are claiming that 100s of millions of people have all made the decision that the price of an iPhone is more than it is worth to them as a device, but is made up for by being seen with one in your hand?

Not all goods that signify status are Veblen goods.

reply
>Correspondingly, you are arguing that if they increased prices they could increase sales?

Veblen goods aren't like this. If they were, everything would be priced at infinity. Veblen goods have to take into account the amount of spending money their target customers have, and how much they're willing to spend. Apple products are priced this way. They're not targeted just at people who can afford Rolls-Royce Silver Shadows, they're targeted at regular people who are willing to spend too much money on a phone when they can get an equivalent Android phone for half the price. Those people have limited money, but they're willing to overpay, but only so much.

>You are claiming that if the price of the iPhone went down, apple would sell fewer phones?

Quite likely, yes. If they adopted razor-thin profit margins on iPhones, their phones would be seen as "cheap" and wouldn't have the cachet they have now. More people would start looking at alternatives, and start buying Samsung Galaxies and other flagship Android phones.

reply
> Veblen goods aren't like this.

Increasing demand with increasing prices is the very definition of a Veblen good. I never said anything like pricing them at infinity (an exceptionally stupid way of saying that something is not for sale).

I simply pointed out that there isn’t really any reason to believe that a mass produced easily available phone that holds a massive percentage of the entire global cell phone market would see increased demand from increased prices. It is an extraordinary claim with nothing resembling evidence. The most damning evidence is that the most expensive iPhone, the Pro Max, is outsold 2:1 by the base model for the last three generations, despite being visually distinguishable. (The 17 saw initial sales of Pro Maxes higher than base, but that appears to have corrected. Easily understandable that early adopters are more willing to pay for the best version of new tech)

There is an argument to be made that the Pro Max flirts with Veblen for small parts of the market, or that certain submarkets in poorer countries treat the iPhone that way, but that all looks more like conspicuous consumption. I still don’t believe that Pro Max sales increase if the price increases. A few individuals or submarket will not have the ability to invert a demand curve for an Apple device.

Again, I think that you are confusing conspicuous consumption with a Veblen good. This sentence is the giveaway:

> Those people have limited money, but they're willing to overpay, but only so much.

What you are describing is a normal demand curve. As price rises fewer people are willing to pay. People being unable to pay for something they still want does not make something a Veblen good (that would make insulin a Veblen good). You are describing a steep demand curve, not a reversed one.

Just because you perceive that an equivalent android can be purchased for half the price does not mean that everyone uses your criteria. I tried switching to a lower priced android made by google. In no way was it equivalent for my purposes. and I still wouldn’t want it. I am happy to pay the price, not because I care about being seen with an iPhone, but because it is the tool that I have determined to best suit my purposes. Many people refuse to believe this, but many people like the Apple ecosystem.

reply
This is a conclusion that comes with some personal baggage you should identify and consider addressing.
reply
I mean, I think it's cultural. In US it seems like everyone has an iphone, it's almost kinda quirky not to have one. But in some other places, an iPhone is more than your monthly salary - having one is definitely a symbol of status. Less so than it used to be, but it still has that.
reply
iPhones in the US have an estimate ~55% market share depending on source. Owning an Android wasn't unusual in the least when I lived there, and appears to be pretty popular.

I don't think its unusual that a country with high median income and higher average income will tend to gravitate towards more expensive phones. Given that Apple doesn't make a cheap phone, it kind of follows that wealthier countries will buy more iPhones.

Of course the opposite is true as well, In a country where an iPhone is measured in months of salary, they won't sell well, but I'd be willing to bet that Androids in that price tier sell like shit in those countries too.

Is it a status symbol? arguably. But it also correlates pretty strongly with median income.

reply
Fair, but that’s a comment on a US-centric website, run by a US-centric company, in a US-centric industry, on a US-centric medium. So if they didn’t mean US, I think the onus is on them to clarify exactly where this applies.
reply
Admittedly, I hate companies that live off their marketing. Nintendo, Disney, Apple. I hate that these companies can weaponize psychology against humans.

Function > Form.

I think its a Hero Complex, if Jung is correct.

reply
Yes because 60% of US phone buyers buy an iPhone to stand out from the average US phone buyer and they shouldn’t because it doesn’t run local llm’s well?
reply
That's the least of the problems with using an iPhone.
reply
So exactly what problems do most people have with iPhones that could be solved with Android.
reply
Macbooks and iPhones are good devices though, saying this as a primarily linux user.

There is no way a company could exist purely on marketing, Apple backs it up with tech.

reply
Some companies definitely do just exist on marketing. Some clothing brands are objectively overpriced crap and pure wealth signalling. Or something like a juicero.

But I agree Apple doesn't even though they've gone into a direction I couldn't follow them in.

reply
Not really. They back it up with "good enough tech" that looks pretty and sucks people in with marketing, and then locks them into a closed ecosystem. Admittedly, some of their tech is actually very good (e.g. M-series ARM-based CPUs), but much of it is nothing special, or worse, just copying something else that competitors have been doing for years, presenting it as brand-new, and claiming credit for it.

They did this with the always-on screens for phones. My LGs had this many, many years ago. It was so bad that when Apple finally brought it out and acted like they had invented it, coworkers saw my LG and asked if I had gotten the latest iPhone, and I had to point out that it was a 5-year-old LG.

And then there's other stuff that Apple has which is just plain bad, but they present as new and wonderful, such as the "island" keyboard.

reply
deleted
reply
I'd almost say most companies live or die off their marketing. One could argue that understanding your customer as well as or better than they understand themselves is a strength.

To wit, some people do value form over function. Some people do prefer a safe, curated walled garden.

I am not among them--I say this as someone who cannot stand using most Apple products for more than a minute. But I respect what they offer(ed) and for some people even recommended them. (Now I'm less sure because it seems like everything tech has gone to shit, but I can't tell if that's just "old man yells at cloud" or what)

Ideally there would be enough competition for us all to find what we're looking for. I think anticompetitive behavior is a worse sin

reply
All three of these companies are supremely dedicated to the customer experience. It’s a weird thing to be annoyed at. Ninty is the only company really experimenting with gaming hardware. Disney parks are a thesis on hiding the “behind the scenes” stuff perfectly. Apple does its best to make things just kinda work well, and if you’re in their ecosystem fully, it usually does work out.

Not everyone cares for the most capable device on the planet. Sometimes people just want a pretty familiar and easy experience. I haven’t used my phone for anything more than browsing the web and texting in ages. I absolutely don’t care about whatever function you think I’m missing due to Apple, honestly.

As a side note, the fathers of Psychology were absolutely terrible scientists. The entire field almost failed because they took it so far into pseudo-science land. Of course Jung isn’t correct.

reply
Can you prove that is still the case with the iPhone SE by showing a comparable hardware with similar long support on software updates and lower price?
reply
> Its a demonstration of wealth. This is called Veblen good

Just the other day I was reminded of the poor little "I am rich" iOS app (a thousand dollar ruby icon that performed diddly squat by design), which Apple deep-sixed from the app store PDQ.

If misery loves company, Veblen goods sure don't.

reply
[flagged]
reply
Well it seems that, those days, instead of SUM(expense1,expense2) you ask an LLM to "make an app that will compute the total of multiple expenses".

If I read most of the news on this very website, this is "way more efficient" and "it saves time" (and those who don’t do it will lose their job)

Then, when it produces wrong output AND it is obvious enough for you to notice, you blame the hardware.

reply
The author is debugging the tensor operations of the on-device model with a simple prompt. They confirmed the discrepancy with other iPhone models.

It’s no different than someone testing a calculator with 2+2. If it gets that wrong, there’s a hardware issue. That doesn’t mean the only purpose of the calculator is to calculate 2+2. It is for debugging.

You could just as uncharitably complain that “these days no one does arithmetic anymore, they use a calculator for 2+2”.

reply
The app-making wasn't being done on the phone.

The LLM that malfunctioned was there to slap categories on things. And something was going wrong in either the hardware or the compiler.

reply
I mean, Apple's LLM also doesn't work on this device, plus the author compared the outputs from each iterative calculation on this device vs. others and they diverge from every other Apple device. That's a pretty big sign that both, something is different about that device, and this same broken behavior carried across multiple OS versions. Is the hardware or the software "responsible" - who knows, there's no smoking gun there, but it does seem like something is genuinely wrong.

I don't get the snark about LLMs overall in this context; this author uses LLM to help write their code, but is also clearly competent enough to dig in and determine why things don't work when the LLM fails, and performed an LLM-out-of-the-loop debugging session once they decided it wasn't trustworthy. What else could you do in this situation?

reply
Somewhere along the line, the tensor math that runs an LLM became divergent from every other Apple device. My guess is that there's some kind of accumulation issue here (remembering that floating-point accumulation does not usually commute), but it seems genuinely broken in an unexpected way given that Apple's own LLM also doesn't seem to work on this device.
reply
LLMs are applied math, so… both?
reply
[flagged]
reply
[flagged]
reply
[flagged]
reply
If you’d read the whole thing, you would go on a debugging journey that both involved bypassing the LLM and was appropriate for HN (vs not dismissing the article), so you might want to do that.
reply
It's not about LLMs doing math.
reply
deleted
reply
Uhh, that's not the article, the article is running a ml model, on phone and floating point opps for tensor multiplication seems to be off.
reply
[flagged]
reply
[flagged]
reply
.
reply
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.

reply
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.

reply
> 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.

reply
Oh no, all my meaningless internet points, gone!
reply
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.

reply
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.
reply
deleted
reply
My thousand dollar iPhone can't even add a contact from a business card.
reply
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.
reply
> 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.

reply