ModelHub XC 59c5549db5 初始化项目,由ModelHub XC社区提供模型
Model: MoshiQAQ/qwen3-4b-merge-practice-merged
Source: Original Platform
2026-10-28 04:04:18 +08:00

base_model, library_name, license, tags
base_model library_name license tags
Qwen/Qwen3-4B-Instruct-2507 transformers apache-2.0
model-merging
task-arithmetic
lora
practice

Qwen3-4B 三专家合版模型(练手实验)

这是一个练手实验的产物,不是可用于生产的模型。 基座 Qwen/Qwen3-4B-Instruct-2507 @ cdbee75f17c01a7cc42f958dc650907174af0554, 在上面分别训练数学、科学、代码三个 LoRA 专家,再把它们在 ΔW 空间相加,得到这个完整权重模型。

合版配方

method: linear          # 任务算术:W = W0 + Σ λᵢ·ΔWᵢ,ΔWᵢ = Bᵢ·Aᵢ·(α/r)
weights: {math: 1.0, science: 1.0, code: 1.0}
density: 1.0
seed: 0

配方是在三个开发集(每个领域各取 100 题,与评测集去污染隔离)上从 4 个候选里选出来的: linear λ=0.5 / 1.0、TIES(density 0.5)、DARE-TIES(density 0.5);评测集没有参与选择。

配置 dev 数学 dev 科学 dev 代码 平均
Base 67 79 34 60.0
linear λ=0.5 61 80 38 59.7
linear λ=1.0 69 82 39 63.3
TIES d=0.5 66 78 34 59.3
DARE-TIES d=0.5 63 82 39 61.3

专家

LoRA r=32、alpha=64、作用于全部线性层;lr 1e-4,2 个 epoch,有效 batch 16。 训练数据由 Base 自己拒绝采样(RFT)得到,只保留判分正确的回答:

专家 题目来源 训练条数 平均回答 token
math NuminaMath-CoT 370 约 1,400
science nvidia/OpenScience 1,671 341
code BAAI/TACO(stdin 题) 938 约 1,700

专家 adapter 见 https://huggingface.co/MoshiQAQ/qwen3-4b-merge-practice-adapters。

评测结果

采样参数 temperature 0.7、top_p 0.8、top_k 20,单条回答最多 16,384 token。 方括号内为对题目做 bootstrap 得到的 95% 置信区间;Δ 是与 Base 在相同 seed 上的配对差值。

模型(seed 数) MATH-500 GPQA-Diamond LCB v6(175 题) 宏平均
Base(3) 94.2 [92.4, 95.9] 41.8 [35.9, 47.6] 32.8 [26.3, 39.2] 56.2
本模型(3) 94.2 [92.3, 95.9](Δ +0.0) 41.2 [35.4, 47.3](Δ −0.5) 35.0 [28.4, 41.7](Δ +2.3) 56.8
联合对照:三领域数据训练一个 LoRA(3) 94.2(Δ +0.0) 41.2(Δ −0.5) 32.6(Δ −0.2) 56.0

结论:与 Base 的差距都在置信区间内,没有统计显著的提升。合版后模型输出明显变长 (GPQA 平均输出 853 token,Base 为 453),代码题的截断率从 0.8% 升到 9.1%。

局限

  • 训练数据量很小,而且由 Base 自己生成,所以专家相对 Base 的变化本来就很小(验证损失 0.08–0.13)。
  • 代码专家只见过 stdin 题,没有见过 LeetCode 式的函数题。
  • 科学训练题来自 OpenScience(CC-BY-4.0),其参考答案由模型多数投票得到,可能有错; 发布方说明使用该数据训练的模型可能受 Qwen 许可约束。

加载

from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("MoshiQAQ/qwen3-4b-merge-practice-merged")
model = AutoModelForCausalLM.from_pretrained("MoshiQAQ/qwen3-4b-merge-practice-merged", dtype="bfloat16")
Description
Model synced from source: MoshiQAQ/qwen3-4b-merge-practice-merged
Readme 13 MiB