近期,ML/AI Infra行业的倒退引发了业内人士的热烈探讨。其中,硅谷守业公司Bluesky创始人Mingsheng Hong分享了他在这一畛域的心路历程,总结了ML Infra倒退的经验教训。他自己此前曾在Google的Data Infra工作,而后转向ML Infra,2022年初,他和Zheng Shao一起创建Bluesky Data (getbluesky.io),再度回归Data Infra。
以下是他的讲述,OneFlow社区做了不扭转原意的编译。
撰文|Mingsheng Hong
翻译|周亚坤、张雨珊
1
从Data Infra到ML Infra
2017年,我在Google建设了一个全新的列存储索引,并且把所有的外围商业剖析工作负载(比方AdWords和Display Ads)都移到了这个新零碎里(但迁徙过程自身也有几百个步骤,很简单)。
我花了两个季度的工夫来确保生产的稳定性(素来没有掉线过,思考到这是存储格局的迁徙,也算是个大工程了)。在这期间,我还率领团队让列存储在新一代零碎Napa和F1 Lightning中能失常运作。
一天,我在Google Brain发现了一个由Chris Lattner发动的新的TensorFlow我的项目,将一个编译器+运行时办法利用于构建ML Infra。我很感兴趣,不仅仅因为Chris自己(LLVM、Swift等我的项目的负责人)的号召力,还因为我认为SQL查问优化器和存储/执行引擎是一个专用的编译器/运行时零碎,这个畛域我曾经钻研了十年。
我很好奇构建Data Infra的哪些教训能够利用到ML Infra上,这两者也都能够从通用编译器/运行时上学到一些货色。
比方,只管上图所展现的内容不是在数据库背景下创立的,但它立即引起了我的共鸣,因为Data Infra行业领有SQL和JDBC/ODBC这样弱小的规范,使许多前端能够和一个独特的后端数据库“交换”,这反过来也能够部署到不同的硬件环境中。
同时,我也对这些新的学习机会感到很兴奋。就这样,我决定冒险一试。几年下来,这次单干产生了如下成绩:
(1)一个新的ML/TensorFlow runtime(TFRT)
(2)一个新的AI Infra公司Modular AI
(3)一个实验性的ML框架Swift for TensorFlow
2
三条经验教训
尽管我有很多技术、领导力和策略方面的经验教训能够分享,但我筛选了以下3条,可能会引起宽广受众的共鸣。
(1) 规范的力量
在ML之前,我次要做的是Data Infra工作,过后身处SQL和JDBC/ODBC这样的规范中,它们无处不在,但我并没有真正感触到它们的力量。
在ML中,Python或多或少曾经成为了“规范主机语言”,但它的各种ML编程框架和API,如PyTorch、TensorFlow(有或没有Keras)、Jax和MxNet,都有某些不同的编程模型和形象(例如PyTorch反对可变张量,而Jax是面向函数式编程设计的),这使得用户很难从一个框架迁徙到另一个框架。
不仅仅是面向用户编程ML模型的API,还有其余重要的API,例如用于再训练或服务(比方TF SavedModel) 的可序列化的、经过训练的形象模型,还有让硬件供应商将加速器集成到ML框架中的API,都十分须要规范。尽管你可能据说过ML中的规范,但它们看起来更像是这样:
我亲身经历过这种苦楚,因为我的一些我的项目(例如TFRT)使TensorFlow变得更好,但这并没有主动将其劣势扩大到PyTorch和其余工作中,因为不足规范和框架之间的互通性。作为跨框架规范,ONNX设定了一些指标,心愿其利益相关者能够持续推动。
如果没有弱小的ML规范,我放心当初蓬勃发展的ML Infra初创公司无奈长期凋敝——AWS的SageMaker这类集成平台原本能够更好地向用户销售他们的垂直集成。由AlphaZero和GPT-3等引人注目的人工智能冲破/里程碑(还有那些热门的风投资金)推动的“拆分时代(Era of Unbundling)”可能不会继续太久。
相比之下,Data Infra也在进行拆分,但因为它有弱小的规范,我心愿看到更多胜利的BI工具、ETL提供商、计算引擎和存储产品。在涉足ML之后,我从新爱上了SQL。
(2)理解并聚焦客户
深度学习是助推市场的重要ML分支,直到最近都在疾速倒退(在我看来,它的倒退逐步趋于平稳,对于这一点欢送探讨)。因而,ML从业者的角色在Data Infra中十分重要。
然而,对于ML Infra供应商来说,明确他们的指标用户至关重要。例如:他们的指标是否是模型钻研人员,正要撰写对于新神经网络体系结构的钻研论文?如果是的话,那就不要吹捧ML Infra产品是如许“封装良好”和“一键启用”。许多钻研人员自身也是弱小的软件黑客,他们长于发现新的、乏味的应用(或“滥用”)低层级Infra的办法,以实现他们的翻新(例如AlexNet就源自一个聪慧的GPU黑客)。
相同,如果他们针对生产ML模型的工程师(也叫“ML Eng”),那么尽量不要裸露太多的低级“旋钮”,因为这会使产品难以使用,并且难以扩大/保护。同样,不足规范往往会让事件变得更加艰难。
(3)减速ML执行
以下减速ML执行的示例技术很乏味,并且与其余畛域(如数据库查问优化)相干:
a) 应用像“Eigen”这样的软件库(https://eigen.tuxfamily.org/)实现沉重的代码,以优化CPU执行,或调用硬件供应商库(如CuDNN)来执行加速器。
b) 执行Python生成“计算图”(相似于SQL查问打算),对其进行优化,而后执行。它还有其余技术名称,比方“跟踪jit(tracing jit)”和“惰性张量(lazy tensors)”。
c) 在ML模型服务时应用非凡的背景常识,如模型权重为常数,这样就能够在模型执行之前进一步优化模型(相似于SQL优化,如果咱们晓得FK-PK束缚,能够将一些LEFT JOINs转化为INNER JOINs)。
3
为什么回归Data Infra
有人问我,为什么要从ML回归Data Infra?Data Infra不是更老派,而AI才是将来吗?
听下来有情理,AI看起来更夺目。但我认为,这一转变是职业倒退的一个“提高”。当我转向ML Infra时,我次要是受到构建更宽泛技术根底的思维欲望的驱使,想弄清楚如何应用编译器/运行时框架在数据和ML中构建大规模零碎。
我已经是一个高兴的工程师,满足于我的白板探讨,解决前沿技术问题,在公司自助餐厅享受美味的午餐,然而,我没有深刻思考“影响力”(比方我的工作将如何扭转世界)。
当初,我曾经实现了上述思考工作,并从谷歌这个神奇的中央毕业,我感觉我“不在堪萨斯”了。我的下一个职业抉择不仅是看什么货色比拟酷,而更看重什么货色具备影响力。生命短暂,是时候谋求最大的影响力了。
将来几年,我置信我对Data Infra的关注会在ML Infra上产生更大的影响,次要有三点起因:
(1)机会
从我本人与不同行业、规模的公司研究性交换来看,简直每个人都会遇到数据问题(通常都比拟紧迫),只管许多人“心愿”有ML问题,但他们还没到那个境地。为了开发ML能力,他们首先须要稳固数据流水线,有高质量的数据,还须要雇佣ML人才来训练和部署模型。
如果不是行业还不成熟,我就会想要创立一个基于优化运行时(如TFRT)的公司。话虽如此,尽管整个行业的ML实际依然是一个利基市场,但我置信世界将更多地承受ML,包含关怀如何让ML更快、更便宜。
(2)ML不足规范
如果没有弱小的ML规范,基于ML Infra产品来建设大规模业务将具备挑战性。相比之下,像Cresta这样的e2e AI产品是我心中的一种优越商业模式。
(3)合作者
除了与Zheng Shao单干,咱们的网络数据云用户、投资者、参谋、敌人和过来的共事也激情地反对咱们,目前咱们还是比较顺利的。
最初还有一些注意事项:
a) ML Infra是一个很酷的畛域,具备弱小的长期后劲——以上想法仅仅是我本人的职业规划。我将持续反对在这一畛域工作的企业家敌人们。我置信他们的一些公司能够在他们的畛域建设真正的规范,比方在ML服务中的BentoML,以及在ML编译器/运行时Infra中的Modular AI。
b) 一旦咱们让Bluesky的数据云更快、更便宜、更智能(通过在适当的时候应用ML),还打算让ML工作负载运行得更好。
c) Data Infra依然有很多问题。上面是一个值得思考的例子:一个不审慎的数据云用户可能很容易破费100美元进行一次查问提交,但没有产生任何业务价值,那么,应该如何设计产品来调整定价模式,防止这种可怕的状况?
(本文经受权后编译公布,原文:
https://www.linkedin.com/feed...)
欢送下载体验OneFlow v0.7.0最新版本:
https://github.com/Oneflow-In...