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
47
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
205
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
217
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
322
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
362
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
335
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
339
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
409
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
321
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
435
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
398
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
357
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
377
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
351
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
47
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
276
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
205
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
217
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
303
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
322
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
344
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
362
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
350
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
334
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
335
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
419
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
339
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
409
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
321
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
435
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
398
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
357
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
377
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
351
Activity
Jun ’26