在壁仞科技研究院,我们思考的问题

在壁仞科技研究院,我们思考的问题

  • 发布时间:2020-12-19 11:33
  • 访问量:

【概要描述】作为一个芯片初创公司,清楚地理解未来我们的芯片上运行什么应用和算法是最重要的问题之一。壁仞科技的市场和工程团队首先会关注业界共识的Benchmark和客户的直接需求,而我们壁仞科技研究院则更多的关注学术界在算法的进展和趋势。

在壁仞科技研究院,我们思考的问题

【概要描述】作为一个芯片初创公司,清楚地理解未来我们的芯片上运行什么应用和算法是最重要的问题之一。壁仞科技的市场和工程团队首先会关注业界共识的Benchmark和客户的直接需求,而我们壁仞科技研究院则更多的关注学术界在算法的进展和趋势。

  • 分类:研究院
  • 作者:壁仞科技研究院
  • 来源:
  • 发布时间:2020-12-19 11:33
  • 访问量:
详情

作为一个芯片初创公司,清楚地理解未来我们的芯片上运行什么应用和算法是最重要的问题之一。壁仞科技的市场和工程团队首先会关注业界共识的Benchmark和客户的直接需求,而我们壁仞科技研究院则更多的关注学术界在算法的进展和趋势。

所以,我们思考的第一个问题是:

 

哪些算法具有『高价值』?

 

对于我们来说,算法的“价值”主要体现在其对芯片和生态的影响上。除了必要的广泛survey之外,我们一般会从下面几个方面进行判断。

是否开辟了新的应用空间?首先是衡量新的算法在未来是否有更大的落地前景,这是一个大家都关注的评价标准。但是真正能开辟新的应用领域算法其实是比较少的,在AI领域,也只有几个阶跃性工作,其它则主要是改进。目前看起来,在CNN和BERT类模型之后,图神经网络(GNN)由于能够处理图结构数据,是一个重要的算法方向[12]。另外一类最近有比较多进展的方向是用深度学习领域积累的经验和工具来解决一些基础数理问题或者改进传统的科学计算,比如分子动力学建模和仿真[17],气候模拟[6],物理仿真,以及最近取得重大进展的AlphaFold[1]。

是否有强算力需求?壁仞作为高效大算力的提供者,我们当然非常关注通过“大算力提升效果的算法”,从目前AI领域的进展来看,“大力出奇迹”还是比较普遍的。看看AlphaFold的工作,“It uses approximately 16 TPUv3s (which is 128 TPUv3 cores or roughly equivalent to ~100-200 GPUs) run over a few weeks, a relatively modest amount of compute in the context of most large state-of-the-art models used in machine learning today.” 除了目前常见的大型NLP模型和高分辨率图像处理之外,使用深度神经网络实现分子动力学仿真[2],物理仿真[13]或图形渲染[3];或者使用贝叶斯方法[14],通过复杂的后验分布计算解决深度神经网络中数据和模型等方面的不确定性问题,提升模型性能,等等,都可能是未来算力需求大户。还有一种可能性就是上述算法模型相互促进产生新的计算需求。

是否引入新的计算特征?到目前为止,大家对CNN类和Bert类神经网络的计算特征都已经非常了解,从训练到推理,从系统到芯片的软硬件也都做过大量的优化。而对于一个高价值新算法,如果它还引入了不同的计算模式,那么将会是我们关注的重点。此外,深度学习紧密相关的新型训练算法的进展也是值得注意的方向[4,5]。

结合壁仞的产品,我们重点关注的算法除了AI之外,还包括物理仿真和图像渲染等。这几个方向可以形成一个能够持续进化的系统:仿真提供数据和“试验环境”,AI分析数据,渲染呈现数据和结果。

有了高价值算法的牵引,我们思考的第二个问题就是:

 

架构能否更好地支撑这些算法?

 

不管是我们已经比较熟悉的算法,还是新出现的算法,如何利用手中的工具去设计软硬件架构,高效地执行这些算法,是我们不断思考的问题,可以说是架构师的日常。当然,这个问题的答案也可能是一个重要决策,大的创新,甚至技术路线的改动。在壁仞研究院,我们会从设计空间的“扩展”和“压缩”这两个不同的方向出发来思考这个问题。

首先要做的是不断扩展自己的设计“工具箱”,除了传统的体系结构知识和设计方法,我们需要跟踪来自业界和学界的最新架构设计思路。一方面,基于目前成熟的半导体技术,架构探索和优化主要体现在面向特定目标的tradeoff。另一方面,新型存储[7,8],存内计算[9,10],光模拟计算,高速互联,光互联,先进封装和异构集成[11],WSE(Wafer-Scale Engine)等半导体技术的发展,给了我们更多的“新摩尔定律”选项。

同时,计算框架和编译技术的发展,给了我们新的软件优化手段和工具。这些技术的组合,会大大扩展我们的设计空间。这种设计空间的“扩展”带给我们“降维打击”的机会,有可能同时实现多个相互制约的优化目标。

更多的软硬件架构设计选择不可避免的增加了设计和优化的复杂度,所以我们还必须能够实现设计空间的“压缩”。我们常说AI计算具有领域专用计算的特点,基本的运算和数据流模式比较简单,有利于我们简化设计空间,找到比较优化的设计点。但实际情况是,这种预设让大家对算法的运行效率有了更大的“野心”。要充分优化硬件架构,或者充分发掘硬件的潜力,高效运行各种算法模型,传统的分而治之的优化策略虽然简化了问题,但也牺牲了可能的优化机会。必须实现跨层次的协同设计是大家共识。但问题是,协同设计需要打破边界在更大的设计空间上进行探索。让情况更为复杂的是,核心算法获得了比较高的执行效率之后,实际应用落地的多样性以及新算法的不断出现,又重新拉高了对灵活性和可编程性的要求。最终,我们很可能还是要面对一个巨大设计空间上的多约束的组合最优化问题

