running-coach-lfm2.5-1.2b-jp
LiquidAI/LFM2.5-1.2B-JP を LoRA でファインチューニングし、GGUF (Q4_K_M) に量子化したモデルです。
Android アプリ my-running-coach が、走行中・走行後の
日本語のコーチングコメントを端末上で生成するために使います。汎用チャットモデルではありません。
A LoRA fine-tune of LiquidAI/LFM2.5-1.2B-JP, converted to GGUF and quantized to Q4_K_M.
It generates short Japanese running-coach comments on-device for the Android app
my-running-coach. It is not a general-purpose chat model.
Modifications to the base model / ベースモデルからの変更点
This is a modified version of
LiquidAI/LFM2.5-1.2B-JP. The weights were changed by supervised LoRA fine-tuning and then quantized; they are not the original Liquid AI weights. This notice is provided as required by the LFM Open License v1.0.
| What | How it was changed |
|---|---|
| Weights | LoRA (r=16, alpha=32, attention + MLP projections), completion-only loss, 2 epochs, bfloat16, merged back into the base with merge_and_unload() |
| Format | Converted with llama.cpp convert_hf_to_gguf.py (F16), then quantized to Q4_K_M with llama-quantize |
| Tokenizer / chat template | Unchanged (ChatML, <|im_start|>system). BOS is emitted once — verified identical between training and inference tokenization |
Nothing else (architecture, context length, vocabulary) was changed.
Files
| File | Size | Notes |
|---|---|---|
running-coach-lfm2.5-1.2b-jp-v1.gguf | 730,894,688 bytes (697 MiB) | Q4_K_M. SHA-256 84df8e36eec5bb02eb00874df509609eb9f554aa0bae3d35586fc5bc2d3a9222 |
Files are never overwritten in place. Each retrain is published under a new versioned file name
(...-v2.gguf, …), because the consuming app pins the exact byte size and SHA-256 of the file it
expects; replacing a file under the same name would make every installed client treat it as corrupt.
Intended use / 想定用途
Three Japanese generation tasks, each driven by a fixed system prompt held by the app:
| Feature | Output |
|---|---|
coach_comment | One sentence of at most 30 characters, spoken during a run |
run_review | A 3–4 sentence review shown after a run |
dashboard_review | A 3–4 sentence review of a period of runs |
Outputs must contain no digits, no bullet lines, and no line breaks; the app rejects and discards anything that violates those rules. Prompts outside these three shapes are out of scope.
Training data
3,110 synthetic examples generated from the app's own prompt builders, covering enumerated running situations (pace, distance, laps, heart rate, weather, run history). Teacher outputs were synthesized with a larger model and filtered by a rule-based consistency checker before training. No user data and no personal data of any kind were used.
Evaluation
Held-out: 465 situations × 3 samples = 1,395 generations, same sampler and same llama.cpp backend
as the base-model baseline.
| Feature | Accepted rate | Verbatim-copy (parrot) rate | Unique rate |
|---|---|---|---|
coach_comment | 100.0% → 100.0% | 0.0% → 0.0% | 16.4% → 35.9% |
run_review | 98.9% → 100.0% | 0.1% → 0.0% | 98.0% → 80.5% |
dashboard_review | 98.1% → 100.0% | 0.0% → 0.0% | 93.7% → 94.4% |
| Total | 99.0% → 100.0% | 0.1% → 0.0% | 86.0% → 75.9% |
Left of each arrow is the unmodified base model, right is this model. The goal of the fine-tune was
output variety on coach_comment, which the base model collapsed into 32 distinct strings over 195
generations; this model produces 70. run_review unique rate regressed (98.0% → 80.5%) — training
pulled the longer reviews toward a template. It is recorded here rather than hidden because it is a
real cost of this fine-tune.
Limitations
- Japanese only. The base model is bilingual, but this fine-tune was trained and evaluated on Japanese only.
- Domain-locked to running coaching. Out-of-domain prompts fall back to base-model behavior with an unhelpful bias toward coaching phrasing.
- Not a safety-tuned model, and not a source of medical or training advice. Output is decoration on top of numbers the app already computed.
- Quantized to
Q4_K_M. Other quantizations of this fine-tune have not been evaluated.
Usage
llama-cli -m running-coach-lfm2.5-1.2b-jp-v1.gguf -p "..."
The app runs it through the LEAP SDK (llama.cpp under the hood) on CPU.
License
Licensed under the LFM Open License v1.0 (lfm1.0), inherited from the base model
LiquidAI/LFM2.5-1.2B-JP. A copy of the license is included in this repository as LICENSE.
Copyright notices from the original work are retained. Commercial use is restricted by the license's
revenue threshold — read LICENSE before using this model commercially.