fieldnote-models / README.md
publicarray's picture
Model card: all four models, per-folder licences (Apache 2.0 and LFM 1.0), sources, tags and the TestFlight link
081e944 verified
|
Raw History Blame Contribute Delete
4.99 kB
---
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.