GitHub 热门项目:smolGPT

摘要

GitHub项目:smolGPT 仓库地址:https://github。com/Om-Alve/smolGPT Stars:1472 | 作者:Om-Alve 项目描述:暂无描述 ================================================== README 内容: # SMOL-GPT。

and unicorn bash the Lily
2026-05-26 1 阅读 GitHub Trending
GitHub 项目:smolGPT 仓库地址:https://github.com/Om-Alve/smolGPT 星级:1472 | 作者:奥姆-阿尔维 项目描述:暂无描述 =================================================== 自述文件内容: # SMOL-GPT ? 一个最小的 PyTorch 实现,用于从头开始训练您自己的小型 LLM。专为教育目的和简单性而设计,具有高效培训、闪光注意力和现代采样技术。 ## 特点✨ - **最小代码库**:纯 PyTorch 实现,没有抽象开销 - **现代建筑**:GPT 模型具有: - 闪光注意(如果可用) - RMSNorm 和 SwiGLU - 高效的top-k/p/min-p采样 - 旋转嵌入 - RoPE(可选) - **培训特点**: - 混合精度(bfloat16/float16) - 梯度累积 - 学习率随着热身而衰减 - 权重衰减和梯度裁剪 - **数据集支持**:内置 TinyStories 数据集处理 - **自定义分词器**:SentencePiece 分词器训练集成 ## 安装?️ ````bash pip install -r 要求.txt ```` **要求**: -Python 3.8+ - PyTorch 2.0+ 与 CUDA - 现代 GPU(推荐) ## 快速开始? ### 选项 1:完整的训练周期 1. **准备数据集** ````bash python preprocess.py 准备数据集 --vocab-size 4096 ```` 2. **开始训练** ````bash 蟒蛇火车.py ```` *训练和验证损失记录在“out/logs/”中。要使用 TensorBoard 进行可视化,请运行:* ````bash 张量板--logdir=/out/logs ```` 3. **生成文本** ````bash python 示例.py \ --提示“从前”\ --num_samples 3 \ --温度0.7 \ --max_new_tokens 500 ```` ### 选项 2:使用预训练模型 1. **下载资源** ````bash # 下载分词器 wget https://huggingface.co/OmAve/TinyStories-SmolGPT/resolve/main/tok4096.model -P data/ # 下载预训练的检查点 wget https://huggingface.co/OmAlve/TinyStories-SmolGPT/resolve/main/ckpt.pt -P out/ ```` 2. **运行推理** ````bash python 示例.py \ --提示“从前”\ --tokenizer_path 数据/tok4096.model \ --ckpt_path out/ckpt.pt \ --num_samples 3 \ --max_new_tokens 200 \ --温度0.7 ```` ## 预训练模型详细信息 ? 提供的检查点是在 [TinyStories](https://huggingface.co/datasets/roneneldan/TinyStories) 数据集上进行训练的。 架构: - 4096 个标记词汇 - 8个头 - 8层变压器 - 512个嵌入尺寸 - 在“约 40 亿代币”上进行了约“18.5”小时的培训 验证损失 - `1.0491` ![损失曲线](assets/loss.png) ## 示例输出? ### 示例 1 ````文本 提示:有一天,莉莉遇到了一只独角兽 输出: 有一天,莉莉在公园里遇到了一只独角兽。独角兽有闪亮的皮毛和漂亮的裙子。莉莉问独角兽:“你从哪里来?” 独角兽回答道:“我来自森林,想见见你,莉莉。我来这里是为了确保你的安全。” 莉莉和独角兽一起玩耍,玩得很开心。但随后,独角兽开始表现得滑稽。莉莉不知道发生了什么事。突然,独角兽变成了一个小女孩,说道:“我中了咒语,你的好意打破了它。谢谢你打破了它。” 莉莉既惊讶又高兴。她给了大学