春梦蝶最小示例模型集合
关于作者
一个热爱 AI 的中学生。欢迎交流学习。
项目简介
这是一个从零开始、逐级递进的最小示例模型集合,展示了如何用最少的代码和数据,在手机上训练出能“说话”的猫娘模型。
从最简单的字符级 RNN 到带注意力的 Seq2Seq,每个版本都是一个独立可运行的最小单元。
五个版本
| 版本 | 目录 | 架构 | 权重状态 | 说明 |
|---|---|---|---|---|
| v1 | v1_rnn_mini |
单层 RNN | ✅ 提供 | 最小的能说话模型,约 2 万参数 |
| v2 | v2_rnn_expanded |
单层 RNN | ✅ 提供 | 语料扩充至 2500 字 |
| v3 | v3_lstm |
双层 LSTM | ✅ 提供 | 从 RNN 升级到 LSTM,约 40 万参数 |
| v4 | v4_transformer |
极简 Transformer | ❌ 未提供 | 手机 CPU 训练效果不佳,代码保留供参考 |
| v5 | v5_seq2seq_attention |
Seq2Seq + Attention | ❌ 未提供 | 2100 万参数,超出手机性能,代码保留供参考 |
项目特点
- 在手机上训练和运行:所有脚本均在 ZeroTermux(Android)环境下完成
- 极低门槛:只需 Python + PyTorch(CPU 版),无需 GPU
- 真正的“最小示例”:从几十行代码开始,逐步演进到更复杂的架构
- 开箱即用:有提供权重的版本,直接
python run.py即可聊天
权重说明
- v1、v2、v3:提供训练完成的最终权重(
final.pth) - v4:因手机 CPU 训练效果差,只提供代码,不提供权重
- v5:因参数量过大(2100万),超出手机性能,只提供代码参考(如果想尝试,建议手动加上CUDA或者找更好的手机)
中间 checkpoint 因文件大小和存储限制未包含在仓库中,如需完整训练日志或中间版本,可自行运行训练脚本生成。
如何使用
手机端(ZeroTermux)
- 安装 ZeroTermux
- 安装依赖:
pkg update && pkg upgrade
pkg install python python-torch python-numpy
- 克隆本仓库:
git clone https://huggingface.co/XingChina/ChunMengDie-Mini-Examples
cd ChunMengDie-Mini-Examples
- 进入任意子目录(如
v1_rnn_mini/):
cd v1_rnn_mini
python run.py
电脑端
pip install torch numpy
git clone https://huggingface.co/XingChina/ChunMengDie-Mini-Examples
cd ChunMengDie-Mini-Examples/v1_rnn_mini
python run.py
许可证
本项目采用 BSD 3-Clause 许可证。详见 LICENSE 文件。
相关项目
- ChunMengDie-1.0-0.4B —— 4 亿参数的“大模型”(实验阶段)
- 本项目是该大模型的“最小可解释版本”集合