File size: 4,987 Bytes
b6ea3b5
081e944
 
 
 
 
 
 
 
 
b6ea3b5
 
 
081e944
 
 
 
 
 
 
 
 
 
b6ea3b5
 
 
 
081e944
 
 
 
 
 
 
 
b6ea3b5
 
 
081e944
 
 
 
 
 
 
 
 
 
 
b6ea3b5
 
081e944
 
 
 
 
 
 
 
b6ea3b5
081e944
 
 
 
 
 
 
 
b6ea3b5
081e944
 
b6ea3b5
 
081e944
 
b6ea3b5
 
081e944
 
 
b6ea3b5
 
 
 
 
 
 
081e944
 
b6ea3b5
 
 
 
 
 
081e944
 
 
 
 
 
 
 
 
 
 
b6ea3b5
081e944
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
license: other
license_name: apache-2.0-and-lfm1.0
license_link: https://huggingface.co/publicarray/fieldnote-models#licences
base_model:
- openbmb/MiniCPM5-1B
- openbmb/MiniCPM5-2B
- Qwen/Qwen3.5-2B
- LiquidAI/LFM2.5-1.2B-Instruct
base_model_relation: quantized
pipeline_tag: text-generation
library_name: coreai
tags:
- core-ai
- coreai
- apple
- ios
- iphone
- on-device
- neural-engine
- minicpm5
- qwen3.5
- lfm2.5
---

# Fieldnote models

Small language models compiled ahead of time for Apple's Core AI, one ready-to-load
bundle per iPhone chip family. Used by [Fieldnote](https://github.com/array-ai/fieldnotes),
an on-device meeting recorder, to write meeting notes on the phone. A phone with a
matching chip downloads a compiled bundle instead of compiling the model itself,
which ran an iPhone 16 out of memory for the larger models.

**Try Fieldnote:** [join the TestFlight beta](https://testflight.apple.com/join/c2M82CMX)
(iPhone 15 Pro or later, iOS 27).

## Bundles

| Folder | Model | Chip | Phones | Licence |
|---|---|---|---|---|
| `ios-h17g` | MiniCPM5 1B | h17g | iPhone 16 family | Apache 2.0 |
| `ios-h17p` | MiniCPM5 1B | h17p | iPhone 16 family | Apache 2.0 |
| `ios-h18p` | MiniCPM5 1B | h18p | iPhone 17 Pro | Apache 2.0 |
| `minicpm5-2b/ios-h17p` | MiniCPM5 2B | h17p | iPhone 16 family | Apache 2.0 |
| `minicpm5-2b/ios-h18p` | MiniCPM5 2B | h18p | iPhone 17 Pro | Apache 2.0 |
| `qwen3.5-2b/ios-h17p` | Qwen3.5 2B | h17p | iPhone 16 family | Apache 2.0 |
| `qwen3.5-2b/ios-h18p` | Qwen3.5 2B | h18p | iPhone 17 Pro | Apache 2.0 |
| `lfm2.5-1.2b/ios-h17p` | LFM2.5 1.2B Instruct | h17p | iPhone 16 family | LFM Open License 1.0 |
| `lfm2.5-1.2b/ios-h18p` | LFM2.5 1.2B Instruct | h18p | iPhone 17 Pro | LFM Open License 1.0 |

Each folder is a complete bundle: `metadata.json` (pointing at the compiled model),
`tokenizer/`, and the compiled `.aimodelc`. A phone needs only the folder whose chip
matches `AIModel.deviceArchitectureName`. Other devices should use the portable
export (below) and let Core AI compile it.

## Sources

Every bundle is a portable Core AI export compiled for one chip. No weights were
changed.

| Model | Original | Portable Core AI export, pinned revision |
|---|---|---|
| MiniCPM5 1B | [openbmb/MiniCPM5-1B](https://huggingface.co/openbmb/MiniCPM5-1B) | [mlboydaisuke/MiniCPM5-1B-CoreAI](https://huggingface.co/mlboydaisuke/MiniCPM5-1B-CoreAI) `ios-static/` @ `f38d143ec50cb2e54d8388479b919e3b9283943b` |
| MiniCPM5 2B | [openbmb/MiniCPM5-2B](https://huggingface.co/openbmb/MiniCPM5-2B) | [mlboydaisuke/MiniCPM5-2B-CoreAI](https://huggingface.co/mlboydaisuke/MiniCPM5-2B-CoreAI) `ios-static/` @ `39db5ff9480e5d80e423889e3bacb7f9e9b9e40f` |
| Qwen3.5 2B | [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B) | [mlboydaisuke/qwen3.5-2B-CoreAI](https://huggingface.co/mlboydaisuke/qwen3.5-2B-CoreAI) `gpu-pipelined-b2/qwen3_5_2b_decode_int8hu_block32_sym` @ `14e77014db5ae2f3de94825165f5ae58bededd7d` |
| LFM2.5 1.2B | [LiquidAI/LFM2.5-1.2B-Instruct](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct) | [mlboydaisuke/LFM2.5-1.2B-CoreAI](https://huggingface.co/mlboydaisuke/LFM2.5-1.2B-CoreAI) `gpu-pipelined-b2/lfm2_5_1_2b_instruct_decode_int8hu_block32_sym` @ `3e3241cbcf368a663768dcc4e5785c4f0a02bae4` |

## Build

Compiled on GitHub Actions (Xcode 27, Metal Toolchain) by
[`compile-models.yml`](https://github.com/array-ai/fieldnotes/blob/main/.github/workflows/compile-models.yml):

```
xcrun coreai-build compile <model>.aimodel \
  --platform iOS --min-deployment-version 27.0 --architecture <chip> --output <dir>
```

The MiniCPM5 1B bundles leave the compute unit to Core AI. The Qwen3.5, LFM2.5 and
MiniCPM5 2B h18p bundles are compiled for the Neural Engine. Some on-device
specialisation still happens at first load, but not the full compile.

## Loading

```swift
import CoreAI
import CoreAILanguageModels

let chip = AIModel.deviceArchitectureName           // e.g. "h17p"
let bundle = modelsDirectory.appending(path: "qwen3.5-2b/ios-\(chip)")
let model = try await CoreAILanguageModel(resourcesAt: bundle)
```

Fieldnote downloads only the matching folder, from a pinned revision of this repo,
and checks every file against its SHA-256 before use.

## Licences

This repo holds models under two licences. Each model's folder carries its own
`LICENSE`:

- **MiniCPM5 1B and 2B** (OpenBMB) and **Qwen3.5 2B** (Qwen team, Alibaba Cloud):
  [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). The 1B's licence
  is the `LICENSE` at the repo root; the others are in `minicpm5-2b/` and `qwen3.5-2b/`.
- **LFM2.5 1.2B Instruct** (Liquid AI): LFM Open License v1.0, in `lfm2.5-1.2b/LICENSE`.
  It allows commercial use only by organisations with under US$10 million in annual
  revenue; read it before using these bundles.

Core AI exports by mlboydaisuke; ahead-of-time compiled builds by publicarray. The
files here are modified from the originals only by being compiled for a specific chip.