CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态

语言: CN / TW / HK

1. PyTorch 创始人:Transformer 的流行可能是一把双刃剑

要说 Transformer 有多厉害,比如 OpenAI 重磅推出的 GPT-3,就是基于 Transformer 实现的。至于传播速度方面,短短 5 年,Transformer 便在 TensorFlow 、PyTorch 等主流深度学习框架支持的 AI 程序中占据一席之地。

不过与高调宣传 Transformer 的学者不同,这次 PyTorch 创始人、Meta 杰出工程师 Soumith Chintala 却唱起了反调,并警告说,Transformer 如此流行,可能是一把双刃剑。

链接: https://mp.weixin.qq.com/s/ZgdP3HFM4jZsWZfJvciQ3A

2. MAIProf:Meta 生产 PyTorch 模型的性能调试工具

PyTorch 在生产环境中的性能调优越来越重要。一个功能强大的性能调试工具是这个过程的关键。通过一个关于生产模型的案例研究,PyTorch 证明 MAIProf 是一个用于识别优化机会的强大 AI 性能调试基础架构。

在 Meta,从性能调试新手到专家的 100 多名工程师使用 MAIProf 来识别更多类型的瓶颈。其中包括缓慢的数据加载、分布式训练问题(例如负载不平衡和过度通信)。MAIPprof 涵盖了包括推荐、视觉和自然语言处理等主要类别模型。总之,它现在是生产 PyTorch 工作负载时调试性能的不可或缺的工具。

链接: https://pytorch.org/blog/performance-debugging-of-production-pytorch-models-at-meta/?utm_source=organic_social&utm_medium=linkedin&utm_campaign=performance_debugging

3. 精度、耗时、显存消耗、网络结构...一行代码深度解析训练性能指标

正所谓“工欲善其事,必先利其器”, 一个能实时监控模型训练指标、硬件性能消耗情况、可视化网络结构和每层网络参数变化的工具可大幅缩减模型开发时间,推动人工智能技术快速应用落地。

飞桨可视化分析工具 VisualDL 以丰富的图表及清晰的可视化解析功能帮助开发者直观地理解深度学习模型训练过程中的各项信息。

链接: https://mp.weixin.qq.com/s/Vi6erY48x8IUU1rQNw95Uw

4. 视频教程|OneFlow 源码解析(2):OneFlow 的 4 种执行模式

OneFlow 的执行模式有 2 个维度,其一可从计算图执行方式划分,可分为静态图模式、动态图模式;其二可从张量类型划分,即单机单卡的 local tensor 模式,以及分布式训练下的 global tensor 模式。这两个维度可以组合得到 4 种执行实际情况。OneFlow 提供给用户的接口又是尽量统一的。

本视频将介绍 OneFlow 如何在运行时判断应该使用哪种模式。如何做到用户尽可能易用、无感于多种模式的差别,同时又能尽量发挥每种模式的特点。

链接: https://www.bilibili.com/video/BV17P411G76y/?spm_id_from=333.999.0.0&vd_source=25c3e9bdd8a5701b69d322f471c11c38

5. SIMT、SIMD 和 DSA(2)

SIMD 和 DSA 以及 SIMT 这些词虽然经常放到一起说,但三者的指代比较混乱,很容易产生文字游戏。有时指的是指令、有时候指的是体系结构、有时候又是指编程模型。同时在每个层面的 scope 也不是很清晰,于是就有了一定偷换概念的空间。SIMT 通常指代一种编程模型,而 SIMD 通常指代的指令,DSA 在某些场合指代指令,某些场合又指代架构。

链接: https://zhuanlan.zhihu.com/p/564623647

6. CuAssembler 开源 | 探求 NVIDIA GPU 极限性能的利器

CuAssembler 是个 CUDA SASS 汇编器,主要是把 nvdisasm 生成的反汇编输出汇编成可加载执行的 cubin 文件,实现对最终汇编机器码的绝对控制,弥补当前 NV 没有官方汇编器支持的不足。

