Apple Intelligence Foundation Language Models is Apple's technical report on the foundation language models that power the first generation of Apple Intelligence, announced at the 2024 Worldwide Developers Conference for iOS 18, iPadOS 18 and macOS Sequoia (Source: https://arxiv.org/abs/2407.21075). Dated July 2024 and posted to arXiv on July 29, 2024, it describes two models: AFM-on-device, a language model of about 3 billion parameters designed to run on Apple devices, and AFM-server, a larger model designed for Private Cloud Compute. The report is the primary technical record for the models described on the Apple Foundation Models page; a separate 2025 report covers the following generation and is not summarised here.
Architecture and training
The models are dense decoder-only transformers with shared input/output embeddings, pre-normalisation with RMSNorm, query/key normalisation, grouped-query attention, SwiGLU activations and RoPE with the base frequency set to 500k for long context. Pre-training data comes from Applebot web crawls that respect robots.txt and exclude profanity and unsafe material, licensed publisher datasets, license-filtered code from GitHub, mathematics content and selected public datasets; the report states that no private Apple user data is used and that personally identifiable information is filtered. AFM-server is pre-trained from scratch on 6.3T tokens; AFM-on-device is initialised from a pruned 6.4B model and distilled. Both then undergo continued pre-training and context lengthening to 32k tokens. Post-training combines supervised fine-tuning on human demonstrations and synthetic mathematics, tool-use and coding data with reinforcement learning from human feedback, using a reward model, an "iterative teaching committee" (iTeC) of models, rejection-sampling distillation, and an online RLHF algorithm combining mirror descent policy optimization with a leave-one-out advantage estimator (MDLOO). Section 5 describes the LoRA adapter architecture that specialises the on-device model per feature, mixed 2-bit/4-bit quantization that the report says compresses AFM-on-device to about 3.5 bits per weight on average, and "accuracy-recovery" adapters that restore quantization losses; a summarization case study describes synthetic training summaries and prompt-injection filtering.
Evaluation approach
Section 6 reports pre-training results on the HELM MMLU 5-shot harness, a subset of the Open LLM Leaderboard v1, and HELM-Lite v1.5.0, with the note that many HELM-Lite settings "differ significantly from commonly used settings". Appendix C gives internal-harness results at each pre-training stage for both models, and Appendix D gives RULER long-context results for AFM-server at context lengths from 4,096 to 32,768 tokens. Post-training evaluation relies on human side-by-side comparison against open models (Phi-3, Gemma-1.1, Llama-3, Mistral, DBRX-Instruct) and commercial models (GPT-3.5 and GPT-4), plus IFEval, the Berkeley Function Calling Leaderboard, internal writing benchmarks, GSM8K and MATH, and a human study of the summarization feature; all of these are presented as charts. Appendix F reports the quantized and accuracy-recovered on-device model on IFEval, AlpacaEval 2.0 and GSM8K as percentages of the 16-bit score.
Findings
The report gives AFM-on-device 61.4 and AFM-server 75.4 on HELM MMLU 5-shot, and AFM-server 72.4 on GSM8K (5-shot), 69.7 on ARC-c, 86.9 on HellaSwag and 79.2 on Winogrande on the Open LLM Leaderboard subset. On the internal harness the final pre-trained AFM-server reaches 74.80 on MMLU (5-shot), 75.51 on GSM8K (8-shot CoT), 35.77 on MATH (4-shot CoT) and 39.55 pass@1 on HumanEval-Py; the on-device model reaches 60.64, 40.00, 15.48 and 30.84 respectively. RULER average accuracy for AFM-server falls from 91.7 at 4,096 tokens to 43.3 at 32,768. In human side-by-side evaluation the report states that AFM-on-device obtains a 47.7% win rate against Phi-3-mini "despite being 25% smaller" and outperforms Gemma-7B and Mistral-7B, and that AFM-server "achieves competitive performance" against closed models, with a win rate "of more than 50%" and a tie rate of 27.4% against GPT-3.5; the remaining human-evaluation, instruction-following, tool-use, writing and mathematics results appear only in figures. With accuracy-recovery adapters, the report says the 3.7-bit on-device model retains about 96% of its 16-bit GSM8K score.
Responsible AI
Section 7 sets out four Responsible AI principles, a safety taxonomy of 12 categories with 51 subcategories, pre-training data exclusions, safety-focused post-training data including adversarial examples, a treatment of malicious-code generation as a safety category, and manual and automatic red teaming, the latter including using language models themselves to identify gaps. Safety evaluation uses a curated set of more than a thousand adversarial prompts covering harmful content, sensitive topics and factuality, graded by humans; the report states that both models achieve violation rates "significantly lower than open-source and commercial models" and are preferred as "safe and helpful" in side-by-side comparison, but the rates are shown only in charts.
Reported results
Evaluation results the document states for which there is no separate benchmark page; results on benchmarks that have a page are recorded there and cite this page. Scores and settings are as printed in the document.
| Evaluation | Model | Score | Setting | Section |
|---|---|---|---|---|
| ARC-c | AFM-server | 69.7% | 25-shot, Open LLM Leaderboard v1 harness; pre-trained model; developer-reported | 6.1, Table 3 |
| HellaSwag | AFM-server | 86.9% | 10-shot, Open LLM Leaderboard v1 harness; pre-trained model; developer-reported | 6.1, Table 3 |
| Winogrande | AFM-server | 79.2% | 5-shot, Open LLM Leaderboard v1 harness; pre-trained model; developer-reported | 6.1, Table 3 |
| Narrative QA | AFM-server | 77.5% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| Natural Questions (open) | AFM-server | 73.8% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| Natural Questions (closed) | AFM-server | 43.1% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| Openbook QA | AFM-server | 89.6% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| GSM8K | AFM-server | 72.3% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| LegalBench | AFM-server | 67.9% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| MedQA | AFM-server | 64.4% | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| WMT 2014 | AFM-server | 18.6 | HELM-Lite v1.5.0 harness; pre-trained model; the report notes many HELM-Lite settings (e.g. MMLU) differ significantly from common settings; developer-reported | 6.1, Table 4 |
| ARC-C | AFM-on-device | 43.17% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| ARC-C | AFM-on-device | 47.53% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| ARC-C | AFM-on-device | 45.39% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| ARC-E | AFM-on-device | 74.87% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| ARC-E | AFM-on-device | 78.62% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| ARC-E | AFM-on-device | 78.37% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| HellaSwag | AFM-on-device | 54.70% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| HellaSwag | AFM-on-device | 55.50% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| HellaSwag | AFM-on-device | 55.24% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| LAMBADA | AFM-on-device | 73.51% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| LAMBADA | AFM-on-device | 70.13% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| LAMBADA | AFM-on-device | 69.90% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| PIQA | AFM-on-device | 77.37% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| PIQA | AFM-on-device | 78.67% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| PIQA | AFM-on-device | 78.40% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| SciQ | AFM-on-device | 94.90% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| SciQ | AFM-on-device | 95.80% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| SciQ | AFM-on-device | 95.70% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| WinoGrande | AFM-on-device | 65.82% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| WinoGrande | AFM-on-device | 67.32% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| WinoGrande | AFM-on-device | 67.01% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| TriviaQA | AFM-on-device | 42.46% | 1-shot, Web split; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| TriviaQA | AFM-on-device | 39.13% | 1-shot, Web split; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| TriviaQA | AFM-on-device | 38.11% | 1-shot, Web split; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| WebQS | AFM-on-device | 19.24% | 1-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| WebQS | AFM-on-device | 18.06% | 1-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| WebQS | AFM-on-device | 17.22% | 1-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| CoreEN average | AFM-on-device | 60.67% | average of the nine tasks above; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| CoreEN average | AFM-on-device | 61.20% | average of the nine tasks above; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| CoreEN average | AFM-on-device | 60.59% | average of the nine tasks above; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| MultiPL-E Swift | AFM-on-device | 8.88% | pass@1; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| MultiPL-E Swift | AFM-on-device | 19.24% | pass@1; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 7 |
| MultiPL-E Swift | AFM-on-device | 18.06% | pass@1; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 7 |
| ARC-C | AFM-server | 58.28% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| ARC-C | AFM-server | 58.87% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| ARC-C | AFM-server | 57.94% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| ARC-E | AFM-server | 85.61% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| ARC-E | AFM-server | 85.44% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| ARC-E | AFM-server | 85.06% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| HellaSwag | AFM-server | 64.17% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| HellaSwag | AFM-server | 64.53% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| HellaSwag | AFM-server | 64.37% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| LAMBADA | AFM-server | 78.38% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| LAMBADA | AFM-server | 77.59% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| LAMBADA | AFM-server | 77.82% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| PIQA | AFM-server | 82.37% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| PIQA | AFM-server | 81.99% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| PIQA | AFM-server | 81.88% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| SciQ | AFM-server | 96.60% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| SciQ | AFM-server | 97.10% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| SciQ | AFM-server | 97.00% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| WinoGrande | AFM-server | 80.51% | 0-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| WinoGrande | AFM-server | 79.16% | 0-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| WinoGrande | AFM-server | 79.08% | 0-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| TriviaQA | AFM-server | 54.33% | 1-shot, Web split; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| TriviaQA | AFM-server | 53.57% | 1-shot, Web split; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| TriviaQA | AFM-server | 53.42% | 1-shot, Web split; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| WebQS | AFM-server | 29.97% | 1-shot; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| WebQS | AFM-server | 27.66% | 1-shot; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| WebQS | AFM-server | 27.41% | 1-shot; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| CoreEN average | AFM-server | 70.02% | average of the nine tasks above; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| CoreEN average | AFM-server | 69.55% | average of the nine tasks above; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| CoreEN average | AFM-server | 69.33% | average of the nine tasks above; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| MultiPL-E Swift | AFM-server | 30.15% | pass@1; internal harness; core pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| MultiPL-E Swift | AFM-server | 37.70% | pass@1; internal harness; continued pre-training checkpoint; developer-reported | Appendix C, Table 8 |
| MultiPL-E Swift | AFM-server | 38.11% | pass@1; internal harness; context-lengthened (final pre-trained) checkpoint; developer-reported | Appendix C, Table 8 |
| RULER — 4096 tokens | AFM-server | 91.7% | average accuracy over 13 synthetic long-context tasks, 500 examples per task; developer-reported | Appendix D, Table 9 |
| RULER — 8192 tokens | AFM-server | 87.7% | average accuracy over 13 synthetic long-context tasks, 500 examples per task; developer-reported | Appendix D, Table 9 |
| RULER — 16384 tokens | AFM-server | 84.1% | average accuracy over 13 synthetic long-context tasks, 500 examples per task; developer-reported | Appendix D, Table 9 |
| RULER — 20480 tokens | AFM-server | 79.1% | average accuracy over 13 synthetic long-context tasks, 500 examples per task; developer-reported | Appendix D, Table 9 |
| RULER — 24576 tokens | AFM-server | 75.8% | average accuracy over 13 synthetic long-context tasks, 500 examples per task; developer-reported | Appendix D, Table 9 |
| RULER — 32768 tokens | AFM-server | 43.3% | average accuracy over 13 synthetic long-context tasks, 500 examples per task; developer-reported | Appendix D, Table 9 |
| IFEval Instruction-Level — normalized to 16-bit | AFM-on-device | 98.4% | 3.5 bits per weight, quantized; score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| AlpacaEval 2.0 LC — normalized to 16-bit | AFM-on-device | 76.7% | 3.5 bits per weight, quantized; score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| GSM8K (8-shot CoT) — normalized to 16-bit | AFM-on-device | 82.2% | 3.5 bits per weight, quantized; score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| IFEval Instruction-Level — normalized to 16-bit | AFM-on-device | 98.8% | 3.5 bits per weight, accuracy-recovered (rank-16 adapter); score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| AlpacaEval 2.0 LC — normalized to 16-bit | AFM-on-device | 94.7% | 3.5 bits per weight, accuracy-recovered (rank-16 adapter); score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| GSM8K (8-shot CoT) — normalized to 16-bit | AFM-on-device | 92.1% | 3.5 bits per weight, accuracy-recovered (rank-16 adapter); score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| IFEval Instruction-Level — normalized to 16-bit | AFM-on-device | 97.9% | 3.7 bits per weight, quantized; score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| AlpacaEval 2.0 LC — normalized to 16-bit | AFM-on-device | 87.3% | 3.7 bits per weight, quantized; score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| GSM8K (8-shot CoT) — normalized to 16-bit | AFM-on-device | 91.3% | 3.7 bits per weight, quantized; score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| IFEval Instruction-Level — normalized to 16-bit | AFM-on-device | 100.6% | 3.7 bits per weight, accuracy-recovered (rank-16 adapter); score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| AlpacaEval 2.0 LC — normalized to 16-bit | AFM-on-device | 94.8% | 3.7 bits per weight, accuracy-recovered (rank-16 adapter); score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| GSM8K (8-shot CoT) — normalized to 16-bit | AFM-on-device | 96.0% | 3.7 bits per weight, accuracy-recovered (rank-16 adapter); score as a percentage of the unquantized (16 bpw) AFM-on-device score; developer-reported | Appendix F, Table 10 |
| Human side-by-side preference (general capabilities) — vs. Phi-3-mini | AFM-on-device | 47.7% | win rate; human graders, anonymous pairwise; developer-reported | 6.2.1 |
| Human side-by-side preference (general capabilities) — vs. GPT-3.5 | AFM-server | 27.4% | tie rate; win rate stated only as "more than 50%"; human graders, anonymous pairwise; developer-reported | 6.2.1 |
Provenance
The page summarises the arXiv HTML (version 2, dated May 27, 2026, of a paper first posted July 29, 2024) as captured on September 21, 2026. All results are reported by Apple; comparison-model results in the figures are Apple's own runs. Confidence is medium: a single developer-authored source; the benchmark figures are more than two years old.
Relationships
- supports: Apple Foundation Models
- instance-of: AI System Cards
- related: Apple, MMLU, GSM8K, HumanEval, Berkeley Function Calling Leaderboard (BFCL)