机器学习系统 • 提问

发布于 2021-04-04 16:20

一个实际运作的机器学习系统包括算法,软件栈,系统硬件,芯片等内容。如何设计,实现和优化一个高效的机器学习系统是一个很重要的话题。最近我和一些系统方向(特别是软件栈)的一线工程师和学者进行了讨论,大家提出很多有意思的问题。即使还没有明确的答案,好的问题引起的思考和讨论本身就很有价值。下面整理了一些问题,抛砖引玉,也希望更多朋友提出自己的见解。

『The Hardware Lottery』”)。
  • 算法(Workload/Model)的变化,对系统的影响巨大,是否大模型大算力这一路线是未来算法发展的主旋律?如何考虑可能来源于算法的降维打击或者阶跃性发展?
  • 未来的AI计算模式到底是什么样的,是更加渴望特定模式下的高算力?还是会慢慢回到更加通用的处理上?
  • 算法影响软硬件系统的同时,软硬件系统也在影响算法,未来这种关系会如何发展?

机器学习(深度学习)框架是现在系统软件栈的重要部分,也是算法和系统的桥梁。虽然Pytorch和Tensorflow处于绝对优势位置,也各有所长,但新的尝试还是在不断出现,更偏特定领域的框架也越来越多。
  • Tensorflow与Pytorch,还是...? 未来机器学习框架谁主沉浮?
  • 机器学习框架是在AI热潮中出现的,大大提高的了AI系统的生产力。但是它的存在本身是否合理? 是否以专门的编程语言来作为起点会是更“优雅”的实现方式?

  • (针对上个问题)深度学习这一领域计算模式更简单,确定性更强,上升到要用编程语言与编译技术来解决问题是否是“大炮打蚊子”,能产生什么价值?

机器学习编译器也是目前软件栈中研究和实践非常热的领域,其作用,关键技术和未来的发展也有很多话题。

  • ML框架与编译器与传统编译器差异在哪儿?ML编译器最核心的问题是什么?

  • 未来的ML编译器在软件栈中的位置是从属还是会成为核心?器件学习框架和编译器的关系会怎么发展?

  • 为什么对MLIR的评价颇具争议,它到底想干什么?适合干什么?
  • ML框架和编译器作为技术热点,是否会扩展到更多领域,玩出新花样?
然后是从软件栈的角度看芯片硬件。传统上硬件和软件栈一般有一个明确的接口(比如ISA),但在机器学习系统中,这个接口尚无定论,而芯片架构本身也还存在不同的选择。
  • 是否有可能确定一个统一的软硬件接口?理想中这个接口应该是什么样子?

  • AI芯片架构是否会收敛?是否需要自己的编程语言及编译器/框架?一颗新架构芯片出现之后如何高效地构建软件栈?
  • 从ML编译器的角度看芯片架构的合理性,什么是对编译器友好的架构?

  • 大家都在谈的软件定义架构/硬件/芯片如何落地?

最后还有就是一些更大(生态)的问题(参考“聊聊芯片技术趋势”):

  • 从不同层次出发(芯片,算法,系统等),各类公司的生态演进路线如何?
  • 封闭生态(系统厂商垂直整合)和开放生态如何竞争和共存?
  • 我们讨论系统的时候,有个预设,就是芯片开发周期长,代价高。假设硬件设计方法改变(硬件敏捷设计,chiplet模式,新的产业链合作模式,等等),机器学习系统的设计优化以及生态会如何发展?

在和很多朋友交流的过程中,我有一点很深的感触:解决系统性问题的难度很多时候不在于技术方案本身,而是源于工作在技术栈不同层次的朋友在技术背景,工作方式甚至是看问题的视角上的巨大差异;或者说难在大家无法用统一的“语言”来讨论。这也从另一个角度说明了,当今天我们还没有明确(最优)的分层和接口的时候,相互学习理解才可能实现系统优化的目标。所以,我非常期待更多朋友留言,参与到机器学习系统技术交流当中。


人工智能芯片技术基础

人工智能芯片技术进步
人工智能芯片产业发展
人工智能芯片初创公司
人工智能芯片评测对比
科技巨头的芯片尝试
从学术会议看人工智能芯片
基础芯片技术


题图来自网络,版权归原作者所有

本文为个人兴趣之作,仅代表本人观点,与就职单位无关

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材