导读
动手对照之前,先讲清楚两件事:这一卷的数字怎么来,以及什么时候该用 tenferro。
- 怎么读这一卷:锁定的版本;一对对照程序怎么跑、怎么逐个数比较;f(x) = Σ sin(x)·x² 的梯度两边最大差 4.4e-16(1 个 ulp),来源是 sin / cos 的实现和
jit融合出的 FMA;tenferro 换线程数,reduce_sum和 SVD 的末位也会变;容差怎么定;三条主线每一步落在哪一页。 - 什么时候用 tenferro:20 步 TRG 求值加梯度,JAX
jit222–253 ms,tenferro 分段 8 线程 441–472 ms、单线程 913–948 ms;交付物是 21.3 MiB 的二进制对约 409 MiB 的 Python 环境,进程内到第一个梯度约 0.5 ms 对约 0.28 s。也写该留在 JAX 的情况:没有vmap、lax.scan、随机数和 pytree,求导变换在长图上随深度指数增长,Mac 上没有 GPU。
flowchart TB read[怎么读这一卷] --> ver[锁定版本] read --> pair["一对对照程序"] read --> tol["对得上的标准"] read --> lines[三条主线] why[什么时候用 tenferro] --> speed["TRG 与小函数的速度"] why --> ship["体积与冷启动"] why --> lack["JAX 有它没有的"]
💬 关联讨论
发起讨论加载中...