|
Download README.md from NateRunsA-LIST/alist-exercise-extractor: direct link, hf CLI and curl.
- Browser
- Download file 1.83 kB
-
https://huggingface.co/NateRunsA-LIST/alist-exercise-extractor/resolve/main/README.md
- Command line
-
hf download hf://NateRunsA-LIST/alist-exercise-extractor/README.md
-
curl -L -o README.md https://huggingface.co/NateRunsA-LIST/alist-exercise-extractor/resolve/main/README.md
1.83 kB
| license: other | |
| license_name: proprietary | |
| license_link: LICENSE | |
| tags: | |
| - coreml | |
| - regression | |
| - a-list | |
| library_name: coreml | |
| # A-LIST exercise extractor (Core ML) | |
| On-device replacement for the remote LLM that extracts structured numbers from | |
| free-text exercise entries in the A-LIST app (locomo mode). Single fp16 Core ML | |
| graph: MiniLM-L6 encoder (frozen, mean-pool + L2-norm inside the graph) + MLP | |
| heads. | |
| - **Inputs**: `input_ids` int32 (1,128) WordPiece/bert-base-uncased; `attention_mask` | |
| int32 (1,128); `parsed` float32 (1,10) regex features (see the app's | |
| `ExerciseFeatureParser` for the exact order and transforms). | |
| - **Output**: float32 (1,8) — `[log1p(duration_min), log1p(calories), heart_rate_bpm, | |
| intensity_1_10, steps_gate_logit, log1p(steps), distance_gate_logit, log1p(distance_km)]`. | |
| ## Versions | |
| - **`v2/` (current, 2026-08-23)**: identical graph retrained on the sol-relabeled | |
| dataset (exercise-text-unified:v0 — one uniform frontier teacher, calorie CV 1.6% | |
| vs the old labels' ~11%). On the frozen held-out-user sol eval (1,127 entries) it | |
| beats the v1 artifact on every field: duration 68.5% vs 62.7%, calories 58.0% vs | |
| 51.5%, heart rate ±10bpm 76.0% vs 67.6%, intensity ±1 81.7% vs 76.0%, steps gate | |
| 94.9% vs 88.6%, distance gate 94.6% vs 90.8%. Same I/O contract and footprint. | |
| - **Root files (v1, 2026-08-16)**: distilled from ~14.5k historical production | |
| extractions (mixed teacher generations). Kept resolvable for rollback; the app's | |
| `ExerciseExtractorDescriptor.v1()` still pins these bytes. | |
| - `golden_cases.json` holds 10 input→output cases generated from the v1 artifact — | |
| the app uses them to pin the *decode rules* (weights-independent), so they remain | |
| valid across versions. | |
| Internal model for the A-LIST iOS app. Not intended for third-party use. | |