Microgpt
3 months ago
- #python
- #machine-learning
- #gpt
- microgpt是一个仅用200行Python实现的最小化GPT模型,无第三方依赖
- 该项目包含数据集处理、分词器、自动微分引擎、类GPT-2架构、Adam优化器以及训练/推理循环
- 数据集包含32,000个名字,每个名字视为独立文档,模型学习生成类似名称
- 分词器将字符转换为整数ID,包含特殊的BOS(序列开始)标记
- 自动微分引擎从零实现,通过Value类进行反向传播梯度计算
- 模型架构包含嵌入层、多头注意力机制、MLP模块和残差连接
- 训练循环逐token处理文档,计算损失值,反向传播梯度,并使用Adam更新参数
- 推理过程通过温度控制从模型输出分布中采样生成新名称
- 该脚本在MacBook上约1分钟即可运行,展示了LLM核心算法而未做规模化优化
- 与生产级模型的主要差异包括:数据集规模、分词器复杂度、张量运算及训练后微调