链接: https://mp.weixin.qq.com/s/ousE3sYtDd7zhV-_AtvA7w

7. 用于大规模深度推荐模型的专用 GPU 推理参数服务器

在大规模推荐系统中,Embedding 通常在数据中心消耗大量内存进行存储。并且整个模型运算过程中,有大量时间花费在参数服务器上搜索对应 Embedding 向量,这个步骤增加了整体 latency,拖慢了下游的计算。

基于在真实数据集中观察到的方法,本文提出 Embedding 的 Key 往往具有很强局部性,并且遵循幂律分布。基于上述观察作者提出了 HugeCTR 分层参数服务器,他们将热数据保存在 GPU 显存中,而其他部分则有参数服务器进行补充,其保存了完整的 Embedding 副本。

链接: https://zhuanlan.zhihu.com/p/568639935

8. CUDA 编程入门极简教程

2006 年,NVIDIA 公司发布了 CUDA,CUDA 是建立在 NVIDIA 的 CPUs 上的一个通用并行计算平台和编程模型,基于 CUDA 编程可以利用 GPUs 的并行计算引擎来更加高效地解决比较复杂的计算难题。近年来,GPU 最成功的一个应用就是深度学习领域,基于 GPU 的并行计算已经成为训练深度学习模型的标配。

链接: https://zhuanlan.zhihu.com/p/34587739

9. Jeff Dean:机器学习在硬件设计中的潜力

为什么芯片设计需要很长时间?能不能加速芯片设计周期?能否在几天或几周之内完成芯片的设计?这是一个非常有野心的目标。

Google 在这个领域已率先出发。Google AI 负责人 Jeff Dean 分享了《机器学习在硬件设计中的潜力》,他介绍了神经网络发展的黄金十年,机器学习如何影响计算机硬件设计以及如何通过机器学习解决硬件设计中的难题,并展望了硬件设计的发展方向。

链接: https://mp.weixin.qq.com/s/_JmINzustpH1bEDMjz9WaA

10. AI 加速器与机器学习算法:协同设计与进化

关注 AI 和半导体行业的朋友近来可能听说过“机器学习(ML)专用处理器”(即 AI 加速器)。最常见的 AI 加速器莫过于 NVIDIA GPU,此外还有 Intel 的 Habana Gaudi 处理器、Graphcore 的 Bow IPU、Google 的 TPU、AWS 的 Trainium 和 Inferentia 芯片等。

为什么如今有这么多 AI 加速器可供选择?它们和 CPU 有什么不同?算法如何改变才能适应这些硬件?硬件又该如何发展才能支持最新的算法?本文将一一解答。

链接: https://mp.weixin.qq.com/s/8ObtUlKqfDfCbE__bWE1hQ

11. 免费用 Stable Diffusion“脑补”世界名画画框外世界

Stable Diffusion Infinity,是大火的 AI 绘图新星 Stable Diffusion 的一项子功能。只需要一两句话提示,Stable Diffusion 就可以画出你想要的东西,而且和已有部分衔接自然,没什么违和感。

链接: https://mp.weixin.qq.com/s/rX5I6iJFgHeGShR2w5wxkw

12. 逆向工程:揭示 Google Colab 未公开的秘密

对于负责在 Jupyter Notebook 编程的数据科学家来说,Colab 早已成为了默认的运行环境。然而,将 Colab 的算力运用到除 Jupter Notebooks 以外的其他应用,则是一件极其困难的事。

出于这个原因,作者将探究 Google Colab 的内部结构,并尝试稍微改变 Colab 的内置规则。需要提前声明的是,作者只是想探究 Colab,不会对 Colab 本身或者它的用户造成任何影响。

链接: https://mp.weixin.qq.com/s/OQOQ4Z0DVv_C0tsrRDJ7TQ

欢迎下载体验 OneFlow v0.8.0 最新版本: https://github.com/Oneflow-Inc/oneflow/