开源推荐
morning
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`

## 示例输出?
### 示例 1
````文本
提示:有一天,莉莉遇到了一只独角兽
输出:
有一天,莉莉在公园里遇到了一只独角兽。独角兽有闪亮的皮毛和漂亮的裙子。莉莉问独角兽:“你从哪里来?”
独角兽回答道:“我来自森林,想见见你,莉莉。我来这里是为了确保你的安全。”
莉莉和独角兽一起玩耍,玩得很开心。但随后,独角兽开始表现得滑稽。莉莉不知道发生了什么事。突然,独角兽变成了一个小女孩,说道:“我中了咒语,你的好意打破了它。谢谢你打破了它。”
莉莉既惊讶又高兴。她给了大学