Use different model in foundation model

Hi everyone,

I’m working with the WWDC26 Foundation Models framework and would like to know how to precisely control which model is used. Specifically:

  1. On-Device: How can I force SystemLanguageModel() to use AFM 3 Core Advanced (the 20B sparse multimodal variant) instead of automatically falling back to the 3B Core? Is there an API to query or explicitly specify the on-device model variant?

  2. Private Cloud Compute (PCC): When using PrivateCloudComputeLanguageModel(), how can I ensure it uses AFM 3 Cloud Pro instead of the regular Cloud model? Does setting ContextOptions.reasoningLevel = .deep guarantee the Pro model, or is it still determined automatically by the backend?

So far I can only check model.capabilities, but there’s no clear way to confirm which exact model variant is actually running. Are there more granular APIs, DynamicProfile modifiers, or Instruments methods to achieve precise control?

Any insights, official documentation, or WWDC session references would be greatly appreciated!

Answered by Apple Designer in 892160022

Sorry, currently there is no way to specify which model is used on PCC or on-device.

For the on-device model, the model is determined by the user's device type and OS version. As a proxy, you can check the SystemLanguageModel's context size at runtime. 4K context size is the 3B Core.

Accepted Answer

Sorry, currently there is no way to specify which model is used on PCC or on-device.

For the on-device model, the model is determined by the user's device type and OS version. As a proxy, you can check the SystemLanguageModel's context size at runtime. 4K context size is the 3B Core.

Use different model in foundation model
 
 
Q