青简本地模型「含章」详解:23M 参数 Transformer 如何离线重排整句候选 青简本地模型「含章」详解23M 参数 Transformer 如何离线重排整句候选【免费下载链接】qingjian青简 Qingjian用 Rust 写的拼音输入法候选词旁多一条正在学的语言的译词项目地址: https://gitcode.com/gh_mirrors/qi/qingjian青简 是用 Rust 写的拼音输入法它的本地模型系列命名为「含章」。其中 23M 参数的字级 Transformer 全程离线运行利用光标前文给整句候选重新排序帮你把同音句中更通顺的那句排到第一位。本文讲清楚含章是什么、重排如何生效、为什么快而不卡手感以及怎么关闭或替换它。含章是什么两款离线模型一主一备「含章」不是单一模型而是一个系列包含两款分工明确的本地模型见 docs/notes/model-identities.md模型英文标识职责含章·通变hanzhang-tongbian拼音到汉字解码、纠错、整句候选重排词图拼不出整句时还能直接生成含章·知微hanzhang-zhiwei依据光标前文给整句候选重排没有通变时作为回退优先使用通变设备上没有它时才用知微。两者全程离线不联网、不发送任何输入内容推理发生在 crates/qingjian-neural/ 这个推理 crate 里基于 candle 框架macOS 上可选 Apple GPU 加速。23M 参数的小模型长什么样含章·知微 small 档是一个23M 参数的 GPT-2 风格 decoder-only 模型字表 19147 字最长上下文 128 字详见 crates/qingjian-neural/src/lib.rs 与 crates/qingjian-neural/src/config.rs。它做的事情非常朴素给定「光标前的 64 个字 一条候选句子」按字累加对数概率输出一个神经分。几个关键设计结构小巧pre-LN 注意力、erf GELU 激活、可学习位置嵌入、输入输出嵌入共享张量名与训练脚本一一对应方便对拍。单文件分发训练导出的三件套model.safetensorsconfig.jsonvocab.json会被打包成一个.qjm文件——配置、字表、权重各占一节CONF/VOCB/SAFT打包脚本见 tools/release/pack-model.sh容器格式由 crates/qingjian-format/ 定义。fp16 下约 56 MB随数据分发mmap 加载即可用。加载够快实测约 66 ms 完成加载首次调用有短暂的 GPU 编译预热。整句候选是如何被重排的一次组句的流程大致是词库召回 二元语言模型加个人 n-gram先按 Viterbi 搜出前几条整句路径模型的意见随后补上。核心逻辑在 crates/qingjian-core/src/engine/rescoring/引擎对每条路径按路径分 λ·(神经分 − 静态二元分)计算重排分数λ缺省 0.5只改名次不改原分神经分只在同一串按键内可比写回会污染纠错、中英混输等跨读法比较——这是 2026-09 排查出的一个真实 bugwoxiangxuexirust曾被误「纠正」成我想学习如斯修复后冻结集成绩不变、混输恢复个人学习不稀释神经分只替换静态二元的判断你选过的词、用户加分、敲错代价原样保留。评测数字8322 句冻结集冷启动见 docs/notes/neural-rescoring.md配置整句首选字准确率基线二元模型37.6%76.9%23M 模型λ 0.75带 64 字前文41.9%79.1%换成通变 P2C 后42.5%79.3%换到 P2C 之后还多送了一样东西长句会额外给出最多 3 条整句候选前三命中从 42.3% 升到 45.5%词库、辅码、混输该给的东西一样不少。为什么重排快、又不会卡住你的手感模型再准卡在每键响应上也白搭。青简用三招把延迟压进无感区间异步重排按键回调永远不等模型——先按词库统计出候选显示停键 80 ms 后把缺分的文本攒批送后台线程20 ms 轮询结果到了只重画当前页。你翻过页或动过高亮就不打扰。前文 KV 缓存前文在一次组句里不变每层的 K/V 算一次存下来PrefixCache每条候选只算前文末尾 候选这一小段。Metal 上 64 字前文 × 8 条候选从 133 ms 降到 28 ms。神经分缓存同一次查询里纠错变体、中英混输会复用同一条路径文本算过分不重算评测从每句 69 ms 降到 27 ms做前文 KV 缓存与分数缓存之后同一评测集平均 24 ms、最慢 101 ms。什么时候模型不出手密码框里不组句应用声明私密的输入框里不读上下文应用给不出光标前文部分终端、Electron 应用时只参考本会话输入过的字已经翻到后面的页、或移动过高亮时模型结果不再替换你正在看的这页输入法刚启动的几秒模型还在加载这段时间按词库统计出句。如何关闭或替换本地模型 ️关闭「偏好设置 → 云服务」Windows 为「设置 → 云服务」里的「本地整句模型」开关或配置文件[model]段写enabled falseLinux 只有这一种方式改完重启青简服务。关闭后只用词库统计与云联想互不影响。换自己的模型把.qjm文件放进用户数据目录对应位置重启输入法即可macOS~/Library/Application Support/Qingjian/models/hanzhang-tongbian/Windows%APPDATA%\Qingjian\models\hanzhang-tongbian\Linux~/.local/share/qingjian/models/hanzhang-tongbian/三件套目录也能直接识别同目录两种格式并存时优先用.qjm。各平台路径与更多细节见 docs/user/input/local-model.md。小结含章证明了 23M 参数的本地 Transformer 足以在日常输入中稳定贡献整句 4 个点的提升而且靠异步重排、KV 缓存、分数缓存三板斧把代价压到几十毫秒、零联网。对想深入的同学两个入口最值推理与模型容器crates/qingjian-neural/重排引擎与评测数据crates/qingjian-core/src/engine/rescoring/、docs/notes/neural-rescoring.md【免费下载链接】qingjian青简 Qingjian用 Rust 写的拼音输入法候选词旁多一条正在学的语言的译词项目地址: https://gitcode.com/gh_mirrors/qi/qingjian创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考