Repository navigation
Releases: dd1000001000/zhiyi_ime
Release list
知意词语 n-gram:繁体中文与日文(ngram-ml-1024)
知意的词语 n-gram,繁体中文与日文(2026-10-24),给 知意 1.4V2-ML-Preview-1024 选词时加分用,格式与 ng1017 的 zh.ngram 相同(engine/src/laya/ngram.h,Python 版 bench/ngram_lm.py)。知意输入法本身不用它们:知意的引擎只用简体的 zh.ngram。
zh-Hant.ngram(79 MB,压缩包 41 MB):繁体中文词语三元语言模型。词表从 jieba 的词典(MIT)用 OpenCC(s2twp)转成繁体,加上语料里出现的所有汉字;二元、三元全部来自 FineWeb-2 cmn_Hani 的约 17 万个繁体网页(2.16 亿字,.tw / .hk / .mo 网站全收,其他网站收三分之一)的 Kneser-Ney 统计;按相对熵剪枝到二元、三元各 400 万条。没有用 ng1017(LGPL),所以能按 Apache-2.0 发布。ja.ngram(60 MB,压缩包 28 MB):日文词语三元语言模型。词表是 SudachiPy(模式 B)在 FineWeb-2 jpn_Jpan 网页上切出、出现至少 3 次的词,加上所有字符;二元、三元来自同一批网页(13 万页,1.88 亿字)的 Kneser-Ney 统计;剪枝到二元、三元各 300 万条。- 两者都用幽默输入法的 ime-dict-tool
mix混合,再用知意自己的剪枝程序(bench/ngram_prune.py)转成引擎格式。 - 许可:Apache-2.0(
LICENSE);zh-Hant.ngram附 jieba 的 MIT 声明(NOTICE-jieba.txt)。
选词效果(每个测试文件 3000 条,第一个候选正确;n-gram 加到模型上:分数 = 模型 logit + λ · ln P,λ 用奇数行调,偶数行报告):
| 候选来源 | 引擎原顺序 | 只用 n-gram | 模型(int8) | 模型 + n-gram |
|---|---|---|---|---|
| 繁体拼音(luna_pinyin) | 61.2% | 42.4% | 85.6% | 87.4% |
| 注音(bopomofo_tw) | 84.2% | 37.8% | 90.0% | 91.1% |
| 注音(libchewing) | 88.3% | 40.2% | 95.7% | 96.5% |
| 粤拼(jyut6ping3) | 68.3% | 36.0% | 88.9% | 89.5% |
| 仓颉五代 | 63.9% | 75.2% | 95.1% | 95.1% |
| 速成五代 | 91.9% | 50.7% | 88.4% | 88.9% |
| 仓颉三代 | 35.7% | 56.9% | 84.1% | 84.3% |
| 速成三代 | 39.9% | 48.0% | 78.8% | 79.4% |
| 日文转换(Mozc) | 87.4% | 90.4% | 91.3% | 92.7% |
| 日文预测(Mozc) | 71.2% | 79.3% | 84.2% | 85.9% |
| 日文整句(Mozc) | 89.7% | 91.2% | 92.8% | 93.1% |
("模型"和"模型 + n-gram"两列是偶数行,1500 条。繁体的 n-gram 单独用时多数列表比引擎原顺序差,要和模型一起用。)
繁体版另做过一个以 ng1017 转繁体为底座的版本(只能 LGPL):单独用略好,加到模型上不如这个版本(繁体拼音 86.8% 对 87.4%,注音 90.3% 对 91.1%),所以发布的是这个 Apache-2.0 版本。
zh-Hant.ngram SHA-256: d13f8840572599855cd8778fe3c7b6754a87908a22198baace25f9c35c6b1fb8
ja.ngram SHA-256: c9e10cf11867f19d18088f1d13c63314e2f7bd7b6ca08a44e3a5d8e70f4b1fe8
Zhiyi's word n-grams for Traditional Chinese and Japanese (2026-10-24), to score candidates next to 知意 1.4V2-ML-Preview-1024, in the format of ng1017's zh.ngram (engine/src/laya/ngram.h; Python: bench/ngram_lm.py). Zhiyi IME itself does not use them.
zh-Hant.ngram(79 MB): vocabulary from jieba's dictionary (MIT) converted by OpenCC s2twp plus every Han character of the text; bigrams and trigrams all from Kneser-Ney counts of about 172k Traditional pages of FineWeb-2 cmn_Hani (216M characters); pruned by relative entropy to 4M bigrams and 4M trigrams. No ng1017 (LGPL) inside, hence Apache-2.0.ja.ngram(60 MB): vocabulary of SudachiPy (mode B) words seen at least 3 times in FineWeb-2 jpn_Jpan pages plus every character; Kneser-Ney counts of the same 130k pages (188M characters); pruned to 3M bigrams and 3M trigrams.- Mixed with Youmo IME's ime-dict-tool
mix, converted by Zhiyi's own pruner (bench/ngram_prune.py). - License: Apache-2.0 (
LICENSE);zh-Hant.ngramcarries jieba's MIT notice (NOTICE-jieba.txt). Text: FineWeb-2 (Penedo et al., 2025; ODC-By 1.0, https://huggingface.co/datasets/HuggingFaceFW/fineweb-2).
With the model (int8; λ tuned on odd rows, reported on even rows): Traditional pinyin 85.6% → 87.4%, Zhuyin 90.0% → 91.1% (libchewing 95.7% → 96.5%), Jyutping 88.9% → 89.5%, Japanese conversion 91.3% → 92.7%, prediction 84.2% → 85.9%, whole sentence 92.8% → 93.1%; Cangjie / Quick within about half a point.
知意 1.4V2-ML-Preview-1024(多语言预览版,未接入输入法)
Laya model 知意 1.4V2-ML-Preview-1024 / Zhiyi 1.4V2-ML-Preview-1024, a preview: 1.4V2-Long-L12 (model-zhen-long-l12, the default of Zhiyi IME 1.5.12 and later) trained further to also choose among candidates in Traditional Chinese (pinyin, Zhuyin, Jyutping, Cangjie, Quick), Japanese, Korean and Vietnamese, and to compose Traditional Chinese (pinyin, Zhuyin with tones, Jyutping) and Japanese (kana) with its continuation head. Simplified Chinese and English keep the inputs of 1.4V2-Long-L12 and its accuracy. Not in Zhiyi IME: the IME engine produces candidates only for Simplified Chinese and English, so in Zhiyi IME this model works as a Long-L12 for those two; the new languages are for other IMEs (their sequences are described in the safetensors zip's README).
- New languages' data: the candidate lists of other IMEs' engines on FineWeb-2 pages: librime (luna_pinyin, bopomofo_tw, jyut6ping3, cangjie5, quick5, and the Cangjie 3 / Quick 3 tables of fcitx5-table-extra), libchewing, Mozc (conversion, prediction, whole sentences), and our own generators for Korean word completion and Vietnamese (without diacritics, first letters). 2.40M word-choice rows (6 to 20 candidates) and 2.2M composition rows; every row labelled by the two Qwen3.5-9B LoRA teachers of 1.4V2-Long-L12, retrained with the new languages.
- Inputs: a new-language row starts with a tag (
<zh-Hant>,<ja>,<ko>,<vi>); word choice takes what was typed as ordinary text after the context (Zhuyin symbols, Cangjie keys, kana, Hangul …), optional: it was dropped from 40% of the training rows, and the model loses at most about a point without it. Composition slots: pinyin syllables (Zhuyin as pinyin + its tone), Jyutping syllables, one per kana for Japanese. - Training: from 1.4V2-Long-L12, 2 epochs over all of its rows (word choice 3.77M, composition at half) and all new rows; the Simplified Chinese / English rows lose their typed slots 15% of the time. 12 encoder layers as before; the continuation head writes 9067 characters (6163 before).
- int8, 92 MB (Long-L12 84 MB): 126963 embedding rows (+14570 tokens of the new languages). Tokenizer unchanged (mmBERT's).
End to end in Zhiyi IME's engine with ng1017 (Simplified Chinese and English; after the pause, the model on the graphics card; every third row of the new word-choice test set, 4175 rows; first candidate right):
| Frequency only | ng1017 + 1.4V2-Long-L12 (Zhiyi IME 1.5.12+) | ng1017 + 1.4V2-ML-Preview-1024 | |
|---|---|---|---|
| Chinese, words and word pairs (2183) | 72.5% | 87.7% | 87.8% |
| Chinese, long input (746) | 50.7% | 74.9% | 73.1% |
| English words (724) | 77.6% | 89.5% | 89.8% |
| Chinese typed as initials only (139) | 39.6% | 76.3% | 77.0% |
| English, first letters only (304) | 48.0% | 75.7% | 76.3% |
| CPU per page (ONNX Runtime 1.24.4, 4 threads, median, 274 pages) | — | 10.1 ms | 10.3 ms |
| Model file | 84 MB | 92 MB |
Speed measured in one loop, 3 rounds interleaved (AMD Ryzen 5 9600X). Within sampling error except long input (−1.8 points, about ±1.6; of it, mixed full and abbreviated pinyin 59.9% → 55.8%).
The model alone (int8, 3000 test rows each; first candidate right; "engine" = the engine's own first candidate):
| Word choice | Engine | Model | Model without the typed text |
|---|---|---|---|
| Traditional, pinyin (luna_pinyin) | 61.2% | 84.3% | 84.2% |
| Traditional, Zhuyin (bopomofo_tw) | 84.2% | 90.1% | 89.4% |
| Traditional, Zhuyin (libchewing) | 88.3% | 95.8% | 95.4% |
| Traditional, Jyutping (jyut6ping3) | 68.3% | 89.0% | 89.4% |
| Traditional, Cangjie 5 | 63.9% | 94.9% | 94.9% |
| Traditional, Quick 5 | 91.9% | 88.5% | 87.9% |
| Traditional, Cangjie 3 | 35.7% | 83.9% | 83.7% |
| Traditional, Quick 3 | 39.9% | 78.0% | 78.2% |
| Japanese, conversion (Mozc) | 87.4% | 91.6% | 91.9% |
| Japanese, prediction (Mozc) | 71.2% | 85.1% | 85.2% |
| Japanese, whole sentence (Mozc) | 89.7% | 92.8% | 92.8% |
| Korean, word completion | 41.0% | 56.6% | 55.4% |
| Vietnamese, without diacritics | 73.8% | 89.3% | 89.2% |
| Vietnamese, first letters | 39.6% | 71.9% | 71.2% |
| Composition (continuation head alone) | Whole rows right | Characters right | Teacher (Qwen3.5-9B LoRA), whole rows |
|---|---|---|---|
| Traditional, pinyin | 40.6% | 74.6% | 53.4% |
| Traditional, Zhuyin (70% with tones) | 68.1% | 91.5% | 75.4% |
| Traditional, Jyutping | 35.7% | 69.8% | 49.8% |
| Japanese, kana | 66.3% | 95.0% | 78.0% |
Quick 5's engine order is already right most of the time; the model is 3.4 points below it there (the only list it does not improve). With the word n-grams of ngram-ml-1024 (Traditional Chinese, Japanese) the choice gains up to 1.8 points more (Traditional pinyin 85.6% → 87.4%, Japanese prediction 84.2% → 85.9%; Cangjie / Quick 0 to 0.6). Simplified Chinese / English, model alone (int8, every third row): new test set words 86.6%, long input 82.9%, English 89.4%; Chinese homophones 90.3%; long pinyin in full, whole phrases 56.3%.
Usage: in Zhiyi IME 1.5.12 or later (source build), unzip laya-ml-preview-1024-int8g.zip into models/laya/: it runs as a Simplified Chinese / English model (its unified_vocab.json keeps the old readings, the new tables are under ml). For other IMEs see the safetensors zip's README (sequences, tags, units, which characters each slot may write).
Word-choice and composition text: as 1.4V2-Long-L12 (SkyPile-150B, LCCC, C4, SODA, Tatoeba, FineWeb, FineWeb-2), plus FineWeb-2 (Penedo et al., 2025; ODC-By 1.0, https://huggingface.co/datasets/HuggingFaceFW/fineweb-2) cmn_Hani, yue_Hani, jpn_Jpan, kor_Hang and vie_Latn. New candidate lists: librime (BSD-3-Clause) with rime-luna-pinyin, rime-bopomofo, rime-cangjie, rime-quick, rime-cantonese and rime-essay; the Cangjie 3 / Quick 3 tables of fcitx5-table-extra; libchewing; Mozc; readings from Mozc's dictionary, pypinyin, OpenCC and SudachiPy. These only produced training rows; none of them is in the files. The encoder is mmBERT-small (Marone et al., 2025; MIT, https://huggingface.co/jhu-clsp/mmBERT-small). Both teachers are Qwen3.5-9B (Qwen team, Alibaba Cloud; Apache-2.0, https://huggingface.co/Qwen/Qwen3.5-9B) with LoRA; only their scores were used, none of their weights are in these files.
laya.int8g.onnx SHA-256: 41aa0a9c2e4ce1911d493bf60b67f59ef3addc3f1d815e8fac6d68f4ee2c580c
safetensors: laya-ml-preview-1024-safetensors.zip, the same model unquantized in one model.safetensors (180 MB, encoder and word-choice head F16, continuation head F32, plus the Zhuyin tone vectors tone_emb), with config.json (structure, special tokens, sequence settings, ml: language tags, typed-text length, tone stride; quantize_q8_0: the 66 linear weights to quantize), tokenizer.json, unified_vocab.json, a README with the forward pass and every input sequence, 16 test vectors (8 new-language ones), and a reference forward pass with candle 0.11 (candle_ref/, GPL-3.0-only; now with the tone vectors). Quantized to Q8_0 at load time it matches fp32 (on 300 rows of each new test file and every third row of the Simplified Chinese / English sets, within 0.7 points everywhere, see its README).
model.safetensors SHA-256: 87e165763440d285abb92475e70af7e59b87835b99d91588317a0c7597dc7685
知意 1.4V2-ML-Preview-1024(预览版):在 1.4V2-Long-L12(知意输入法 1.5.12 起的默认模型)基础上继续训练,加入繁体中文(拼音、注音、粤拼、仓颉、速成)、日文、韩文、越南文的选词,以及繁体中文(拼音、带声调的注音、粤拼)和日文(按假名)的组句。新语言的数据来自其他输入法引擎(librime、libchewing、Mozc 和自己写的韩文、越南文生成器)在 FineWeb-2 网页上的候选:选词 240 万条、组句 220 万条,全部由重新训练过的两个 Qwen3.5-9B 老师模型打分。简体中文和英文的输入不变,端到端(加 ng1017):中文词和两个词 87.8%(Long-L12 87.7%),长句 73.1%(74.9%),英文 89.8%(89.5%),全打声母 77.0%(76.3%),英文只打前几个字母 76.3%(75.7%)。新语言(模型单独,int8):繁体拼音 61.2% → 84.3%,注音 84.2% → 90.1%,粤拼 68.3% → 89.0%,仓颉五代 63.9% → 94.9%,日文预测 71.2% → 85.1%,韩文补全 41.0% → 56.6%,越南文只打首字母 39.6% → 71.9%;速成五代比引擎原顺序低 3.4 个点。未接入知意输入法:知意的引擎只产生简体中文和英文候选,放进知意里它就是一个 Long-L12;新语言供其他输入法使用(输入格式见 safetensors 压缩包的 README)。
License: these weights are Zhiyi IME's own work and are licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0); the safetensors zip carries the license text as LICENSE. The reference code in candle_ref/ stays GPL-3.0-only, like Zhiyi IME (https://github.com/dd1000001000/zhiyi_ime/blob/main/LICENSE). The upstream parts keep their licenses: the Laya architecture (https://huggingface.co/convaiinnovations/laya) Apache-2.0, the mmBERT-small encoder and tokenizer MIT; the teachers' base Qwen3.5-9B is Apache-2.0.
许可:模型权重是知意输入法自己训练的,按 Apache-2.0 发布,safetensors 压缩包附 LICENSE;candle_ref/ 参考代码仍按 GPL-3.0-only 发布;上游部分保持各自的许可(Laya 结构 Apache-2.0,mmBERT-small 编码器和分词器 MIT;老师模型的底座 Qwen3.5-9B 为 Apache-2.0,只用了它们的打分,不含它们的权重)。
知意输入法 1.5.16
- 模糊音新增 l=r、f=h、wang=huang 三组,现在共 10 组,全拼和双拼都可用
- 新安装默认不勾任何模糊音;已在用的用户保持原来的设置(原来默认开的 en=eng、in=ing 仍然开着)
- 修复有上文时组句头把拼音多切出一个音节、组出奇怪的句子(如打
zhijieyong出“只饥饿用”,现在是“直接用”) - 离线翻译模型更新到知意 v4(设置 >“学习”页点“更新到 v4”):COMET-22 在 FLORES-200 / WMT24++ / NTREX-128 上为 84.0 / 80.5 / 81.7(v3 为 81.5 / 78.1 / 79.2),能按上文选对更多多义词的词义;大小和速度与 v3 相同
知意输入法 1.5.15
- 设置“常规”页新增“只把拼音完全对上的候选提到首位”(默认关闭):勾选后,打
xian时上文推荐不会把“想”(xiang)推到第一;开了模糊音时模糊读法也算对上(#34) - 中文模式里夹的英文候选上屏时不再加空格,和中文候选一样:用空格、数字或鼠标选都只上屏这个词。“自动添加空格”只管英文模式和学习模式打出的翻译
- 设置各页的说明文字精简了,中文和英文都更短;英文界面里超出卡片的选项和下拉框不再被截断
- 修复在设置里切换界面语言时偶尔崩溃
- 在帝国时代2等自己绘制输入框的游戏里,候选窗不再跑到屏幕右下角,而是跟在正在输入的拼音下面(#24)
- 修复安装或更新时偶尔提示“无法确认知意输入法后台已终止”:后台退出、释放显卡的那几秒不再被误判为出错
知意输入法 1.5.14
- 符号面板改用
/打开:中文标点状态下按/打开符号面板,连按两次/打出/;\直接打出顿号“、” - 支持 emoji(#31):拼音候选里,有 emoji 的词后面跟着它的 emoji,例如打
xiao时“笑”后面是 😄☺️ ,每页最多 3 个,第一个候选总是文字,选了 emoji 不记学习(设置 > 常规 >“拼音候选里显示 emoji”,默认开启);/bq可以浏览全部 1601 个 emoji;用户词库可以收录 emoji,例如把dz设成 👍;候选窗里的 emoji 是彩色的 - 中文标点状态下,紧跟在数字后面的句号打出小数点,
3.14可以直接打出来(#32);数字后的逗号仍是“,” - 设置 > 常规新增“英文输入”:英文模式可以选“单词联想”或“只打字母”(每个键直接交给程序,适合终端和 vim);和打字时按“输入方式切换”键、任务栏菜单里的切换是同一个设置,点“应用”立即生效。“拼写纠错”和“自动添加空格”放到同一行
- 符号面板的分类按常用程度重新排列:表情符号、常用符号、补充标点在前,偏旁在最后;常用符号里星形、几何图形、※、✓ 在前
知意输入法 1.5.13
- 语音输入快捷键可以选“点按两次”或“长按”(设置 > 按键,语音快捷键右边,#25):点按两次时按一下开始、再按一下结束,说完停顿 2 秒没有人声也会自动结束并直接上屏(配置项
voice.auto_stop_ms);长按时按住说话,松开结束 - 所有快捷键统一判断点按和长按(
shortcuts.hold_ms,默认 400 毫秒);按住一个快捷键时按了另一个,当作前一个已经松开;录音时其他切换键照常可用 - 没开语音输入时,语音快捷键不再被输入法占用,也不再弹出提示(#29)
- 英文等带空格的语言:用数字、鼠标或回车选词时,词后自动加一个空格,用空格或标点上屏时只跟那个符号(设置 > 常规 >“自动添加空格”,默认开启,#28);中文里夹的英文候选和学习模式打出的翻译也一样,翻译前面不再补空格
知意输入法 1.5.12
- 上文推荐模型换成知意 1.4V2-Long-L12:1.4V2 只保留 12 层编码器(1.5.9–1.5.11 的 1.4V2-Long-L18 为 18 层),选词由微调过的 Qwen3.5-9B 老师模型在约 377 万条输入法实际候选上蒸馏(原来约 170 万条),组句头由另一个按字写出所打汉字的 Qwen3.5-9B 老师蒸馏
- 准确率和之前持平(加上词语 n-gram,端到端,停顿后,新选词测试集):中文词和两个词 87.6% → 87.7%,长句 74.5% → 74.9%,英文 90.2% → 89.5%,全打声母 77.7% → 76.3%,英文只打前几个字母 77.3% → 75.7%,差别都在抽样误差之内
- 更快更小:CPU 上选词一页 14.7 → 10.4 ms,模型文件 96 → 84 MB
知意 1.4V2-Long-L12(知意输入法 1.5.12 默认模型)
Laya model 知意 1.4V2-Long-L12 / Zhiyi 1.4V2-Long-L12: 1.4V2 (model-zhen-unified-s3) with 12 of its 22 encoder layers (layers 0, 1, 2, 6, 7, 8, 12, 13, 14, 19, 20 and 21 kept), its word choice distilled from a fine-tuned Qwen3.5-9B teacher and its continuation head from a second fine-tuned Qwen3.5-9B teacher that writes the typed characters. With the word n-gram ng1017 it ties ng1017 + 1.4V2-Long-L18 (Zhiyi IME 1.5.9-1.5.11) end to end at about two thirds of the CPU time. The default model of Zhiyi IME from 1.5.12.
- Word choice, the input of 1.4V2-Long-L18 (the text before the caret first, its last 128 tokens, then the typed pinyin or letters as slots, then the candidates, each written once, no prompt). Trained on about 3.77M rows (2.89M Chinese, 0.88M English) with the IME engine's real candidates: 1.4V2-Long-L18's 1.70M, 1.72M more from SkyPile, LCCC, C4 and SODA, and 0.35M from recent web pages of FineWeb and FineWeb-2; typed in full pinyin, initials, mixed, or the first letters of an English word. Loss 0.3 × cross-entropy to the right candidates + 0.7 × KL to the teacher's scores (T 2); 3 epochs.
- Continuation: 1.4V2's composition head (a score for each of 6163 characters at every typed syllable, in one pass), trained with the encoder on 4.31M composition rows (fewer typed in full pinyin, more in initials, mixed and partial pinyin than before); 2.2M of them carry the composition teacher's top 16 characters at every syllable (loss 0.5 × T² soft cross-entropy + 0.5 × cross-entropy to the typed characters).
- int8, 84 MB; the vocabulary of 1.4V2-Long-L18 (112393 rows). Tokenizer unchanged (mmBERT's).
End to end in the IME engine with ng1017 (after the pause, the model on the graphics card; every third row of the new word-choice test set, 4175 rows; first candidate right):
| Frequency only | ng1017 + 1.4V2-Long-L18 (Zhiyi IME 1.5.9-1.5.11) | ng1017 + 1.4V2-Long-L12 | |
|---|---|---|---|
| Chinese, words and word pairs (2183) | 72.5% | 87.6% | 87.7% |
| Chinese, long input (746) | 50.7% | 74.5% | 74.9% |
| English words (724) | 77.6% | 90.2% | 89.5% |
| Chinese typed as initials only (139) | 39.6% | 77.7% | 76.3% |
| English, first letters only (304) | 48.0% | 77.3% | 75.7% |
| CPU per page (ONNX Runtime 1.24.4, 4 threads, median, 274 pages) | — | 14.7 ms | 10.4 ms |
| Model file | 96 MB | 84 MB |
The differences are within sampling error (about ±0.7 points for Chinese words, ±1.6 for long input, ±3.5 for initials, ±2.4 for English first letters). Without the n-gram: Chinese words 86.2% (1.4V2-Long-L18 86.3%), long input 72.4% (71.8%). Speed: AMD Ryzen 5 9600X / RTX 5070 Ti; the n-gram adds about 0.1 ms a page.
The model alone (int8, every third row): new test set Chinese words 86.9%, long input 81.3%, English 89.7%; the IME's real candidates 90.6%, Chinese homophones 90.3%, English word completion 85.0%; long pinyin in full, whole phrases 57.0% (1.4V2-Long-L18 56.3%). Its composition head on its own, whole phrases on the long-pinyin dev set: 51.0% (1.4V2-Long-L18 51.5%).
Usage: Zhiyi IME 1.5.12 and later ship it (scripts/fetch_model.py downloads it for a source build). To use it in a 1.5.10 or 1.5.11 source build, unzip laya-zhen-long-l12-int8g.zip into models/laya/ (it reads "choice_format": "ctx-first" like 1.4V2-Long-L18) and put the n-gram (scripts/fetch_model.py) next to it.
Word-choice text: SkyPile-150B (Wei et al., 2023, Skywork; Skywork Community License, https://huggingface.co/datasets/Skywork/SkyPile-150B), LCCC (Wang et al., 2020; MIT, https://github.com/thu-coai/CDial-GPT), C4 Chinese and English (Raffel et al., 2020; ODC-BY), SODA (Kim et al., 2023; CC BY 4.0, https://huggingface.co/datasets/allenai/soda), Tatoeba (CC BY 2.0 FR, https://tatoeba.org), FineWeb (Penedo et al., 2024; ODC-By 1.0, https://huggingface.co/datasets/HuggingFaceFW/fineweb) and FineWeb-2 (Penedo et al., 2025; ODC-By 1.0, https://huggingface.co/datasets/HuggingFaceFW/fineweb-2). Composition text: SkyPile-150B and LCCC. The encoder is mmBERT-small (Marone et al., 2025; MIT, https://huggingface.co/jhu-clsp/mmBERT-small). Both teachers are Qwen3.5-9B (Qwen team, Alibaba Cloud; Apache-2.0, https://huggingface.co/Qwen/Qwen3.5-9B) with LoRA; only their scores were used, none of their weights are in these files.
laya.int8g.onnx SHA-256: 82d0fd05a5c2bff7898be518101d23dd03d0a5c4ecb8abaebcb397d42bebb529
safetensors: laya-zhen-long-l12-safetensors.zip, the same model unquantized in one model.safetensors (162 MB, the training weights in their trained precision: encoder and word-choice head F16, continuation head F32), with config.json (structure including each layer's attention kind encoder.layer_types, special tokens, the word-choice sequence settings, and quantize_q8_0: the 66 linear weights to quantize), tokenizer.json, unified_vocab.json, a README with the forward pass and both input sequences, 8 test vectors (word choice and continuation), and a reference forward pass with candle 0.11 (candle_ref/, GPL-3.0-only). Quantize those tensors to Q8_0 at load time (candle QTensor::quantize). Accuracy of the model alone on every third row, Q8_0 / fp32 / int8: new test set Chinese words 87.0 / 86.9 / 86.9%, long input 82.6 / 82.2 / 81.3%, English 90.5 / 90.9 / 89.7%; Chinese homophones 91.0 / 90.3 / 90.3%; long pinyin in full, whole rows 56.3 / 57.0 / 57.0%. Not used by the IME, which runs the ONNX model.
model.safetensors SHA-256: c975b57b621f34799434557bd556efde3f818077808426b025a4e22b34f5644f (2026-10-20: the license field in its metadata now says Apache-2.0; the tensors are unchanged)
safetensors 版:未量化的训练权重(含组句头),单个 model.safetensors,附结构配置(含每层是全局还是滑窗注意力、要量化的张量列表)、词表、说明、测试向量和 candle 参考实现;加载时把线性层量化成 Q8_0,准确率与 fp32 持平;输入法本身用 ONNX 模型。
知意 1.4V2-Long-L12:1.4V2 只保留 12 层编码器(22 层 → 12 层),选词用微调过的 Qwen3.5-9B 老师模型在约 377 万条输入法实际候选上蒸馏(1.4V2-Long-L18 的约 170 万条之外,新加约 172 万条 SkyPile、LCCC、C4、SODA 的文本和约 35 万条 FineWeb、FineWeb-2 的近年网页),组句头由另一个按字写出所打汉字的 Qwen3.5-9B 老师蒸馏(约 431 万条组句数据,其中 220 万条带老师打分)。加上词语 n-gram ng1017 后,在输入法引擎里端到端,新选词测试集上首选正确率和 ng1017 + 1.4V2-Long-L18(知意输入法 1.5.9–1.5.11)打平:中文词和两个词 87.7%(87.6%),长句 74.9%(74.5%),英文 89.5%(90.2%),全打声母 76.3%(77.7%),英文只打前几个字母 75.7%(77.3%),差别都在抽样误差之内;CPU 上一页 10.4 ms(14.7 ms),快约三成,模型文件 84 MB(96 MB)。知意输入法 1.5.12 起的默认模型。
License: these weights are Zhiyi IME's own work and are licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0) since 2026-10-20 (GPL-3.0-only before); the safetensors zip carries the license text as LICENSE. The reference code in candle_ref/ stays GPL-3.0-only, like Zhiyi IME (https://github.com/dd1000001000/zhiyi_ime/blob/main/LICENSE). The upstream parts keep their licenses: the Laya architecture (https://huggingface.co/convaiinnovations/laya) Apache-2.0, the mmBERT-small encoder and tokenizer MIT; the teachers' base Qwen3.5-9B is Apache-2.0.
许可:模型权重是知意输入法自己训练的,2026-10-20 起按 Apache-2.0 发布(之前为 GPL-3.0-only),safetensors 压缩包附 LICENSE;candle_ref/ 参考代码仍和知意输入法一样按 GPL-3.0-only 发布;上游部分保持各自的许可(Laya 结构 Apache-2.0,mmBERT-small 编码器和分词器 MIT;老师模型的底座 Qwen3.5-9B 为 Apache-2.0,只用了它们的打分,不含它们的权重)。
知意输入法 1.5.11
- 中英文、中英文标点、全角/半角改为所有程序共用:在一个程序里切换后,切到别的程序或输入框不再变回去,新打开的程序也沿用当前状态(#23)
- 这三项会记住,重启电脑后保持上次的状态(存在用户数据文件夹的 input_state.json);刚安装时为中文、全拼、中文标点、半角。设置文件里旧的 initial_state 自动迁移后删除
- 任务栏右键菜单:中文标点/英文标点、半角/全角各为二选一,点已选中的一项不会再切走;去掉“英文单词联想”(英文的单词/字母仍用“输入方式切换”键切换)
知意输入法 1.5.10
- 选词加入词语 n-gram(ng1017):底座是幽默输入法的拼音语言模型(基于 libime),再混入约 1 亿字的科研文本(CSL 论文摘要与网页里的科技页面),按相对熵剪枝到二元、三元各 400 万条(文件 79 MB,映射到内存,不读进堆);每个整句候选的分数加上它给的 ln P,光标前没有上文时也用模型和 n-gram 选词
- 组句头组出的长句也经过选词头排序(以前组句的第一句直接放在首位)
- 新选词测试集上首选更准(端到端,停顿后):中文词和两个词 86.2% → 87.6%,长句 67.2% → 74.5%,英文、全打声母和英文只打前几个字母不变;旧测试集的长句全拼 61.8% → 69.0%,末字只打声母 30.6% → 36.6%,前面简拼、后面全拼 16.5% → 21.9%;新网页文本和科研摘要上的提升更大
- 代价:CPU 上光标前没有上文的页要多算一次模型(中位数约 2 → 11 ms),长句页多一次选词(约 +10 ms)