2 Downloads Updated 8 hours ago
ollama run wangshen/wsai-math
ollama launch claude --model wangshen/wsai-math
ollama launch opencode --model wangshen/wsai-math
ollama launch hermes --model wangshen/wsai-math
ollama launch openclaw --model wangshen/wsai-math
WSAI-Math 是由 WSAI 开发的数学推理大语言模型,基于 Qwen/Qwen3.5-0.8B 后训练而成:以 DeepSeek deepseek-v4-flash 为教师进行长思维链(long chain-of-thought)蒸馏冷启动,训练数据每一条都经过最严格原始口径判分验证,并对评测集实施 8-gram 去污染。
ollama run wangshen/wsai-math| 项 | 值 |
|---|---|
| 基座 | Qwen3.5-0.8B(0.85B 参数;Qwen3-Next 风格混合线性注意力架构:Gated DeltaNet 线性注意力与全注意力按 3:1 交错,24 层,GQA 8H/2KV,head_dim 256,词表 248,320,原生上下文 262,144) |
| 参数量 | 878,544,960(其中可训练 25,559,040,占 2.91%) |
| 权重精度 | bfloat16(LoRA 合并后的全量权重,model.safetensors 1.7GB) |
| 训练方法 | LoRA SFT(r=64, α=128, dropout=0,注入全部 q/k/v/o/gate/up/down 投影)→ merge_and_unload 导出 |
| 训练数据 | WSAI-Math-Distill v1.0 的 1,410 条子集(自 3,867 条严格验证样本按固定种子抽样) |
| 训练量 | 50 个优化步(有效 batch 16,共见约 800 条样本,1,410 条中的 57%) |
| 验证损失 | val_loss = 0.711(固定 1% 验证集,n=14,与训练 loss 同步下降,无过拟合) |
OpenR1-Math-220k(93,733 题,AoPS/竞赛来源,Apache-2.0)
│ 题面清洗:去空 / md5 去重 / 长度过滤(≤2500字符) / 来源筛选(amc_aime·olympiads·aops_forum)
▼
候选题池
│ 8-gram 去污染 vs AIME2024(30) + AIME2025(30) + HLE文本全集(2,158)
│ ——指纹 264,265 个,剔除 3,444 题
▼
干净题库(6,245 题,均带 gold 标准答案)
│ DeepSeek v4-flash 逐题蒸馏(thinking 模式,max_tokens=16384,共 6,449 次求解)
▼
严格判分(见下)—— 61% 通过 → 3,867 条验证正确(WSAI-Math-Distill)
│ 固定种子抽样 1,410 条 + 质量过滤(reasoning 800–30,000 字符)
▼
LoRA SFT(50 步)→ 合并导出 → WSAI-Math
严格判分协议(训练数据与评测同口径):
\boxed{...} 的内容作为预测;\text{} 包裹、不剥选项字母、不提取子串数字、无模糊匹配——格式不同即判错,宁缺毋滥。协议:thinking 模式,Qwen 官方采样参数(temperature=1.0, top_p=0.95, top_k=20, min_p=0),每题 1 采样,最大生成 5120 token,批生成,本地 CPU bf16 推理。
| 基准 | WSAI-Math | 基座 Qwen3.5-0.8B | 提升幅度 |
|---|---|---|---|
| AIME 2024 (avg@1) | 3.3% | 0.0% | +3.3pp |
| AIME 2025 (avg@1) | 0.0% | 0.0% | — |
行为学对比(同协议,更显著的差异):
| 观测项 | WSAI-Math | 基座 Qwen3.5-0.8B |
|---|---|---|
| AIME24/25 截断率 | 43% / 77% | 100% / 100%(60/60 全部打转至 5120 上限) |
| 平均输出长度 | 3,552 / 4,328 tok | 5,120 / 5,120 tok(全部打满) |
| 思维链风格 | 教师化:简练、直奔要点、复核关键计算、\boxed{} 收尾、干净终止 |
大量”Wait…”原地循环,无法收敛 |
| 简单数学(如 17×23) | 146 token 直出 \boxed{391} |
数百 token 徘徊后勉强作答 |
ollama run wangshen/wsai-math:latest
from transformers import AutoTokenizer, AutoModelForImageTextToText
import torch
tok = AutoTokenizer.from_pretrained("WSAI-Math")
model = AutoModelForImageTextToText.from_pretrained(
"WSAI-Math", dtype=torch.bfloat16, device_map="cpu")
messages = [{"role": "user", "content": "您的数学题"}]
text = tok.apply_chat_template(messages, tokenize=False,
add_generation_prompt=True, enable_thinking=True)
inputs = tok(text, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=5120,
do_sample=True, temperature=1.0, top_p=0.95, top_k=20)
思维链位于 <think>...</think>,最终答案以 \boxed{...} 给出。
<think> 思维链 + 解答),prompt 全掩码;deepseek-v4-flashApache-2.0