Chiboard 1.1
Chiboard 1.1 is the local language model for the Chiboard Chinese input method. It converts pinyin to Hanzi as you type, revises earlier conversions as more keys arrive, and can read screenshots of the app you are typing into to pick the right words.
This repository holds the BF16 weights. For llama.cpp, use chiboard-1.1-0.8b-GGUF (Q8_0 recommended).
Training
Chiboard 1.1 was fine-tuned from Qwen/Qwen3.5-0.8B-Base, including its pretrained vision tower, with full-parameter supervised fine-tuning on text and screenshot conversion data. It was then trained with reinforcement learning (GRPO).
Evaluation Results
Text, clean
| Metric (%) | Chiboard 1.1 | Chiboard 1.1 SFT | Chiboard 1 |
|---|---|---|---|
| Final CER ↓ | 8.00 | 11.22 | 16.01 |
| Final EM ↑ | 46.30 | 43.10 | 46.05 |
| Per-state EM ↑ | 57.01 | 50.78 | 33.55 |
| First-state EM ↑ | 10.07 | 6.75 | 2.91 |
| Churn ↓ | 0.72 | 1.15 | 3.14 |
| Non-carry churn ↓ | 0.21 | 0.09 | 0.40 |
| Wrong carry commits ↓ | 11.08 | 22.30 | 57.79 |
Text, noisy
| Metric (%) | Chiboard 1.1 | Chiboard 1.1 SFT | Chiboard 1 |
|---|---|---|---|
| Final CER ↓ | 11.79 | 15.44 | 21.14 |
| Final EM ↑ | 38.31 | 36.10 | 37.58 |
| Per-state EM ↑ | 53.24 | 47.27 | 30.51 |
| First-state EM ↑ | 11.79 | 8.51 | 2.87 |
| Churn ↓ | 0.77 | 1.23 | 3.15 |
| Non-carry churn ↓ | 0.21 | 0.11 | 0.45 |
| Wrong carry commits ↓ | 12.18 | 23.76 | 56.85 |
Visual, clean
| Metric (%) | Chiboard 1.1 | Chiboard 1.1 SFT | Chiboard 1 |
|---|---|---|---|
| Final CER ↓ | 3.62 | 4.73 | 14.20 |
| Final EM ↑ | 73.37 | 71.54 | 50.10 |
| Per-state EM ↑ | 76.78 | 67.91 | 38.60 |
| First-state EM ↑ | 86.13 | 3.30 | 9.96 |
| Churn ↓ | 0.52 | 0.77 | 3.46 |
| Non-carry churn ↓ | 0.20 | 0.07 | 0.45 |
| Wrong carry commits ↓ | 6.52 | 13.65 | 56.21 |
Visual, noisy
| Metric (%) | Chiboard 1.1 | Chiboard 1.1 SFT | Chiboard 1 |
|---|---|---|---|
| Final CER ↓ | 4.96 | 6.20 | 15.80 |
| Final EM ↑ | 67.78 | 65.90 | 45.02 |
| Per-state EM ↑ | 74.00 | 65.45 | 36.32 |
| First-state EM ↑ | 84.76 | 4.32 | 9.71 |
| Churn ↓ | 0.56 | 0.82 | 3.42 |
| Non-carry churn ↓ | 0.21 | 0.07 | 0.46 |
| Wrong carry commits ↓ | 7.18 | 14.75 | 55.57 |
↓ lower is better; ↑ higher is better.
- Chiboard 1.1: this model, Chiboard 1.1 SFT further trained with reinforcement learning.
- Chiboard 1.1 SFT: the supervised fine-tuned model that Chiboard 1.1 starts from.
- Chiboard 1: the previous model (
chiboard-1-qwen3.5-0.8b-t1-GGUF). It has no screen input, so on the visual sets it converts the same keystrokes without the screenshot.
Metrics:
- Final CER / final EM: character error rate and exact-match rate of the finished text.
- Per-state EM: share of intermediate conversions along the way that are exactly right, tolerant of where the composition is cut.
- First-state EM: share of sentences whose first conversion is exactly right.
- Churn: how often converted text already shown to the user changes, plus wrong carry commits. Non-carry churn counts only changes to converted characters that were already correct.
- Wrong carry commits: share of states with an unfinished final syllable in which the model commits a wrong character.
¹ "Noisy" sets include realistic typing mistakes.
All visual evaluation uses synthetic screenshots of mock and long-tail app screens; accuracy on real screens has not been measured.
Prompt format
<|chiboard_screen_ref|>{reference}<|chiboard_screen|>{current}<|chiboard_context|>{context}<|chiboard_pinyin|>{raw}<|chiboard_display|>{display}<|chiboard_output|>
reference: optional previous-window screenshot payload.current: optional payload for the window containing the active composition.context: committed text before the composition in the same field or document.raw: the original keystrokes of the entire current composition.display: the currently displayed composition, which may mix Chinese and unconverted pinyin. Serialize this field as empty when it is byte-identical toraw.
Keep all field tokens, even when their values are empty. Generate the converted composition immediately after <|chiboard_output|> and stop at <|endoftext|> (EOS token ID 248044).
The target covers the current composition only and stops at the typed boundary.
Example:
<|chiboard_screen_ref|><|chiboard_screen|><|chiboard_context|><|chiboard_pinyin|>nihao<|chiboard_display|><|chiboard_output|>
An expected completion is ä½ å¥½<|endoftext|>.
Screenshot payloads
Each screen payload consists of an optional canonical application ID followed by optional image embeddings:
[app_id][<|vision_start|><|image_pad|> × N<|vision_end|>]
Download
hf download johnbean393/chiboard-1.1-0.8b --local-dir chiboard-1.1-0.8b
License
This model is available under the Chiboard Model Non-Commercial and Non-Compete License 1.1.
- The model may not be commercialized.
- Nobody may use the model, its derivatives, or its outputs to build, train, evaluate, improve, or operate a competing input method.
- Ordinary end users may run the model as part of the official Chiboard application, including for everyday professional typing. Anyone may also use it for private, non-commercial research and education.
Read the complete license before downloading or using the model. The model is
derived from Qwen/Qwen3.5-0.8B-Base (Apache License 2.0; see
QWEN-APACHE-2.0.txt).
- Downloads last month
- -
