导读
动手对照之前,先讲清楚两件事:这一卷的数字怎么来,以及什么时候该选 candle。
- 怎么读这一卷:锁定的版本;一对对照程序怎么跑、
compare.py怎么逐个数比较;SmolLM2 最后一个位置的 49152 个 logits(最大 |ref| 20.6)两边最大差 2.98e-5 到 4.58e-5,为什么不是 0,容差为什么取 1e-4;三条主线每一步落在哪一页。 - 什么时候选 candle:同一个 SmolLM2 贪心生成,Python 加 torch 和 transformers 装好约 788 MiB、到第一个 token 2.10 秒、峰值 RSS 1121 MiB;candle 是一个 5.8 MiB 的二进制、0.13 秒、861 MiB,内存大头是权重本身。也写不该选的情况:训练只有 SGD 和 AdamW,
topk、masked_fill、nonzero、einsum在 candle-core 里没有,融合的sdpa没有 CPU 实现,也没有torch.compile那样的编译层。
flowchart TB read[怎么读这一卷] --> ver[锁定版本] read --> run["对照怎么跑"] read --> tol["对得上的标准"] read --> lines[三条主线] why[什么时候选 candle] --> size["体积 启动 内存"] why --> cov[算子覆盖] why --> notfit[不该选的情况]
💬 关联讨论
发起讨论加载中...