TrenTorch/TrenTorch

Learn PyTorch by building your own. (inspired from Harvard's TinyTorch)

Tren⚡Torch – 用于学习内部原理的从零开始的机器学习框架

是什么 – TrenTorch 是一个完全基于 NumPy 的开源教育型深度学习库。它重写了经典的 TinyTorch 课程(哈佛 CS249r),并扩展了更多模块,从基础张量到完整的基于 Transformer 的 LLM、性能分析、量化和基准测试。代码库不包含任何外部深度学习依赖(无 PyTorch、TensorFlow、JAX 等);所有操作、自动微分引擎、优化器和层均手工编写。

为何存在 – 作者希望学习者能真正“拥有”现代 ML 堆栈的每一个部分。通过自己构建框架,他们可以清晰地看到 loss.backward() 如何工作、内存如何分配,以及生产级优化如何应用。该项目定位为一个渐进式课程:从张量开始,逐步添加卷积、注意力机制,最终实现 LLM 操作。


核心功能(如 README 所述)

领域 你将获得
基础(模块 01–08) 张量类、激活函数、线性层、损失函数、数据加载器、自动微分、优化器(SGD、Adam、AdamW、Lion、Muon)、训练循环。
视觉(模块 09) Conv2dMaxPool2d、可在标准图像基准上运行的完整 CNN 流水线。
语言(模块 10–13) 分词器、嵌入层、多头注意力、用于 GPT 风格语言模型的完整 Transformer 块。
优化(模块 14–20) 性能分析工具、量化、剪枝与蒸馏、硬件特定加速辅助、KV 缓存记忆化、基准测试套件,以及整合所有内容的毕业项目。
CLI(tren 一个命令行界面,用于搭建模块工作流、运行里程碑、导出模型并启动 Jupyter 笔记本。
历史里程碑 脚本可让你使用刚刚构建的框架重现标志性成就(感知机、XOR、反向传播、CNN、Transformer、MLPerf 风格基准测试)。

快速安装

# 克隆并设置虚拟环境
git clone https://github.com/TrenTorch/TrenTorch.git
cd TrenTorch
python3 -m venv .venv
source .venv/bin/activate   # Windows 上使用 .venv\Scripts\Activate.ps1
pip install -r requirements.txt
pip install -e .            # 以可编辑模式安装包
tren setup   # 将 `tren` 命令添加到 PATH
tren          # 启动 CLI

README 指出,在执行 tren setup 后,你可以在任何终端中无需再次激活虚拟环境直接运行 tren


目标受众与使用场景

  • 希望深入、动手理解现代深度学习框架构建方式的 学生与自学者
  • 寻找从底层张量操作到生产级 LLM 流水线的渐进式课程的 教育者
  • 对在极简代码库中进行性能分析、量化等技巧感兴趣的 工程师
  • 希望使用轻量级、仅依赖 NumPy 的栈进行实验,避免安装重型库的 黑客

项目状态

  • 所有 20 个模块均已实现,并配有单元测试和集成测试。
  • CLI、文档和里程碑脚本均正常运行。
  • 持续工作集中在文档完善、边缘情况加固和性能调优。
  • 未来路线图包括社区排行榜、更多里程碑练习和更广泛的基准测试。

许可与社区

  • 采用 MIT 许可证(宽松,允许商业使用)。
  • 欢迎贡献;行为准则由 Contributor Covenant 规范。
  • Team Engineers 部分列出了当前维护者,并显示实时生成的贡献者徽章。

总结

TrenTorch 是一个真实、持续维护的开源项目,提供一个完整的、仅依赖 NumPy 的深度学习框架,适用于学习和实验。它文档齐全、测试覆盖充分,并组织为一个逐步推进的课程,最终目标是构建和优化现代模型,如 Transformer 和 LLM。

相关

  • 项目
  • 项目
  • 项目
  • 项目