这次,我们邀请到了 TVM、MXNet、XGBoost 作者,CMU 机器学习和计算机系助理教授陈天奇,他的工作,让各类硬件上原生部署任意大型语言模型成为可能,算力,还是问题么?Enjoy
绿洲:您最近研究的方向或者感兴趣的工作是怎样的?
陈天奇:我的研究风格是问题导向。过去 5 年我们一直致力于解决的问题,是如何让机器学习面向更多人群,同时可以在更多设备环境下运行。最近的研究重点,一是集中在机器学习系统,不光要解决算法,还要让系统工程本身可以更快速迭代;二是做更多开源软件,让大家直接尝试我们的研究成果,并通过这个方式获得工业界和其他领域的反馈。
随着 Generative AI 和大模型的兴起,我们也希望结合大模型和过往的积淀,探索一些新的方向。
大模型部署最近的进展很多,机器学习编译之前鲜受关注,现在 PyTorch、各大厂商都开始逐渐尝试这个方向,整个领域处于不可预料的状态。跟当年深度学习刚起来、大数据的浪潮似乎就要过去、不知如何是好的状态类似。如今又是一个不确定的时代,却是一件好事。
绿洲:大语言模型出来之后,您最新的工作主要是什么?
陈天奇:过去 5 年有一个集中的方向是机器学习编译。机器学习工程会成为越来越大的问题。为了在更高效的设备上运行,我们需要建设可重复使用的架构,无需在每个硬件平台上重做系统工程。
针对大语言模型内存损耗大等特性,我们最近一个工作的核心就是利用机器学习编译技术,为机器学习部署、训练和本身的支持方面加速。基于这个工作,MAC 的一系列项目,令我们可以将一些语言模型部署在手机端、移动端或者通过 WebAssembly 和 WebGPU 技术部署在浏览器中,同时也可以在各类显卡,包括英伟达、AMD 和苹果上都跑得更快。
语言模型一旦可以在多设备上完成部署,就可以基于这项技术,打造更多开放的解决方案,降低部署开放模型的代价。
绿洲:您做过很多有趣的开源工作,不论早期的 Apache MXNet,到 XGBoost、TVM,如何把这些工作串连起来?机器学习十几年的发展,从算法和系统层面,您有些哪些感受?
陈天奇:机器学习在过去几年发生了巨大的变化。从当初的算法建模为主,推导支持向量机和线性模型;到大数据落地后被应用到广告和推荐,开始思考机器学习大规模化;深度学习时代开始后,数据和算力开始进入大家的考量。这就意味着需要良好的机器学习系统不可或缺。这也是为什么我开始转向机器学习系统领域的研究,目标也是算法、算力和数据的综合考量,在这个过程中寻找解决问题的动力,真正推动机器学习领域的前进。
绿洲:英伟达在大语言模型的发展下获益明显,您的工作势必让硬件竞争更多元化。如何看待类似英伟达公司和开源解决方案这两种路径的发展关系呢?
陈天奇:我认为两者不是竞争关系,我们也做很多英伟达显卡的优化工作。我们的这套解决方案很多时候是可以利用厂商原生库的。英伟达现在的确在多方面都处于领先地位,我们没有打算一定要超过英伟达,英伟达也不是在所有场景下都完美无瑕。我们感兴趣的是如何让整个领域更快地向前跑,无论推动的人是谁。
所以这不是一个必须 A 和 B 之间比较的关系,在算力依然处于相对紧缺的阶段,拥有更多可能性让大家一起向前走,才是我们想看到的。
绿洲:具体讲讲英伟达在哪些领域相对是比较领先的?
陈天奇:总的来说是硬件及编程模型。靠传统直堆 Silicon 的方式,已经很难通过不改编程模型的方式来解决了。随着新卡的发布,编程模型不能直接迁移。
大家目前需要的是一套在新硬件环境和新模型出现的时候,可以快速迭代的解决方案去适配。过去十年为何深度学习发展这么快?是因为深度学习建模本身的门槛被降得非常低。未来 5 到 10 年,机器学习工程会变得很重要。对于每一套可能的硬件模型数据组合,都需要特别的工程化解决方案。我们感兴趣的目标就是如何让工程迭代的速度变快。在硬件的迭代上,英伟达目前还是无人能出其右,所以未来如何对新硬件进行更好的支持,是一个很有趣的话题。
不过现在有一个不同,之前是其他厂商都不行,等于 0。现在通过我们的解决方案,AMD 从不能跑到可以跑,跑得还不错,从其他厂商来看,也是一个进步。从 0 到 1 的过程是难能可贵的。
绿洲:既然深度学习的门槛变得很低,那可预见的未来,大语言模型的机器学习工程化门槛也会降得很低吗?
陈天奇:就好像当初我做 XGBoost 之前,数据科学都很复杂,现在基本调一下效果就不错了。我们希望能够降低机器学习工程的门槛,目前也取得了一些成果。但能降到多低、什么时候降,与研究的方向、研究的投入,特别在开源社区大家的共同努力是不可分割的。
绿洲:在这个方向上,开源界共同努力可能会产生更大激励,而闭源的领先者,更希望作为专业技术「藏起来」?
陈天奇:不说模型,对于机器学习工程基础设施而言,开源闭源都会有促进作用。学术界如果要跟上时代,继续往前走,哪怕是建模,也会有完全闭源的,也有像 LLaMa 一样开放的。我个人比较相信开源,开源社区迭代会比较快。
绿洲:模型在手机上跑,还存在什么挑战?
陈天奇:我们的解决方案可以直接在手机上跑 7B 的模型, 7B 到 3B 其实没有什么压力,解决方案肯定会成熟。还有看你要不要跑,或者要跑多大的模型,多大的模型它是不是有用,这是另一个问题。
3B 我们现在的解决方案直接可以跑,去 MAC,我们有一个 APP Store 的 APP下载可以玩一下。7B 可能手机会发热,能耗可能会有点问题,高端机可以跑。接下来的问题就是如何与垂直应用整合,以及有没有必要在手机端跑,因为平板,笔记本都可以。在手机端跑是因为大家关心数据不要外传。
我们现在的 MAC 解决方案,可以让大家在手机上跑,可以在平板上跑,可以在 Apple 的笔记本上面跑,或者在浏览器里面跑,当然也可以在服务器上面跑,相对来说灵活度会比较大。
绿洲:既然您的方案让大家在手机上就可以跑模型,那这条路径和英伟达等大厂的区别在哪里呢?
陈天奇:为什么要在手机上跑?为什么要在端侧跑?因为有不同应用场景。假设打游戏,如果和 NPC 每说一句话都要付一毛钱,虽然也不是不行,但如果可以直接在某些场景直接在本机就可以完成不错的任务,我想应该是喜闻乐见的。
譬如要有得力的私人的助手,就必须最大限度披露个人信息,你是否愿意把这些内容发到第三方?在本机是否安全性更强?还有个性化,如何让语言模型更懂你?这些方向都可以演变出不同形态的应用。
电脑刚发明的时候曾有个论断,说世界上只要有 8 台超级计算机,在几个国家的实验室里就可以满足全球的计算需求,但个人电脑就出现了。如果模型的门槛能进一步降低,是否会出现 Personal AI 的时代?这也是我们想实现的方向。
绿洲:假设有几万张 A100 用于训练模型,你认为哪些问题需要有经验的基础架构师和系统工程师来解决?
陈天奇:因为在学校里没有大规模训练的经验,我的感受是首先机器学习本身的基础架构处于起步阶段,和原来数据的基础架构不太一样。要很多 GPU 一起长时间工作,如何将不同硬件的利用率提高并利用好,硬件本身优化也是一个跨层级的过程,涉及到硬件工程和系统级别和模型级别的一些联动,这其中一定有需求。机器学习系统领域越来越受关注,这方面人才也会来越来越多。我也希望降低这个领域的门槛,比如通过机器学习编译降低反复劳动。工程部署的需求一直存在,只是现在重视程度提高了。我们的核心体感,是这个领域对人才和各方面的需求很强,对于机器学习和工程部署的从业人员自然是件好事。我们也一直在思考如何通过一些自动化技术实现四两拨千斤。
绿洲:英伟达、AMD 以及苹果都有自己的架构,跑起来有什么区别?
陈天奇:从整个生态而言,目前相对还是英伟达最好。AMD 的主要问题是软件不行,不同的厂在软件上投入的精力完全不同。从硬件从模型到应用整个流程都搭起来,从模型到基础到内存优化,甚至一开始建模的相关的基础设施都要搭起来。通过几年的努力,目前我们可以基于编译搭建一个较为兼容的基础设施。之前我们也做过 AMD 的尝试,比如旗舰级游戏卡 7900 XT,大概可以跑到 4090 的 80% 的状态。我们希望通过自动化来解决更多软件问题,我们现在可以跑多卡,比如两块游戏卡可以跑 70B 的模型,相当于最大能跑到 LLaMa,可以玩各种各样的硬件,还是蛮激动人心的。
苹果在架构层面具有领先性,特别是 Ultra,内存很大。机器直接跑 LLaMA 模型,最简单的方式就是买一个苹果最新 M2 笔记本。我们的解决方案在苹果上也可以做。
软件问题需要大家的努力,只要有基础架构,问题也可以解决。当然还是要工程化。我们的解决方案没有限制于推理侧,只是需要打开一些思路。
绿洲:你做的一些工作如 XGBoost,影响力都非常大,你是怎么挑选研究问题的呢?
陈天奇:我们比较关注的是如何将所有的工作整合在一起。机器学习工程化的挑战不在于解决一个具体的问题,而是在于有 10 个解决方案,这个用来做变形,另一个用来做 Sparsity,再一个用来做 batching,可能还会有其他解决方案……这就是深度学习发展特别快的原因,因为其软件工程模块化程度相当高。
做 ResNet,不用关注什么是做检测,因为自然把检测的头和 ResNet 的 backbone 接起来就可以用了。做优化的人不用关注 ResNet 是什么,只要把优化器写好,ResNet 拿过来接一接就可以。机器学习建模如今已经模块化,复用性强,但机器学习工程暂时还未够火候。所以我们最近关注的重点是设计一套基础设施解决各类问题。
绿洲:有人说您是机器学习编译这个全新学科的创造者,您对这点怎么看?
陈天奇:这也不算是一个全新学科,我们在编译本身有很多积淀和投入。我个人的研究方式属于问题驱动,当时的想法是探索解决机器学习工程问题要用什么方法,那么多硬件后端,如何以最少的能力撬动这个领域?我们觉得自动化是必须之路,编译工程就是其中一条路径。编译本身的定义也在不断演进,我们最新的解决方案可以整合手工方案和自动方案,加速工程迭代。
绿洲:基于树的模型前景如何?
陈天奇:基于树的模型目前还是很多行业必不可少的技术解决方案,数据科学家排名前五的工具,XGBoost 依然位列其中。未来每一个方向上的技术都会需要树的模型,在可预见的未来还是非常重要的,特别在于表格数据、金融和其他领域,使用的还是很多的。
绿洲:在研究过程中您有没有遇到一些特别的挑战?
陈天奇:挑战一直存在,科研没有标准答案。尝试也好,失败也好,工业界也好,学术界也好,都会有各种各样往前的目标,都比较卷吧(笑)!但我们很享受能够参与推动这个领域的过程。
绿洲:如何判断自己选择的研究方向,是不是一条相对正确的道路?
陈天奇:判断不了,只有相信。乔布斯有句话:The journey is the reward. 很多时候目标不是最终的奖杯,而是走的过程。
至于说一件事情正确与否,譬如 12 年之前我开始做深度学习,属于一个非常正确又错误的决定,当时的目标是利用深度学习算法解决 ImageNet 的问题,结果两年半以后,没有任何结果,但是经验积累下来,可以沿用到未来要做的其他内容。关键还是「做觉得有趣的事」。
绿洲:你觉得自己是一个很卷的人吗?
陈天奇:做有趣的事情就不存在卷,主要是享受做的过程(笑)。
参赞生命力你觉得什么是科技生命力?
在不确定性中的探索,在前进的过程中,会发现很多有趣的惊喜,这是科技具有生命力印证。—— 陈天奇教授机器学习系和计算机系卡内基梅隆大学
推荐阅读
* TVM 中文站正式上线!最全机器学习模型部署「参考书」它来了* 活动回顾 | 2023 Meet TVM 首聚上海,百余位工程师共话机器学习编译的现在和未来
* 活动回顾 | 汇聚行业技术大咖,共享思维碰撞时刻,2023 Meet TVM · 北京站圆满落幕