简体中文 | English
主要使用PyTorch和尽量少的依赖,从零开始实现LLM的结构与训练方法。 其中许多代码来源于我的这个仓库
这是一个以个人学习大模型结构与训练过程为目的建立的项目,主要用于学习与分享。项目坚持从零手搓的理念,除了PyTorch外尽可能地减少对其他库的依赖,同时避免对已有开源llm代码的复制粘贴,通过纯手工实现来深入理解大语言模型的核心机制。
- 🧠 思路清晰:代码注释详细,便于学习理解
- 🔧 手工实现:核心组件均为手动实现,不依赖高级封装
- 📚 结构清晰:模块化设计,逐步构建完整的LLM
- 💡 实践性强:可运行的完整实现,不仅仅是理论
SimpleLLM/
├── model/ # 模型结构定义
│ ├── module.py # 基础模块 (MHA, FeedForward, etc.)
│ └── model.py # 模型定义
├── train/ # 训练相关脚本
├── utils/ # 工具函数
│ └── mask.py # mask生成相关
├── outputs/ # 训练输出文件夹
├── cli.py # 命令行接口
├── README.md # 项目说明
└── README-en.md # 英语版项目说明
- Multi-Head Attention - 多头注意力机制
- Multi-Query Attention - 多查询注意力 (MQA)
- Group-Query Attention - 分组查询注意力 (GQA)
- RoPE - 旋转位置编码
- Feed Forward - 前馈网络
- Layer Normalization - 层归一化
- RMS Normalization - RMS归一化
- TinyLlama3 - 缩小规模的llama3模型
...
.........本项目采用 MIT License 开源协议。
- GitHub: @GlowLED
- 如有问题欢迎提Issue讨论
⭐ 如果这个项目对您的学习有帮助,欢迎给个Star!