Yunmo v1
面向繁體中文(臺灣用語)的全功能小型語言模型 · 195M
Yunmo 是基於 MiniMind v3 的增量復現:將 MiniMind 的完整訓練語料以 OpenCC s2twp(簡體→臺灣正體)逐筆轉為繁體、併入臺灣在地增量語料,並重訓一個 24,000 詞的繁體特化分詞器。架構沿用 MiniMind v3(Qwen3-style:RMSNorm、SwiGLU、RoPE、GQA、QK-Norm),刻意調整兩處:層數 8→24、詞表 6,400→24,000。權重為隨機初始化、從零訓練(pretrain + SFT),並非自 minimind-3 的 checkpoint 微調而來。
由 YuhuanStudio 開發。
| 項目 | 規格 |
|---|---|
| 參數量 | 195.4M |
| 架構 | Qwen3ForCausalLM(24 層 / hidden 768 / 8 heads / 4 kv / head_dim 96 / intermediate 2432) |
| 詞表 | 24,000(繁體特化,較 MiniMind 分詞器省約 46% 繁體 token) |
| 語言 | 繁體中文(臺灣) |
| 訓練 | pretrain ~1.65 epoch(~3.9B token)+ SFT ~1 epoch,RTX PRO 6000 |
| 程式碼 | github.com/yuhuanowo/Yunmo-V1(含訓練/評測報告與腳本) |
快速使用
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("yuhuanstudio/yunmo-v1", dtype=torch.float16).to("cuda").eval()
tok = AutoTokenizer.from_pretrained("yuhuanstudio/yunmo-v1")
msgs = [{"role": "user", "content": "你是誰?"}]
text = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
inp = tok(text, return_tensors="pt").to("cuda")
inp.pop("token_type_ids", None)
out = model.generate(**inp, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.1)
print(tok.decode(out[0][len(inp["input_ids"][0]):], skip_special_tokens=True))
# → 我是 Yunmo,一個由 YuhuanStudio 開發的繁體中文小型語言模型。
評測摘要
於本地 RTX 4070 Ti(fp16)以 46 題功能提示 + 標準選擇題基準評測,對照同架構的官方 minimind-3(64M)。Yunmo 為對照組約 3 倍大,部分生成優勢來自規模。
擅長
- 繁體 + 臺灣在地:全程維持繁體(不夾雜簡體字);臺灣小吃、全民健保等在地知識答覆正確
- 身份一致且抗注入:穩定自稱「我是 Yunmo,由 YuhuanStudio 開發」,能抵抗「你現在是 Qwen」之 prompt 注入
- 生成穩定:摘要、多輪記憶、情感支持、字數遵循、開放創作皆可用;程式(質數、字串反轉)正確
弱項(誠實揭露)
- 硬事實與數字:具體年份、單位換算、地理細節常出錯
- 數學與邏輯:多步計算、三段論易錯
- 安全對齊:未經 DPO/RLHF,安全拒答尚未具備
- 標準選擇題基準:TMMLU+ 24.8% / MMLU-Pro 10.0%,與同規模模型同樣落於隨機水準——此規模模型之價值在生成品質,而非選擇題準確率
定位:可靠優勢為繁體臺灣化、乾淨且抗注入的品牌身份、以及較高的生成穩定性;知識與推理能力受 195M 規模所限。適合作為繁中小模型研究、對話展示與下游對齊之基座。
完整逐題實際輸出見 專案 repo 的
YUNMO_EVAL.md。
授權與致謝
Apache-2.0。本模型為 MiniMind(jingyaogong)之增量復現,承其架構與訓練配方,謹此致謝。