--- license: bsd-3-clause language: - zh - en pipeline_tag: text-generation tags: - chinese - rnn - lstm - transformer - seq2seq - tutorial - educational - cpu - mobile --- # 春梦蝶最小示例模型集合 ## 关于作者 一个热爱 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) 1. 安装 [ZeroTermux](https://github.com/hanxinhao000/ZeroTermux) 2. 安装依赖: ```bash pkg update && pkg upgrade pkg install python python-torch python-numpy ``` 3. 克隆本仓库: ```bash git clone https://huggingface.co/XingChina/ChunMengDie-Mini-Examples cd ChunMengDie-Mini-Examples ``` 4. 进入任意子目录(如 `v1_rnn_mini/`): ```bash cd v1_rnn_mini python run.py ``` ### 电脑端 ```bash 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](./LICENSE) 文件。 ## 相关项目 - [ChunMengDie-1.0-0.4B](https://huggingface.co/XingChina/ChunMengDie-1.0-0.4B) —— 4 亿参数的“大模型”(实验阶段) - 本项目是该大模型的“最小可解释版本”集合