专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
目录
相关文章推荐
今天看啥  ›  专栏  ›  GiantPandaCV

【ml-engineering 翻译系列】计算加速器之cpu

GiantPandaCV  · 公众号  · 3D  · 2024-11-13 23:09
    

主要观点总结

本文探讨了机器学习工作负载中CPU的使用情况,介绍了CPU核心需求和内存使用的计算方法,以及一些可能影响性能的因素。文章还讨论了如何选择适当的CPU核心数量,以及在使用Deepspeed等框架时需要注意的CPU卸载问题。

关键观点总结

关键观点1: CPU核心需求

每个加速器和DataLoader工作进程都需要专用的CPU核心。根据任务类型(如语言模型、计算机视觉模型等)和是否进行动态转换,选择合适的CPU核心数量。

关键观点2: CPU内存使用

通常每个节点的CPU内存应至少与GPU内存相当。主要使用场景包括加载模型权重、保存模型权重、使用框架如Deepspeed时的参数和优化器状态卸载等。

关键观点3: 影响性能的因素

NUMA亲和性、超线程等技术可能会影响性能。了解这些因素并相应调整配置,可以提高机器学习效率。

关键观点4: DataLoader的注意事项

使用mmap模式时可能会出现内存使用误判。了解这种情况并正确评估内存使用情况,以避免性能问题。


文章预览

我的课程笔记,欢迎关注:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode 本篇文档的来源:https://github.com/stas00/ml-engineering 。这篇文档主要探讨了机器学习工作负载中CPU的使用情况。它详细介绍了CPU核心需求的计算方法,强调每个加速器和DataLoader工作进程都需要专用的CPU核心。文档还讨论了CPU内存的使用,指出通常每个节点的CPU内存应至少与GPU内存相当,并列举了主要的内存使用场景。此外,文档还提到了NUMA亲和性、超线程等可能影响性能的因素,以及使用mmap模式时可能出现的内存使用误判。 CPU 截至本文撰写时,机器学习工作负载并不会大量使用CPU,因此本章内容不多。随着CPU的发展越来越像GPU,这种情况可能会改变,所以我预计本章内容会随着CPU的演进而发展。 你需要多少CPU核心 每1个加速器需要: 1个CPU核心用于与加速器绑定的进程 每个 DataL ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览