Apple Core AI Framework
Posted by hmokiguess 1 day ago
Comments
Comment by franze 1 day ago
but i maintain https://github.com/Arthur-Ficial/apfel so i might be biased
Comment by robgough 22 hours ago
Here's what you get when you run it... https://gist.github.com/robgough/7893602895e7580117475076198...
Comment by franze 16 hours ago
but i definitely feel flattered, either my little project inspired them or that I reached the same conclusion at a similar time as a team at apple that "hey, this is totally missing"
Comment by dofm 17 hours ago
Comment by franze 15 hours ago
chat completion is openai's api surface name.
but only when it is actually available we will see if it's a clean drop-in vs. just "chat-completions-ish".
one of my learnings from apfel is that is is very easy to get a kinda openAI api compatible server, and a lot of work to get it really totally compatible. sometimes i wonder if even the openai implementation of openai's api is openai api compatible to the core....
Comment by dofm 15 hours ago
Ahh! I did not know that
> sometimes i wonder if even the openai implementation of openai's api is openai api compatible to the core….
It's a similar situation with "Arca-Swiss compatible" tripod plates in photography. There is really no such thing — Arca-Swiss didn't make a standard, so they didn't have to stick to it themselves, and while most things using this "standard" fix to most things, some things just won't fit, or won't stay put. Everyone implements it, and if they don't, people complain "why didn't you just put an Arca standard foot on it?" and then you have to sit them down and tell them.
Comment by ElFitz 18 hours ago
Comment by harrouet 17 hours ago
Comment by robgough 12 hours ago
Comment by ABS 13 hours ago
Comment by jjice 10 hours ago
Comment by mark_l_watson 10 hours ago
I have been fairly much pissed off at the "hype in hyperscaler" AI growth (data center environmental and other societal costs) and I support anything we can do to promote local and private AI.
Comment by dofm 17 hours ago
I also really want to hear more about their containerisation/seatbelt strategy now that they are offering MCP support. Not seen any news about Darwin inside their containers system.
(Apfel is a cool project; it’s been the only thing tempting me to upgrade to Tahoe)
Comment by crancher 1 day ago
Comment by cat5e 1 day ago
Comment by trollbridge 1 day ago
Comment by mips_avatar 20 hours ago
Comment by tyre 19 hours ago
Comment by MysticOracle 1 day ago
Meet Core AI - https://developer.apple.com/videos/play/wwdc2026/324/
Dive into Core AI model authoring and optimization - https://developer.apple.com/videos/play/wwdc2026/325/
Integrate on-device AI models into your app using Core AI - https://developer.apple.com/videos/play/wwdc2026/326/
Comment by bensyverson 1 day ago
Does this completely replace the previous API, CoreML? [1]
[0]: https://apple.github.io/coreai-optimization/
[1]: https://developer.apple.com/documentation/coreml/Comment by earthnail 1 day ago
"If your app uses model types other than neural networks, such as decision trees or tabular feature engineering, see Core ML."
Comment by trollbridge 1 day ago
Comment by ElFitz 18 hours ago
- https://maderix.substack.com/p/inside-the-m4-apple-neural-en...
Comment by pzo 1 day ago
Comment by ABS 13 hours ago
- Core ML narrows to classic, non-neural ML (its own docs now point you there for "decision trees or tabular feature engineering")
- Core AI takes neural nets and transformers (the new .aimodel format, the new profiler)
- MLX stays the separate bring-your-own-weights track (its WWDC sessions draw no line back to Core AI at all)
coreai-opt is the successor to coremltools on the optimization side.
Comment by LoganDark 1 day ago
- Core ML is for models designed only for Apple platforms
- MLX is for models that don't need to be fast
- Core AI is for models that run everywhere already and also need to be fast
Comment by jkman 10 hours ago
Comment by wahnfrieden 17 hours ago
MLX is not for end user deployment.
Comment by wahnfrieden 1 day ago
Comment by sgt 14 hours ago
Comment by jjice 10 hours ago
Comment by wahnfrieden 8 hours ago
Comment by sgt 7 hours ago
Comment by scosman 20 hours ago
Comment by wahnfrieden 17 hours ago
Comment by ABS 12 hours ago
Apple keeps MLX (bring-your-own-weights) separate from Foundation Models / Core AI.
Comment by dvt 1 day ago
Comment by pmontra 11 hours ago
The AI future will be clearly... what it will be. Probably bouncing back and forth from local to centralized. However, if there are money to be made by selling things that people run locally, it seems that centralizing creates more power and hence more money.
Comment by ip26 19 hours ago
Comment by doctorpangloss 19 hours ago
Comment by fedeb95 15 hours ago
Comment by AdamN 13 hours ago
It doesn't matter how good the model is if it doesn't have context from data sources.
Comment by ankit219 21 hours ago
Comment by ABS 13 hours ago
Comment by an0malous 1 day ago
Comment by hadlock 1 day ago
Comment by horsawlarway 22 hours ago
I've been on claude's opus 4.5/6/7 for work for a couple months, and I finally got back to running Qwen A3B 35B... it's incredibly performant and quite capable on semi-reasonable local hardware.
I get ~150 tokens/s on dual nvidia RTX 3090s and can fit the whole 300k context into gpu on a UD-Q4-K-XL quant gguf.
Combined with Pi as a harness, and I'm surprised to find that it feels about as capable as claude did 8 months ago (their 3.x models).
It's not Opus 4.5 levels yet, but it's good enough for a LOT of basic work. I actually downgraded my personal anthropic subscription because Qwen is absolutely fine for implementation work. I still let a better model write a plan, but then I can just switch over to Qwen to implement.
I don't think we're 10 years away from opus 4.5 levels running on cheap consumer hardware. I think we're probably closer to 18 months away, and I suspect it'll be in the 30-60b range, not the 256b range.
PC manufacturers also seem to be betting on local, with a LOT of focus on 64 to 128gb unified RAM machines.
Comment by dofm 16 hours ago
I am a fully-burned-out freelancer (in the last couple of years so severely and totally that I thought I had early onset dementia, and I am still not sure I don't). I don't really have an off-ramp to anything else yet, but the sea-change in the industry has been contributing to my feeling that I should knock it on the head.
I must get past broad understanding of AI to deep understanding, but I have to find a way to do this which sits well with freelancer ethics (sustainability, stability, control of destiny).
So I decided I would start out with that operating principle that ultimately this stuff is just going to be local: models will eventually hit some level of practicality for most tasks and technological progress guarantees that they will eventually run on desktops.
I decided to learn how to run models locally properly, see how far I get with opencode (and Pi and Zed experiments), and grow outwards from there to metered models (opencode go, openrouter etc.)
Knowledge first; what can I do that meaningfully changes my outcomes and confidence with no cost and no exposure to sudden change?
I have a secondhand M1 Max (excellent GPU bandwidth), and I am really shocked to find that arguably that level of practicality is already here.
Qwen 3.6 35B can really do a lot. And — not sure if you have tested it — but in some ways I think the Gemma 4 26B is better. Particularly for more commonplace dev tech — it is very knowledgeable about the sort of low-end web dev stack that is most common (Wordpress, PHP, MySQL).
I have been getting 75 tokens/sec with (GGUF) Gemma-4 26B QAT and MTP. (Can't get anywhere close with MLX, for some reason.)
A similar sort of speed with an MLX Qwen 3.6 35B. I have a sneaking suspicion that maybe llama.cpp is now faster than MLX on this older kit so I might try seeing what llama.cpp can do there, too.
Not blazing fast, but fast enough that there are plenty of experiments and small jobs I can do before I even get to using Big Pickle!
Comment by weirdcat 12 hours ago
Comment by dofm 10 hours ago
./llama-server \
-hf google/gemma-4-26B-A4B-it-qat-q4_0-gguf \
--spec-draft-hf RachidAR/gemma-4-26B-A4B-it-qat-assistant-q4_0-gguf:Q4_0 \
--spec-type draft-mtp \
--spec-draft-n-max 3
I hadn't done any really radical testing so I've just had another look.Without the MTP drafter, it is pretty consistently 75 tokens per second anyway, which is interesting.
With the MTP drafter it reaches well above 95 tokens per second handling the prompt and it will slowly drop to 65 or so with the output tokens as the prediction success rate slowly drops.
But with generated output it seems to me that the predictions are always going to drop dramatically over time.
I think my results here are broadly consistent with what people say about success rates with smaller and sparse models. I am going to test with n-max 4 in agentic situations at some point, and I may see whether it has much impact on the 31B model which is too slow to be practical otherwise.
I have a very unqualified feeling that MTP will matter more in agentic coding because of the larger prompts.
But my biggest issue since I installed it, I think, is that the combination is occasionally messing with markdown generation during thinking, and sometimes possibly losing the </think> at the end. I've seen it enough now to be fairly sure it is the Gemma MTP causing it. There is an open bug in the vLLM project about this and I wonder if something similar is going on in llama.cpp.
The speed without the MTP drafter is pretty solid so I am content to let more experienced people than me handle things while I learn other stuff, but I might go looking for some testing code that can prove it sometime.
Comment by dofm 9 hours ago
https://huggingface.co/google/gemma-4-26B-A4B-it-qat-q4_0-gg...
Might see if Google has official drafters later.
Comment by maxdo 22 hours ago
Local is a pipe dream . If you can run it cheap occasionally why commercial companies can’t run it cheaper 24/7 and lower the costs ? The answer is simple. Use cases are more demanding and hence you need more from model not less .
Sure if you task is to do a narrow labeling task on 1m records small optimized model is good . If you want to do complex things , it shifts with models advancements
Comment by horsawlarway 11 hours ago
Your argument is actually really similar to an argument around the time Uber started kicking into gear and expanding.
It went:
---
"Why should I own a car when it's actually cheaper to just Uber for all my rides, compared to the cost of buying, maintaining, and insuring a car?"
---
And that wasn't an insane argument at that exact moment. Uber was pricing itself in the range of $5-$7 a ride, was novel and high quality.
Except take a look around today... Uber in my area went from ~$5 a ride to ~$27 a ride for the same trip. Uber's quality has also degraded quite a bit. It went from primarily high end, new cars with immaculately clean interiors to "average".
So want to make a wager on what's going to happen with cloud costs over the next decade for inference?
Because my strong hunch is they're going to follow exactly the same trend. They will stop being subsidized, providers WILL downgrade model quality to improve operating costs (and you'll have no control over this outside of enterprise contracts), and companies will start exploring "additional revenue options"... which means they'll shove ads and sponsored content into your results.
Is it worth being ~10-18 months behind the latest and greatest to avoid that entire set of shenanigans? I'd vote yes... I pay one time up front, and get usage limited by my hardware for the cost of electricity over a 10 year timeline. That's a decent deal with no surprises.
You're welcome to rent, but renting makes you subject to the whims of the owners. They're being very nice right now to attract all the flies. That's not a mistake, and it's absolutely a trap.
---
Side note - if you're only able to do labeling tasks with a local model... you're holding something very, very wrong.
Comment by hparadiz 21 hours ago
I'm seeing some impressive results from folks that can afford 10k+ GPUs right now. But those GPUs will all be hand me downs in 10 years. So pipe dream? Hmmm...... that's not how this industry works.
Comment by tyre 19 hours ago
But it doesn’t seem anywhere imminent with our current world state.
Comment by hparadiz 19 hours ago
For whatever reason every generations thinks they are the peak. Naw man. You're just a blip at the bottom of the logarithmic chart.
Comment by sgt101 17 hours ago
- was the pause in model scaling a result of the benefits of RL & SFT being easier to access and quicker than scaling, or was it genuinely the result of scaling being low ROI now?
- are power densities necessary to provide high quality on device inference possible? Can the best, technically feasible, architectures accomodate T scale models and run them off batteries that fit in your hand?
- will thing slow down enough to allow edge depoloyments to realise value vs. centralised deployments.
- do edge use cases drive enough revenue to get this to happen?
- can local inference make up for model scale? Does that make sense in a latency/power race with the central infrastructure? Is there a sweet spot here?
I am not sure about any of the answers...
Comment by wqaatwt 18 hours ago
Comment by horsawlarway 10 hours ago
But it also doesn't capture the entire picture.
CPU metrics mostly stalled for two reasons.
1. There wasn't much demand for the extra capacity. Even low end cpus from a decade ago are plenty capable for just browsing the web and typing up documents. It takes a novel use-case to drive demand again (or a desire to do things like play new games).
2. The interest in CPU development shifted in response to mobile. Given point #1 and the state of battery development.... the blocker wasn't "performance". It was "performance per watt". And on that metric you couldn't be more wrong.
Since ~2005, MIPS per watt has improved 15x to 30x.
Also - fun news is that the traditional CPU pipeline really isn't the bottleneck for AI workloads. So we're going to see incredible interest in things like memory bandwidth and other inference related hardware bottlenecks, which haven't already been optimized.
Comment by BeetleB 10 hours ago
It stalled before the rise of PC-as-Internet-portal.
I bought a high end PC in 2003, and 5 years later the PCs were not much faster - probably not even 2x. Around 2008-2010 was when most people started using PCs as a way to connect to the Internet.
It stalled because scaling got a lot more challenging. Not because of lack of demand.
Comment by horsawlarway 4 hours ago
I was building gaming machines in the early 2000s, I absolutely remember the 4ghz wall that cpus hit.
But it wasn't a real wall... because we then got one of the arguably most influential processors ever in the Core 2 duo. Which... blew the limit away by giving you two processors clocked at 2.93 GHz each.
And honestly, even then - it was lack of demand (we could go to 4+ghz, but we didn't want to pay the power bill for the rest of the system - the planned pentium 5 was 7-10ghz on paper, but they canceled the project because keeping it fed and cool was too hard for personal desktop machines).
Of Note - we did reach these speeds on consumer hardware (ex - in 2012, Andre Yang hit 8.794Ghz on an AMD FX-8350)
So it was never "impossible" to keep scaling. It just wasn't worth it compared to going multi-core.
---
And maybe it's because I was in my formative years at this time, but you're off by 5+ years with this:
> Around 2008-2010 was when most people started using PCs as a way to connect to the Internet.
Gmail was a web only email client released in 2004. Wikipedia was released in 2001. Web browsing was very much one of the "killer" apps for computers by the 2000s. What do you think the damn 2000s dot-com bubble crash was?
at the risk of aging myself - I was born in '89, and I literally do not remember a time where we didn't have DSL speeds and above (friends houses often still had dial-up until ~2005, though).
Comment by BeetleB 3 hours ago
Well, Gmail was actually one of the last web based email clients people used :-) Yahoo mail, Hotmail, and so many others predate Gmail by years.
> Web browsing was very much one of the "killer" apps for computers by the 2000s.
One of them. People still used non-browser apps for all kinds of things: Media consumption (people didn't watch movies on Youtube), Office (Google Docs was very much a niche thing for many years), photo-editing (lots of pirated versions of Photoshop/Lightroom years after the iPhone release), etc.
Most non-mail, non-social media, non-shopping stuff people do on the web these days was a dedicated SW from the vendor in those days. Want to make a photobook? Download this Windows binary and set it up there. It will then communicate with the server for the order (no browser utilized).
> at the risk of aging myself - I was born in '89, and I literally do not remember a time where we didn't have DSL speeds and above (friends houses often still had dial-up until ~2005, though).
Spring chicken! My first online experience was on a 340 baud modem :-)
Comment by nozzlegear 7 hours ago
Comment by iwontberude 11 hours ago
Comment by iwontberude 11 hours ago
Comment by strictnein 23 hours ago
Comment by mswphd 20 hours ago
Qwen 3.5 was released 3/2/2026. It includes models up to a 397B-A17B model
https://huggingface.co/collections/Qwen/qwen35
A day afterwards, a high-up technical leader working on Qwen was let go
https://techcrunch.com/2026/03/03/alibabas-qwen-tech-lead-st...
The more recent Qwen 3.6 was released on 4/16
https://huggingface.co/collections/Qwen/qwen36
This does not include any particularly large models. But the models it contains (Qwen3.6 27B and Qwen3.6 35B-A3B) are the local models people have been very excited about lately. So they didn't release any larger models, and the models people praise so much are from this most recent release.
Comment by tyre 19 hours ago
Comment by sealeck 1 day ago
Comment by mikestorrent 1 day ago
Comment by niek_pas 13 hours ago
Comment by pixelready 1 day ago
Comment by mindwok 1 day ago
Comment by XenophileJKO 1 day ago
I think what people didn't realize was, just because the GPT-4.5 model didn't get better on the benchmarks, didn't mean the model wasn't different than the earlier models. It was being compared to thinking models that were being developed at the same time.
The GPT 4.5 model still has some of the most "human" like abilities in communication even though it isn't particularly good a problem solving. It hadn't under gone the same type of reinforcement training.
I still use GPT 4.5 sometimes, in creative exercises it can be surprisingly effective. The model is still available.
Comment by adgjlsfhk1 21 hours ago
Comment by stogot 1 day ago
Comment by hajile 8 hours ago
Comment by cat5e 1 day ago
Comment by viccis 23 hours ago
Comment by cush 23 hours ago
Comment by maxdo 22 hours ago
Comment by truncate 20 hours ago
Comment by romanovcode 14 hours ago
Comment by ActorNightly 1 day ago
I use small models exclusively. They aren't a replacement for large models. You need decent hardware to run those models efficiently, as smaller parameter models plain suck and are still slow on macbooks. And affordability of higher end hardware is very limited.
Even at non VC subsidized $/token prices, its still much cheaper to run cloud based models.
Comment by dvt 23 hours ago
On a price-per-wattage level, this is not true, people have done the math on /r/LocalLLaMA many times over[1]. Local models, while not as good as premier models (GPT 5.5, etc.), are like ~80%+ of the way there, and often converge to a similar solution after a few dead ends.
[1] https://www.reddit.com/r/LocalLLM/comments/1kshq4f/electrici...
Comment by fwip 23 hours ago
Comment by strictnein 23 hours ago
Might be time to sell, to be honest. It's fun to have that at home, but I can't justify having $10k (with memory, mobo, cpu, etc) sitting in my basement without being fully utilized.
Comment by karim79 22 hours ago
Comment by dvt 23 hours ago
Comment by ActorNightly 14 hours ago
Comment by nozzlegear 7 hours ago
Comment by ActorNightly 5 hours ago
Comment by ClikeX 16 hours ago
Comment by davnicwil 1 day ago
Where do these improvement curves go? Does the gap close, do they intersect for practical purposes (factoring in cost etc)? Or is the local curve always just a translation of the hosted, lagging behind, or indeed does hosted just pull ahead?
Nobody knows, but it's a very open question I feel, and it certainly appears like the answer might quite reasonably be that yes they intersect on that kind of short-ish term time horizon.
Comment by ActorNightly 1 day ago
Nowhere.
Large models haven't seen that much improvement, just small unique tasks performance which is all special cased RLed to game metrics
For local models, its the same story. You can download Gemma 3 QAT from last year, and it will be just as good as Gemma:31b on the average. Qwen also boasts that its better, because again, they RLed it to game some metrics. Its better in coding then Gemma, but Gemma is better in more creative thinking (again, all RL)
Fundamentally, you need detail in the gradients for the models to pick up on the smaller details. If you don't have those, your output is gonna suck. No amount of clever architecture is going to fix this.
The only way to improve local models by training them to fetch context, and then their job becomes much simpler because all they need to do is reinterpret the fetched content and provide an answer. But fundamentally, if you are trying to keep things in house for advertising purposes like what all companies do with search, you want them to go to your service, which means running on your servers. And its not really that much extra per invocation (i.e excluding initial hardware costs) to instead just offer a large model as a service, which will be way better than any small models.
Comment by iwontberude 11 hours ago
Comment by wyager 23 hours ago
I expect I'll probably keep paying for whatever badass high IQ model is running on inference servers at that point
Comment by zombiwoof 23 hours ago
Comment by criddell 1 day ago
Comment by wtallis 1 day ago
I haven't seen any sign that the framework fragmentation problem is going away anytime soon. NVIDIA wants everyone to do all training and inference with CUDA and to deny that NPUs have any usefulness. Everybody making an NPU has a different framework tailored to their architecture and the limitations they inherited from hardware designed before LLMs existed, and most of them have a another framework for targeting a GPU. And the OS vendor has one or two frameworks they would prefer you use rather than something hardware-specific.
Comment by nl 23 hours ago
Comment by halJordan 21 hours ago
Comment by teravor 19 hours ago
Comment by JV00 18 hours ago
Comment by jkman 10 hours ago
Comment by wahnfrieden 17 hours ago
Comment by connectsnk 23 hours ago
Comment by jacobr1 22 hours ago