让 GPT 模型训练变得简单有趣!一个基于 karpathy/nanoGPT 的可视化训练平台。
Mini-NanoGPT 是一个帮助你轻松入门 GPT 模型的工具。无论你是:
- 🎓 深度学习初学者
- 👨🔬 研究人员
- 🛠️ 开发者
亦或只是对这个感兴趣,想体验一下大模型的魅力,
都能通过简单的图形界面完成模型训练!
- 📱 可视化界面:告别命令行,用鼠标点点就能完成训练
- 🌍 中英双语:完整的中英文界面支持
- 🎯 一键操作:数据处理、训练、生成文本都能一键完成
- 🔤 灵活的分词:支持字符级和 GPT-2 分词器(对英语支持更佳)
- 🚄 高效训练:支持多进程加速和分布式训练
- 📊 实时反馈:训练过程实时显示进度和效果
- ⚙️ 参数可视化:所有训练参数都能在界面上直接调整
# 克隆仓库
git clone --depth 1 https://github.com/ystemsrx/mini-nanoGPT.git
cd mini-nanogpt
# 安装依赖(Python 3.7+)
pip install -r requirements.txt
python main.py
打开浏览器访问显示的链接,就能看到训练界面了!(一般是 http://localhost:7860)
- 打开"数据处理"页面,选择或粘贴你的训练文本并选择分词方式。对于英文文本如果想要更好的效果可以使用GPT-2的分词器,对于中文可以保持默认即可。
- 如果你暂时不想使用验证集,可以勾选“暂不使用验证集”。
- 完成后点击"开始处理"。 这里我用一小段文本来举例:
- 切换到"训练"页面,根据需要调整参数(如果只是想体验,可以保持默认值)。
- 程序支持实时显示训练集和验证集的损失曲线。如果在第一步中你生成了验证集,理论上下方损失曲线处会出现两条,蓝色为训练集损失曲线,橙色为验证集损失曲线。
- 如果只显示了1条曲线,请检查终端输出,如果有类似这样的输出
说明你设置的block size比你的验证集大,请将它的大小调小,例如128。
Error while evaluating val loss: Dataset too small: minimum dataset(val) size is 147, but block size is 512. Either reduce block size or add more data.
- 这样你应当能够正常的看到两条动态变化的曲线。
- 点击"开始训练",等待模型训练完成
- 这个模式能够让你评估模型在验证集上的损失。请将
评估种子数量 (Number of Evaluation Seeds)
调为大于0的任意值,将开启仅评估模式。你能看到模型在使用不同种子上的损失。
- 进入"推理"页面
- 输入一段开头文字
- 点击"生成",看看模型会写出什么!
mini-nanogpt/
├── main.py # 启动程序
├── config/ # 配置文件
├── data/ # 数据处理及保存
├── models/ # 模型定义
├── trainer/ # 训练相关
├── inference/ # 推理生成
└── app/ # 界面相关
- 💡 可以减小 batch_size 或模型大小
- 💡 使用 GPU 会大大加快速度
- 💡 将评估间隔调大
- 💡 试试增加训练数据量
- 💡 适当调整模型参数
- 💡 改变生成时的温度参数
- 💡 在“训练页面”中的“初始化方式”中选择"resume"
- 💡 指定之前的输出目录即可
欢迎提出建议和改进!可以通过以下方式参与:
- 提交 Issue
- 提交 Pull Request
- 分享你的使用经验
本项目采用 MIT License 协议开源。
🎉 开始你的 GPT 之旅吧!