--- license: apache-2.0 library_name: transformers tags: - text-generation - chat - chinese - hybrid-attention - kda - mla --- # Sophia Sophia 是一个 ~1B 参数的中文对话模型,在单张 RTX 5090(32GB)上从零训练完成:随机初始化预训练 20B tokens → SFT → DPO。完整谱系、评测证据与训练报告随包附带(`REPORT.md`、`lineage.json`、`eval/`)。 | | | |---|---| | 参数量 | 1,012,630,480 | | 架构 | 28 层 dense Hybrid decoder:`[KDA, KDA, KDA, Gated-MLA] × 7`,NoPE | | 上下文 | 4,096 | | 预训练 | 20B tokens,15,259 步,seed 42,BF16 + Muon/AdamW | | 硬件 | 单张 NVIDIA RTX 5090 32GB | ## 特性 - **自适应思考**:`…` 推理草稿是否生成由模型逐轮自行决定(自发率 ~5%)。1B 尺度下 think 在 math/code 上反而扣分(见 `REPORT.md` §3),模型自己学会了什么时候不想 - **人格宪法**:行为规范收敛为独立文件 `configs/sft/sophia_persona.md`——不说"我没有感情"、确定问题第一句给答案、约束逐轮登记 - **诚实评测**:所有结论基于 powered 判定(134 题 × 16 采样 × 配对 t 检验,SE ±1.1);零结果实验(RFT/GRPO/DPO-2)同样如实记录在 `REPORT.md` ## 用法 需要 `transformers>=4.56` 与 `trust_remote_code=True`(自定义架构 SophiaForCausalLM,remote code 随仓分发): ```python from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("Arain119/sophia", trust_remote_code=True) m = AutoModelForCausalLM.from_pretrained( "Arain119/sophia", dtype="bfloat16", device_map="cuda", trust_remote_code=True ) ids = tok.apply_chat_template( [{"role": "user", "content": "你好"}], add_generation_prompt=True, return_tensors="pt", ).to("cuda") out = m.generate(ids, max_new_tokens=200, temperature=0.7, top_p=0.92, do_sample=True) print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)) ``` GPU 上建议 `pip install flash-linear-attention>=0.5.2` 启用 KDA 融合内核;未安装时 `kda_backend="auto"` 自动回退 reference 路径(可用,较慢)。CPU 推理走 reference 路径(慢)。 ## 评测速览 - powered n16 探针(claude-haiku-4-5 判官):judge_mean **51.37**,pass_70 0.352,hit_eos 0.975,distinct4 0.928;相对 SFT 父模型 **+2.10**(t=+3.71, p<0.001),失败模式 flag 全面下降 - 同档对照(同一管线、同一数据、同一判分,无官方公布值混入):SophiaBenchmark 134 题判官分 51.25,高于 Llama3.2-1B(48.09)与 Qwen2.5-0.5B(50.35),同档第 4 - 已知限度:IFEval 12.2%(系统性落后同档基线)、NIAH 62.5% 且随深度衰减、深多轮 judge_mean 27.93 为最弱段、MC 基准(MMLU/CMMLU 似然法)贴近随机——1B 模型对 ABCD 符号有位置先验 - 完整数字、失败样本与机制分析见 `REPORT.md`;逐题明细在源码仓 `ops/eval/public_benchmarks/` ## 训练谱系 ``` pretrain(20B, 契约跑满) → sft(88,267 行 × 3ep, epoch3 选中) → dpo(1,953 对, β=0.1, 500 步) = 本仓权重 ├─ rft(104 步, 零结果) 未发布 └─ grpo+dpo2(链式实验, 未过门) 未发布 ``` `lineage.json` 含各阶段 run、checkpoint、数据与种子的完整指针。 ## 相关仓库 - 源码:GitHub `Arain119/Sophia`,或随包 `sophia-1.0.0.bundle`(单提交导出,`git clone` 即可取回全部代码) - 原生权重 + 文档:`sophia.pt`(PyTorch checkpoint)、`sophia_sft.pt`(SFT 父基线)、`REPORT.md` - 训练数据:ModelScope `Arain119/Sophia-dataset`(`pretrain/` token 分片 ~80GB + `corpus/` SFT 语料 426MB) ## 许可证 模型权重与代码 Apache License 2.0。训练数据见 `Arain119/Sophia-dataset`:`corpus/` 为 Apache-2.0;`pretrain/` 上游含非商用研究来源,使用限制以其 `lineage/` 与 README 为准。 `` 输出为生成文本,不保证忠实反映内部推理过程。