当前位置:网站首页>AI系统前沿动态第38期:谷歌已放弃TensorFlow?;训练大模型的四种GPU并行策略;LLVM之父:模块化设计决定AI前途

AI系统前沿动态第38期:谷歌已放弃TensorFlow?;训练大模型的四种GPU并行策略;LLVM之父:模块化设计决定AI前途

2022-06-23 09:33:00 智源社区

1、放弃TensorFlow,谷歌全面转向JAX?

 

近日,外媒 Business Insider 采访了一系列开发人员、硬件专家、云供应商以及与谷歌机器学习工作关系密切的人,获得了同样的观点。TensorFlow 已经输掉了这场战争,其中有人用了一个鲜明的比喻:「PyTorch 吃掉了 TensorFlow 的午餐。」在 PyTorch 的阴影下,谷歌正在悄悄地开发一个机器学习框架,就是 JAX(曾是「Just After eXecution」的首字母缩写,但官方说法中不再代表任何东西),许多人将其视为 TensorFlow 的继承者。

 

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

 

2、一个算子在深度学习框架中的旅程

 

个op的Python -> C++ 之旅。从细节上看,是相对复杂的,但从整体流程上看,其实是比较简单的,排除了binding,vm调度机制等细节,其主要过程其实就4个环节: Functor -> Dispatch -> Interpreter -> Kernel Compute。实现/新增一个op,通常也不需要管中间的Dispatch以及Interpreter,我们只需重点关注和该op强相关的部分——Functor层面的参数、op逻辑检查,以及Kernel Compute部分的实际op运算。

 

https://mp.weixin.qq.com/s/l5JB449YTNmzFRJPfw_hKw

 

 

3、训练千亿参数大模型,离不开四种GPU并行策略

 

随着集群数和模型规模的增长,机器学习从业者开发了多项技术,在多个GPU上进行并行模型训练。

乍一看,这些并行技术令人生畏,但只需对计算结构进行一些假设,这些技术就会变得清晰——在这一点上,就像数据包在网络交换机之间传递一样,那也只是从A到B传递并不透明的位(bits)。

 

https://mp.weixin.qq.com/s/DsbFkiCpmI_D9jsWBwBrhQ

 

 

4、embedx分布式训练和推理框架

 

embedx 是基于 c++ 开发的、完全自研的分布式 embedding 训练和推理框架。它目前支持图模型、深度召回模型和图与排序、图与召回的联合训练模型等。它是腾讯 AI 领域开源协同项目。

 

https://mp.weixin.qq.com/s/1ulsDVcqcEaoN-p_dYGj5g

 

 

5、BytePS中对rdma的优化

 

BytePS是字节跳动开源的基于参数服务器的一项分布式训练框架,对加速数据传输的RDMA进行了改进,本文对该框架涉及的RDMA改进作介绍。RDMA是一种访问远程系统上的内存而不中断该系统上CPU的处理的方法。

 

https://zhuanlan.zhihu.com/p/525076335

 

6、数据并行Deep-dive: 从DP 到 Fully Sharded Data Parallel (FSDP)完全分片数据并行

 

为了能够深度了解Pytorch的数据并行机制,这里参考了各种网上的资料,介绍从最简单的Data Parallel,Distributed Data Parallel, 到最新特性Fully Sharded Data Parallel的evolution历程。

 

https://zhuanlan.zhihu.com/p/485208899

 

 

7、自动微分的正反模式

 

本章将深入介绍AI框架离不开的核心功能自动微分,而自动微分则是分为前向微分和后向微分两种实现模式,不同的实现模式有不同的机制和计算逻辑,而无论哪种模式都离不开雅克比矩阵,所以我们也会深入了解一下雅克比矩阵的原理。

 

https://mp.weixin.qq.com/s/u-UEpfZwvvE3IpPRowIQQA

 

 

8、ARM 算子性能优化上手指南

 

做 arm 侧算子开发时,不能不关心的就是性能。本文主要就是介绍 arm 算子性能优化的常用思路,做为一个入门级的参考。文章以 ARM Cortex a55 上的 GaussianBlur 优化为例展开,并在文末对 arm 性能优化思路做了一个总结。

 

https://zhuanlan.zhihu.com/p/517371998

 

 

9、关于并发和并行,Go和Erlang之父都弄错了?

 

为什么Haskell和ParaSail的开发者认为并发和并行要用不同的工具,而Go和Erlang的开发者却认为并发语言也能处理并行呢?到底是什么原因导致这种分歧?我觉得这是因为大家要解决的问题不同,对并行和并发的区别有不同理解,才导致最终结论不同。

 

https://mp.weixin.qq.com/s/hE3UapcUp7apThmsSBsNRw

 

10、LLVM之父Chris Lattner:模块化设计决定AI前途,不服来辩

 

缺乏模块化的单体系统就像浑然一体的金字塔,失去了演化空间,抑制了创新速度。当前,AI领域正面临系统和工具链的互不兼容和碎片化,对这种混杂局面,编译器大牛Chris Lattner看不下去了。

 

https://mp.weixin.qq.com/s/GOyR0cMMwUTLHdGaH0UqIg

 

11、深度学习概述:从基础概念、计算步骤到调优方法

 

温故而知新,如今回顾深度学习的基本原理,依然对我们理解它从何发展而来,为什么能发挥作用至关重要,也对我们在下个十年推进深度学习有指导性意义。因此,本文将重点回顾深度学习相关的基础理论知识。

 

https://mp.weixin.qq.com/s/1ARk-7kFC3U1GgJoiLkFUA

 

其他人都在看
欢迎体验OneFlow v0.7.0:https://github.com/Oneflow-Inc/oneflow
原网站

版权声明
本文为[智源社区]所创,转载请带上原文链接,感谢
https://hub.baai.ac.cn/views/18242