dgcrxs/OpenMythos-100M-Mixed
1
OpenMythos-100M-Mixed
模型简介
这是首个基于 OpenMythos 开源架构的公开预训练 checkpoint 系列。 OpenMythos 实现了循环深度变换器(Recurrent-Depth Transformer, RDT), 通过在核心计算模块中引入循环机制来扩展模型深度。
该模型具有约 112.9M 参数,在 六个领域的混合数据上完成了两阶段预训练(30K + 50K 步,共 80K 步)。 全部训练在消费级硬件 NVIDIA GeForce GTX 1050 Ti (4GB) 上完成。
模型架构
训练数据
模型在以下六个领域的混合数据上训练(使用 interleave_datasets 流式交错采样):
阶段2 调整了数据配比:降低了小说权重,提高了法律、医学和百科的占比,使模型更好地学习专业知识。
训练历程
模型分两阶段训练,总计 80,000 步:
训练超参数
评估结果
所有评估使用相同的数据配比和随机种子。验证 loss 越低越好。
关键发现:
- 第二阶段新增 50K 步训练带来了 5.8% 的验证 loss 降低,说明模型仍在有效学习。
- 调整数据配比(强化专业领域)的同时,验证 loss 持续下降,证明配方改进有效。
- 在仅使用 4GB 显存的消费级 GPU 上,将 100M 模型训练到可用水平是完全可行的。
深度外推能力
OpenMythos 架构的核心优势是推理时可使用与训练时不同的循环深度。 以下是 80K checkpoint 在不同 n_loops 下的表现:
深度外推分析:
- nloops=4 相比 nloops=1 有 2.29 的巨大优势,证明循环深度机制在有效工作。
- 从 30K 到 80K,n_loops=1 vs 4 的差距从 1.0 扩大到 2.29,说明模型越来越依赖多次循环。
- n_loops=8/16 目前略差于训练深度(4),这是正常的——模型需要在推理时见过的循环次数上表现最好。
- 未来若在不同 n_loops 下进行多深度训练,有望实现更强的深度外推。
使用方法
环境要求
pip install torch datasets loguru
git clone https://github.com/kyegomez/OpenMythos.git
cd OpenMythos
pip install -e .
### 加载模型
import torch
from open_mythos import OpenMythos
from open_mythos.main import MythosConfig
from open_mythos.tokenizer import MythosTokenizer
# 配置模型(必须与训练时一致)
cfg = MythosConfig(
vocab_size=199998,
dim=512,
n_heads=8,
n_kv_heads=4,
max_seq_len=256,
max_loop_iters=4,
prelude_layers=2,
coda_layers=2,
attn_type="gqa",
n_experts=4,
n_shared_experts=1,
n_experts_per_tok=2,
expert_dim=256,
lora_rank=8,
rope_theta=500000.0,
dropout=0.0,
kv_lora_rank=256,
q_lora_rank=512,
qk_rope_head_dim=32,
qk_nope_head_dim=64,
v_head_dim=64,
)
# 加载模型(推荐使用 80K checkpoint)
model = OpenMythos(cfg)
model.load_state_dict(torch.load("mythos_100m_mixed_80k.pt", map_location="cpu"))
model.eval()
# 推理
tokenizer = MythosTokenizer()
prompt = "Question: What are the symptoms of diabetes?\nAnswer:"
ids = tokenizer.encode(prompt)
x = torch.tensor([ids])
with torch.no_grad():
output = model.generate(x, max_new_tokens=100, n_loops=4, temperature=0.8)
print(tokenizer.decode(output[0].tolist()))
## 预期用途与限制
预期用途:
作为基础模型,用于微调特定领域的任务(如法律文书、医学问答等)
为研究者提供探索 RDT 架构学习动态的平台
作为教学工具,展示如何在小规模 GPU 上训练自定义架构的模型
作为 OpenMythos 架构的首个公开社区 checkpoint 系列
局限性:
由于模型规模和数据量的限制,生成的事实性知识可能不准确
不建议直接用于生产环境
模型在处理长程依赖和高度复杂的推理任务时仍有局限
当前版本仅支持 256 token 上下文,长文本能力有限
后续计划
30K 基础预训练
80K 强化专业领域训练(数据配比优化)
超算上继续训练(seq_len=1024, batch_size=2)
64GB 卡长上下文训练(seq_len=2048)
领域微调版本(法律专版、医学专版等)
模型量化(int8/int4)以支持更广泛的部署
致谢
感谢 Kye Gomez 开源 OpenMythos 架构
感谢 DeepSeek 及其他 AI 助手提供的技术支持
感谢开源社区提供的工具和数据集
特别感谢 Hugging Face 和所有数据集作者
引用
如果你使用了该模型或本训练配方,欢迎引用:
@misc{openmythos-100m-mixed,
author = {dgcrxs},
title = {OpenMythos-100M-Mixed: A 100M Recurrent-Depth Transformer Trained on Multi-Domain Data},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/dgcrxs/OpenMythos-100M-Mixed}},
}
许可证
本项目采用 Apache 2.0 许可证。
联系
如有问题或建议,欢迎在 GitHub Issues 或本仓库的讨论区留言。