一般来看,优秀的架构师可以根据经验在粗粒度的设计上做出相对较好的选择,但如果需要精细的定量优化或者需要考虑众多可能组合的时候,能否实现自动化的设计空间探索和优化就成了问题的关键。所以我们思考的第三个问题就是:

 

如何自动化地进行协同设计?

 

这个问题当然不是新问题,但我们看到的很多来自不同方向的新的尝试让我们对于更好的回答这个问题越来越有信心,特别是围绕机器学习编译器发展的自动优化技术[15, 16],以及将机器学习方法引入协同设计过程的各种尝试。我们希望可以和业界学界一起在这个方面进行更多的探索,以期实现一些自动化的设计工具和方法,提高算法分析和架构探索的效率,为探索更大的空间,或者找到更优的设计点提供更为通用的工具和方法。

最后,如下图所示,如果我们把这三个问题放在一起来看,它们又是高度关联的。算法分析和架构设计的互动是推动我们各项研究工作的基础,这种互动不仅仅是算法牵引架构这一个方向,我们已经看到太多算法适应架构获得更大成功的例子。而自动化协同设计首先需要实现算法和架构的规范建模,这需要合理的DSL/IR设计和算法建模方法。而这些也都可能需要创新性的工作。上述组合问题的探索则落实到围绕先进计算芯片及应用生态的创新来开展。

 

 

对壁仞科技研究院来说,对上述问题的思考及探索答案的持续努力就是我们的核心工作。

 

Reference

[1] DeepMind, “AlphaFold: a solution to a50-year-old grand challenge in biology”,

[2] W. Jia, et.al. “Pushing the Limit ofMolecular Dynamics with Ab Initio Accuracy to 100 Million Atoms with MachineLearning”, SC20, 2020.

[3] S. Wu,C. Rupprecht, A. Vedaldi, “UnsupervisedLearning of Probably Symmetric Deformable 3D Objects from Images in the Wild”, CVPR2020.

[4] T. Lilicrap, “Randomsynaptic feedback weights support error backpropagation for deep learning”, Nature Commnuications, Nov.8, 2016.

[5] F. Gressmann, Z. Eaton-Rosen, C.Luschi, “Improving Neural Network Training in Low Dimensional Random Bases”,NeurIPS 2020.

[6] P. Holderrieth, M. Hutchinson, Y. Teh, “EquivariantConditional Neural Processes”, arXiv:2011.12916. Nov. 25, 2020

[7] Y. Huai, "Spin-transfer torque MRAM(STT-MRAM): Challenges and prospects." AAPPS bulletin 18.6 (2008): 33-40.

[8] Wong, H-S. Philip, et al. "Metal–oxideRRAM." Proceedings of the IEEE 100.6 (2012): 1951-1970.

[9] S. Yu, "Neuro-inspired computing withemerging nonvolatile memorys," in Proceedings of the IEEE, vol. 106, no.2, pp. 260-285, Feb. 2018, doi: 10.1109/JPROC.2018.2790840.

[10] Bonan Yan, et al. "Resistive Memory‐BasedIn‐Memory Computing: From Device and Large‐Scale Integration SystemPerspectives”

[11] “Heterogeneous Integration Roadmap 2019 Edition”,https://eps.ieee.org/technology/heterogeneous-integration-roadmap.html

[12] Sergi Abadal, et al. “Computing GraphNeural Networks: A Survey from Algorithms to Accelerators”, arXiv:2010.00130

[13] Alvaro Sanchez-Gonzalez,et al. “Learning to Simulate Complex Physics with Graph Networks”, ICML 2020

[14] J. Sun, et al. "A Frameworkfor Recommending Accurate and Diverse Items Using Bayesian Graph ConvolutionalNeural Networks." Proceedings of the 26th ACM SIGKDD InternationalConference on Knowledge Discovery & Data Mining. 2020.

[15] C. Lattner, et. al., “MLIR: A CompilerInfrastructure for the End of Moore's Law, arXiv:2002.11054”

[16] L. Zheng, et. al., “Ansor: GeneratingHigh-Performance Tensor Programs for Deep Learning, OSDI 2020”.

[17] Machine Learning for MoleculesWorkshop @ NeurIPS 2020, https://ml4molecules.github.io/

 

 

近期文章

流体力学与物理导引神经网络

流体力学与物理导引神经网络

现代科学中众多复杂的关键应用依赖着对流体运动的精确预测。然而,由于流体力学方程数值求解的复杂性,基于传统数值方法的高分辨率长周期数值模拟运算量大且难以保证数值稳定性。本文将深入介绍PINN方法在流体计算中的应用并分析其与传统数值方法的差别。
2021-10-25
物理导引神经网络方法分析

物理导引神经网络方法分析

随着GPU能力的提升,支撑深度学习的软硬件生态得到了快速发展。通过深度学习来解决科学计算问题成了一种趋势,其中用深度学习来求解偏微分方程的方法也逐渐兴起。尤其引人注意的是一种称为物理导引神经网络的方法,其为科学计算领域注入了新的活力。
2021-10-18

联系我们

这是描述信息

招贤纳士

公众号二维码
这是描述信息

 版权所有   ©   上海壁仞科技有限公司   |    沪ICP备19047354号