最近的文章
从 DataLoader 到 Remote DataLoader:如何让 GPU 不再等待数据
·4765 字·10 分钟
起因:GPU 没吃满,但不是算力问题 # 最近组里有同学训练模型时,最直接的感受是:GPU utilization 上不去,step time 里总有一段在等数据。
从 AMP 到 Mixed Precision:训练和推理为什么不使用同一种精度
·5776 字·12 分钟
起因 # 以前在商汤做 CV 的时候,有一段时间在做目标检测模型的 INT8 量化。目标很直接:降低 inference latency,减少 model memory 和 bandwidth,同时利用 INT8 hardware throughput。
从 IEEE 754 到 BF16:理解 ML Infra 中的浮点精度选择
·6632 字·14 分钟
起因 # 上一篇讨论模型显存时,我直接用了一张表:
dtype bytes / param FP32 4 FP16 / BF16 2 INT8 ~1 当时关注的是 peak memory model,所以这张表只是作为 parameter memory 的输入,没有展开。
从参数量到 Peak Memory:模型显存到底应该怎么算?
·5253 字·11 分钟
起因 # 上一篇讨论了模型调度中的 Performance Constraint:一个模型放到 GPU 上以后,到底跑多快?
从 FLOPs 到 Latency:GPU 推理性能到底由什么决定?
·3136 字·7 分钟
起因 # 最近在做 CS336(Language Modeling from Scratch)的 resource accounting 作业,里面要求逐个列出 Transformer forward pass 中所有的 matmul,然后按 \(2MKN\) 计算 FLOPs。
从 CS336 的 xfail 看大型工程中的测试设计
·3497 字·7 分钟
起因 # 最近在学 Stanford CS336(Language Modeling from Scratch),做 tokenizer 作业时,第一次在测试代码里见到了 pytest.mark.xfail。
MoE 结构学习笔记:Expert 与 Gate 的几种关系
·5555 字·12 分钟
起因 # 机缘使然,最近在工作中接触到了 MoE(Mixture of Experts)。
有意思的是,我接触到的用法,和现在大模型里的 MoE 长得完全不一样。
[施工中] cupy与torch的导入顺序不同对计算结果的影响
·2486 字·5 分钟
背景 # 公司内部的基于torch的toolbox在某个版本之后,结果发生了偏移。通过一系列排查,发现当导入cupy和torch的顺序不同时,计算结果会有所差异。 也就是说,如下两段代码会导致模型训练等环节得到不同的计算结果。