Discuss Core AI, Apple's new framework for deploying AI models on-device. Explore Python libraries for converting and optimizing models, the Swift API for plug-and-play inference, deep Xcode integration, and ahead-of-time model compilation.

Core AI Documentation

Posts under Core AI subtopic

Post

Replies

Boosts

Views

Activity

Xcode treats a `.llmasset` bundle as individual `.aimodel` files to compile, instead of copying it as-is
I have a Core AI model export — a bundle folder (.llmasset, containing multiple .aimodel subfolders plus metadata/tokenizer resources) — added to my app target as a folder reference. Rather than treating the bundle as one opaque resource and copying it into the app bundle as-is (the way .xcassets, .bundle, or any other folder reference behaves), Xcode reaches into it, finds the individual .aimodel subfolders, and adds each one to Compile Sources. When it compiles them there, it's for my build machine's specific chip only — I can't find any setting (Build Settings, scheme, target picker) to compile for multiple architectures/platforms, the way a universal binary would work. Question: Is there a way to make Xcode treat a .llmasset bundle as an atomic resource — copied wholesale, not decomposed into individual .aimodel compile targets? Or is reaching into the bundle and AOT-compiling its components for the active build architecture the intended behavior here, and if so, what's the recommended way to make sure the result works across the actual range of devices the app ships to?
0
0
46
3d
Core AI vs LiteRT
I am trying to decide what technology to adopt for local AI inference on mobile devices. I tried the EdgeGallery demo app and was genuinely impressed. For an app using local Gemma 4, LiteRT-LM gives me a shared, OS-managed model on Android via AICore, up-to-date Gemma 4 support, and a working ANE/Core ML delegate on iOS today. What does building on Core AI’s .aimodel pipeline get me that LiteRT-LM doesn’t? Core AI has no cross-app shared memory, and every app has to bring its own model resources regardless. Also, the current model catalog seems to trail LiteRT’s. What am I missing?
0
0
204
3w
Core AI Debugger Beta Questions
Hi guys, I am a new core developer. Recently I am trying the newly released core ai debugger tool and meet some issues. I am not sure whether the related functions of debugger is ready in beta package. Reference Run: aimodel on device versus intermediate dump I used the intermediate exporting api to export the intermediate dump data of MobileNet2.0 and converted the same MobileNet Model to .aimodel. But the compare button is not usable. the suffix of intermediate file suffix is OK(can be selected). The debugger is a GUI so I cannot figure out whether I exported the intermediate data incorrectly. (1st attached png ) on device model run compare I just simply tried the different computing unit and different input for a simple 'add/sub/mul/div' toy model. Especially set the input different but the comparison results seems to be empty I am not sure whether I modify the debugger tool incorrectly. Hope someone sharing experience. My Gratitude.
0
0
216
3w
No such module 'CoreAI'
Hi everyone, Recently I downloaded the last XCode (Version 27.0 beta) and I'm trying to start to play with CoreAI but it's not possible so far to import the CoreAI framework. I'm using the last version of the iPhone simulator. What am I missing?
1
0
321
Jun ’26
On Siri & Apple Intelligence
Regarding the 'weight list' of Siri: can you all provide technical specifics on how a model qualifies for this list, and can a developer-supplied model/adapter ever handle requests that originate from the system-wide Siri interface?
1
0
361
Jun ’26
Compute unit specification for function runs
When we specialize with preferredComputeUnitKind: .neuralEngine, the resolved options' allowedComputeUnitKinds return all three units, and sometimes a function we intend for ANE ends up on the GPU. We can't find any API that reports where a function actually ran, but system resource utilization shows a GPU spike. Is there a supported way to confirm the actual compute unit at runtime? And how does your prioritization work if we prefer running on the ANE rather than the GPU? Or, can we disallow certain compute units? How does this compute unit selection map with someone coming from CoreML where the desired compute units were honored?
1
0
334
Jun ’26
Ahead-of-time (AOT) compilation for older devices
Will ahead of time compilation stay limited to A17 Pro and M1 class hardware? Docs indicate that AOT compilation is only supported for A17 Pro/M1 and newer. iOS 27 supports iPhone 11 (A13) and newer. AOT can't be used on A13-A16 which is a substantial fraction of active user devices in 2026 Is there a path to AOT on older Apple Silicon chips (A14 and newer) down the line? If not, I am afraid, the impact of AOT will be delayed by 3-4 years until it can be broadly leveraged.
1
7
338
Jun ’26
Ahead-of-time (AOT) compilation for older devices
Will ahead of time compilation stay limited to A17 Pro and M1 class hardware? Docs indicate that AOT compilation is only supported for A17 Pro/M1 and newer. iOS 27 supports iPhone 11 (A13) and newer. AOT can't be used on A13-A16 which is a substantial fraction of active user devices in 2026 Is there a path to AOT on older Apple Silicon chips (A14 and newer) down the line? If not, I am afraid, the impact of AOT will be delayed by 3-4 years until it can be broadly leveraged.
3
1
408
Jun ’26
On Model Control & Metadata
While response.usage provides token counts and reasoning signals, are there plans to expose per-token logprobs or confidence scores to help developers build more robust 'evaluators' for non-deterministic outputs?
1
0
320
Jun ’26
Mixing Core AI and Core ML in one pipeline
We built a setup where a model split into an encoder and a decoder can run each part on a different backend, using our own component protocols. Is mixing Core AI and Core ML within a single inference pass something you would recommend, and what is the realistic cost at the boundary where we convert between MLMultiArray / MLTensor and NDArray? Is there a way to keep the encoder output resident on the GPU or ANE so it does not need a host round trip into the other backend?
2
1
434
Jun ’26
Modern drawing classifier recommendations
What modern tools would you recommend to replace a drawing classification machine learning model I built years ago (with Turi Create) to recognize emojis trained on drawings users submit? I tried an image classifier with CreateML but training time is much longer and accuracy is worse. Does Apple have a solution for drawing classification? Is a ML model still the best solution, or any AI advancements good for this use case? Thanks!
2
0
397
Jun ’26
Compute unit specification for function runs
When we specialize with preferredComputeUnitKind: .neuralEngine, the resolved options' allowedComputeUnitKinds return all three units, and sometimes a function we intend for ANE ends up on the GPU. We can't find any API that reports where a function actually ran, but system resource utilization shows a GPU spike. Is there a supported way to confirm the actual compute unit at runtime? And how does your prioritization work if we prefer running on the ANE rather than the GPU? Or, can we disallow certain compute units? How does this compute unit selection map with someone coming from CoreML where the desired compute units were honored?
2
6
356
Jun ’26
Specialized models across OS updates
The docs say we can delete the source .aimodel after a .persistent specialize and keep the bookmark to save space. But an OS update always invalidates the cache and bookmarks, so it looks like anyone who deleted the source has to re-download the whole model after every update. For large models, that's a lot of bandwidth and impacts the first-time experience after the update. Is that the intended trade-off, or does the cache hold enough to re-specialize itself? Does every minor OS bumps (27.1 -> 27.2) always invalidate cache when .persisted, or only major ones? Also, can the user delete a .persistent entry themselves through Settings or storage management, or only the app? We need to know whether our "model is ready" state can disappear without the app knowing.
1
0
376
Jun ’26
Specialized models across OS updates
The docs say we can delete the source .aimodel after a .persistent specialize and keep the bookmark to save space. But an OS update always invalidates the cache and bookmarks, so it looks like anyone who deleted the source has to re-download the whole model after every update. For large models, that's a lot of bandwidth and impacts the first-time experience after the update. Is that the intended trade-off, or does the cache hold enough to re-specialize itself? Does every minor OS bumps (27.1 -> 27.2) always invalidate cache when .persisted, or only major ones? Also, can the user delete a .persistent entry themselves through Settings or storage management, or only the app? We need to know whether our "model is ready" state can disappear without the app knowing.
3
6
350
Jun ’26
Xcode treats a `.llmasset` bundle as individual `.aimodel` files to compile, instead of copying it as-is
I have a Core AI model export — a bundle folder (.llmasset, containing multiple .aimodel subfolders plus metadata/tokenizer resources) — added to my app target as a folder reference. Rather than treating the bundle as one opaque resource and copying it into the app bundle as-is (the way .xcassets, .bundle, or any other folder reference behaves), Xcode reaches into it, finds the individual .aimodel subfolders, and adds each one to Compile Sources. When it compiles them there, it's for my build machine's specific chip only — I can't find any setting (Build Settings, scheme, target picker) to compile for multiple architectures/platforms, the way a universal binary would work. Question: Is there a way to make Xcode treat a .llmasset bundle as an atomic resource — copied wholesale, not decomposed into individual .aimodel compile targets? Or is reaching into the bundle and AOT-compiling its components for the active build architecture the intended behavior here, and if so, what's the recommended way to make sure the result works across the actual range of devices the app ships to?
Replies
0
Boosts
0
Views
46
Activity
3d
Python 3.13 macOS wheel for coreai-core
Will there be a wheel published on pypi.org for Python 3.13 on macOS? There is a 3.13 wheel for Linux, but not macOS.
Replies
1
Boosts
0
Views
275
Activity
2w
Core AI vs LiteRT
I am trying to decide what technology to adopt for local AI inference on mobile devices. I tried the EdgeGallery demo app and was genuinely impressed. For an app using local Gemma 4, LiteRT-LM gives me a shared, OS-managed model on Android via AICore, up-to-date Gemma 4 support, and a working ANE/Core ML delegate on iOS today. What does building on Core AI’s .aimodel pipeline get me that LiteRT-LM doesn’t? Core AI has no cross-app shared memory, and every app has to bring its own model resources regardless. Also, the current model catalog seems to trail LiteRT’s. What am I missing?
Replies
0
Boosts
0
Views
204
Activity
3w
Core AI Debugger Beta Questions
Hi guys, I am a new core developer. Recently I am trying the newly released core ai debugger tool and meet some issues. I am not sure whether the related functions of debugger is ready in beta package. Reference Run: aimodel on device versus intermediate dump I used the intermediate exporting api to export the intermediate dump data of MobileNet2.0 and converted the same MobileNet Model to .aimodel. But the compare button is not usable. the suffix of intermediate file suffix is OK(can be selected). The debugger is a GUI so I cannot figure out whether I exported the intermediate data incorrectly. (1st attached png ) on device model run compare I just simply tried the different computing unit and different input for a simple 'add/sub/mul/div' toy model. Especially set the input different but the comparison results seems to be empty I am not sure whether I modify the debugger tool incorrectly. Hope someone sharing experience. My Gratitude.
Replies
0
Boosts
0
Views
216
Activity
3w
Core AI ComputeStream Init Function question.
Does this API only work for inference running on the GPU? If the inference runs on the ANE, can I still use this API? I noticed that the commandQueue parameter is an MTLCommandqueue? https://developer.apple.com/documentation/coreai/computestream/init(commandqueue:)
Replies
1
Boosts
0
Views
302
Activity
Jun ’26
No such module 'CoreAI'
Hi everyone, Recently I downloaded the last XCode (Version 27.0 beta) and I'm trying to start to play with CoreAI but it's not possible so far to import the CoreAI framework. I'm using the last version of the iPhone simulator. What am I missing?
Replies
1
Boosts
0
Views
321
Activity
Jun ’26
.md summaries of WWDC for Claude
Are there any official .md summaries for Claude? How should we tell our Agents where the source of truth for WWDC new code is?
Replies
1
Boosts
0
Views
343
Activity
Jun ’26
On Siri & Apple Intelligence
Regarding the 'weight list' of Siri: can you all provide technical specifics on how a model qualifies for this list, and can a developer-supplied model/adapter ever handle requests that originate from the system-wide Siri interface?
Replies
1
Boosts
0
Views
361
Activity
Jun ’26
For Model Control & Metadata
Is there a supported way to 'pin' an app to a specific version of an on-device system model to prevent regression in agentic workflows & what is the typical update cadence for these weights?
Replies
1
Boosts
1
Views
349
Activity
Jun ’26
Deployments and Entitemments ability
For apps using the 'MLX distributor' or local adapters, are there any specialized background processing entitlements needed to ensure inference isn't killed by the OS during long-running tasks
Replies
1
Boosts
2
Views
333
Activity
Jun ’26
Compute unit specification for function runs
When we specialize with preferredComputeUnitKind: .neuralEngine, the resolved options' allowedComputeUnitKinds return all three units, and sometimes a function we intend for ANE ends up on the GPU. We can't find any API that reports where a function actually ran, but system resource utilization shows a GPU spike. Is there a supported way to confirm the actual compute unit at runtime? And how does your prioritization work if we prefer running on the ANE rather than the GPU? Or, can we disallow certain compute units? How does this compute unit selection map with someone coming from CoreML where the desired compute units were honored?
Replies
1
Boosts
0
Views
334
Activity
Jun ’26
Is Core AI capable of submitting Neural Engine requests in the background?
In iOS 26, Core ML reliably submits inference requests targeting the Neural Engine in the background. In iOS 27 Seed 1, this capability is currently broken. Is Core AI expected to reliably submit inference requests targeting the Neural Engine in the background?
Replies
2
Boosts
0
Views
418
Activity
Jun ’26
Ahead-of-time (AOT) compilation for older devices
Will ahead of time compilation stay limited to A17 Pro and M1 class hardware? Docs indicate that AOT compilation is only supported for A17 Pro/M1 and newer. iOS 27 supports iPhone 11 (A13) and newer. AOT can't be used on A13-A16 which is a substantial fraction of active user devices in 2026 Is there a path to AOT on older Apple Silicon chips (A14 and newer) down the line? If not, I am afraid, the impact of AOT will be delayed by 3-4 years until it can be broadly leveraged.
Replies
1
Boosts
7
Views
338
Activity
Jun ’26
Ahead-of-time (AOT) compilation for older devices
Will ahead of time compilation stay limited to A17 Pro and M1 class hardware? Docs indicate that AOT compilation is only supported for A17 Pro/M1 and newer. iOS 27 supports iPhone 11 (A13) and newer. AOT can't be used on A13-A16 which is a substantial fraction of active user devices in 2026 Is there a path to AOT on older Apple Silicon chips (A14 and newer) down the line? If not, I am afraid, the impact of AOT will be delayed by 3-4 years until it can be broadly leveraged.
Replies
3
Boosts
1
Views
408
Activity
Jun ’26
On Model Control & Metadata
While response.usage provides token counts and reasoning signals, are there plans to expose per-token logprobs or confidence scores to help developers build more robust 'evaluators' for non-deterministic outputs?
Replies
1
Boosts
0
Views
320
Activity
Jun ’26
Mixing Core AI and Core ML in one pipeline
We built a setup where a model split into an encoder and a decoder can run each part on a different backend, using our own component protocols. Is mixing Core AI and Core ML within a single inference pass something you would recommend, and what is the realistic cost at the boundary where we convert between MLMultiArray / MLTensor and NDArray? Is there a way to keep the encoder output resident on the GPU or ANE so it does not need a host round trip into the other backend?
Replies
2
Boosts
1
Views
434
Activity
Jun ’26
Modern drawing classifier recommendations
What modern tools would you recommend to replace a drawing classification machine learning model I built years ago (with Turi Create) to recognize emojis trained on drawings users submit? I tried an image classifier with CreateML but training time is much longer and accuracy is worse. Does Apple have a solution for drawing classification? Is a ML model still the best solution, or any AI advancements good for this use case? Thanks!
Replies
2
Boosts
0
Views
397
Activity
Jun ’26
Compute unit specification for function runs
When we specialize with preferredComputeUnitKind: .neuralEngine, the resolved options' allowedComputeUnitKinds return all three units, and sometimes a function we intend for ANE ends up on the GPU. We can't find any API that reports where a function actually ran, but system resource utilization shows a GPU spike. Is there a supported way to confirm the actual compute unit at runtime? And how does your prioritization work if we prefer running on the ANE rather than the GPU? Or, can we disallow certain compute units? How does this compute unit selection map with someone coming from CoreML where the desired compute units were honored?
Replies
2
Boosts
6
Views
356
Activity
Jun ’26
Specialized models across OS updates
The docs say we can delete the source .aimodel after a .persistent specialize and keep the bookmark to save space. But an OS update always invalidates the cache and bookmarks, so it looks like anyone who deleted the source has to re-download the whole model after every update. For large models, that's a lot of bandwidth and impacts the first-time experience after the update. Is that the intended trade-off, or does the cache hold enough to re-specialize itself? Does every minor OS bumps (27.1 -> 27.2) always invalidate cache when .persisted, or only major ones? Also, can the user delete a .persistent entry themselves through Settings or storage management, or only the app? We need to know whether our "model is ready" state can disappear without the app knowing.
Replies
1
Boosts
0
Views
376
Activity
Jun ’26
Specialized models across OS updates
The docs say we can delete the source .aimodel after a .persistent specialize and keep the bookmark to save space. But an OS update always invalidates the cache and bookmarks, so it looks like anyone who deleted the source has to re-download the whole model after every update. For large models, that's a lot of bandwidth and impacts the first-time experience after the update. Is that the intended trade-off, or does the cache hold enough to re-specialize itself? Does every minor OS bumps (27.1 -> 27.2) always invalidate cache when .persisted, or only major ones? Also, can the user delete a .persistent entry themselves through Settings or storage management, or only the app? We need to know whether our "model is ready" state can disappear without the app knowing.
Replies
3
Boosts
6
Views
350
Activity
Jun ’26