项目概述

tinygrad 是一个介于 PyTorch 和 micrograd 之间的深度学习框架,由 tiny corp 维护。它追求极简与可 hack,整个框架仅约 200 个 Python 源文件,却能支持从训练到推理的完整深度学习工作流。

tinygrad 的核心理念:深度学习不应该被框架的复杂性所束缚。保持小而美,让每个人都能理解并修改。

技术架构

Python CUDA Metal OpenCL WebGPU

核心组件

  • Tensor 库:类 PyTorch 的 Eager API,支持自动微分
  • IR 编译器:kernel 融合与 lowering,JIT + Graph 执行
  • 训练工具:nn、optim、datasets 等完整训练套件
  • LLM 推理:支持 GGUF 格式,可运行主流开源大模型

硬件后端支持

tinygrad 最惊艳的特性是其广泛的硬件支持:

  • NVIDIA CUDA / PTX
  • AMD ROCm / CDNA / RDNA3 / RDNA4
  • Apple Metal
  • OpenCL
  • Qualcomm QCOM
  • WebGPU
  • LLVM IR(CPU 优化)
  • ONNX 模型导入

关键特性

Lazy Execution & Kernel Fusion

设置 DEBUG=34 可查看融合后的 kernel 和生成代码。JIT 捕获 + kernel 重放,大幅减少计算图开销。

BEAM Search 性能优化

自动搜索最优 kernel 配置,针对不同硬件调优。

Process Replay 测试

跨变更比较生成 kernel,确保代码改动不会引入性能退化。

学习价值

tinygrad 是学习深度学习框架内部机制的绝佳教材。从自动微分到 GPU 代码生成,每一个环节都清晰可见,没有过度抽象。

深度学习 AI框架 开源