CS 学生用 Rust 复刻 PyTorch:未改动 nanoGPT 逐位一致,体积仅 2MB
Mental-Feature-2377 · reddit · 2026-10-17
一名 CS 学生开发了 DenseCore——一个带 PyTorch 风格 Python API 的 Rust 深度学习框架,最硬核的成果是:把 import torch 指向它后,karpathy 的 nanoGPT 跑出与 PyTorch 逐位完全相同的结果——相同初始权重、loss、梯度和权重(50 步全对上,连 dropout 开着都一致),不是“接近”而是字面相同。
过程中踩到的坑很有信息量:PyTorch CPU attention 不是教科书公式而是 flash attention kernel、dropout 开启时切换路径;adam 因编译器尾循环融合在每线程 chunk 末尾几个元素上舍入不同;clipgradnorm 实际用 reciprocal() × maxnorm 而非除法。更意外的是 PyTorch 跨机器都不自一致:同版本 mac vs linux x86,26 个 op 里只有 1 个逐位相同,所以他的框架只在 Apple Silicon Mac 上逐位匹配。
体积约 2MB,对比 PyTorch 约 580MB。他在纠结方向:继续复刻、做成 serverless/CI 场景的轻量 CPU 替身,还是做成解释两次 PyTorch 运行为何结果不同的工具,征求社区毒舌意见。
「研究」频道最新
- 仅 1 克!无线微型显微镜实现自由活动小鼠全皮层单细胞成像 — KordingLab · 2026-10-23
- Mike Frank 抛出超导可逆计算难题:能否用无偏置约瑟夫森结凑齐 BARCS 通用原语集 — MikePFrank · 2026-10-23
- Arc Institute 用基因组语言模型绘制原核非编码序列图谱 — tedgreenwald · 2026-10-23
- 同行评审的 AI 化:审稿人终于「进入附录」了 — abursuc · 2026-10-23
- Anthropic 用 Claude 为 100+ 开源库写下汇编级安全形式化证明 — AnthropicAI · 2026-10-23
- 研究提出 9 种策略为多 LLM 协作选模型,最优可超随机 36.1% — shangbinfeng · 2026-10-23