深势张林峰:AI FOR SCIENCE推动科学研究进入平台模式时代
也许你已经熟悉了人工智能在图像识别、语言处理方面的应用,也许你已经熟练运用牛顿定律来描述物体的运动状态。但你是否思考过,当人工智能与基础科学研究相结合将带来怎样的科技变革?此前,由达摩院发布的《2022十大科技趋势》中,AI for Science列居首位,以机器学习为代表的人工智能技术正在与科学研究深度融合。借助机器学习在高维空间的表示能力,人类可以更加真实细致地刻画复杂系统的机理,并有望发现新的物理规律,这就是:AI for Science。
作为AI for Science行业的引领者和践行者,深势科技始终把探索前沿科学,深耕科技创新,落地应用实践,优化资源配置等作为业务发展的驱动力,牵引力。近日,公司创始人兼首席科学家张林峰在内部的年末文化日分享中,从系统性,实践性和前瞻性等方面,立体的阐述了AI for Science现在和将来如何推动科研进入平台模式,并对广泛关注和讨论的问题:为什么AI for Science是核心推动力?为什么一定要抓住云原生的机遇?为什么新型研发机构和开源社区是必要的?产学研如何协同?给出了“深势回答”。
以下为分享全文(在不改变原意的基础上进行了编辑)。
最近看了一本书,《一只早飞千年的鸟:中国古代气象观测与测量科技》,介绍了古今中外测量风雨、雷电、温度、湿度等一系列自然现象的装置和科技。次从“如何观测”的角度去理解李冰治水、理解降雨体积计算和《九章算术》的关系等。不得不感慨,尽管科技的发展已经带来了巨大的变革,但在复杂系统面前,古往今来,“盲人摸象”对于最前沿的科研工作者们别无二致——对未知充满敬畏、好奇,在认知边界上不断探索。最关键的是,他们能够不断利用最前沿的规律和工具,持续创新、持续探索,推动实现更好的未来。
千百年来,科技发展翻天覆地,但在大部分时间里,理论和实验是科研工作者们唯二的科研手段。计算成为科研新手段,是从二十世纪中叶计算机的发明开始。在这里我们广义地将计算机算力、网络、存储的整合利用统称为计算。计算用于科研通常有两种方式,一种是演绎式计算,例如基于对理论公式的数值求解、进行仿真模拟,或者AI中的模型推理;另一种是归纳式计算,例如对实验数据和模拟数据的处理和分析,或者AI中的模型训练。
当下,计算正在成为前沿科研工作者群体最主要的科研手段:不光一系列以“计算”作为前缀的学科(计算物理/化学/生物学/天文学等)在走向成熟、有很多计算方案沉淀成为了工业软件;甚至对于主要依赖实验的群体,“计算”的渗透率也正在变的越来越高——表征数据分析、自动化,等等,无不依赖计算。
当下,习惯了“小农作坊”和“分散式”科研模式的科研工作者正在面临全新的局面:寻求基本规律之路遭遇瓶颈,更广泛的主题是用更前沿的工具挖掘、利用已知基本规律,以及寻求及利用复杂体系的规律;知识爆炸推动了学科分工,但学科惯性,无论是其对研究对象和研究手段的限定、还是其激励机制的固化,正在成为创新的阻碍;软件正在吞噬世界,软件是知识的沉淀、是可执行的知识,是连接算力与算法、应用需求的桥梁。仿真模拟、数据分析、团队协作,无不需要软件;硬件的摩尔定律即将终结,从性能出发的专用化发展趋势和规模化带来的云原生实践,结合AI的发展带来的数据、模型、软件的协同发展,正在倒逼软件系统翻天覆地的更新换代。
生产力的发展终将推动生产关系的变革。我认为,以开拓创新为标签的科研工作者面临的主要矛盾是:先进计算技术发展带来的无限创新可能与日益限制创新效能的“小农作坊”式的科研模式之间的矛盾。这可能不适用于纯数学、理论物理等基础学科,但适用于大量越来越离不开计算的应用学科。例如:科研工作者需要软件,而非科研文章或理论公式,来实现计算技术发展带来的新可能。但是,写软件对大多数课题组来说,一不被鼓励、二也不擅长——有志于此的老师往往被上课写本子带学生占据大量时间;有志于此的学生也独木难成林,很难有好的持续性。软件难发展、难维护,也制约了人才体系的培育和计算红利的释放。相比于互联网等行业的实践,科研软件生态的形成所面临的,是一个“小农作坊”模式下的负反馈死循环。
然而,最幽深的黑暗也恰恰是在黎明之前。本文试图论述的是,我们将在接下来五年见证科研模式的巨大变革——由“作坊模式”转变为“平台模式”。更重要的是,我们将讨论这是如何一步一步做到的——为什么AI for Science是核心推动力?为什么一定要抓住云原生的机遇?为什么新型研发机构和开源社区是必要的?产学研又该如何协同?
以下我们先对互联网与AI行业中的一系列平台形成的过程做简要的回顾、介绍、与反思,然后再来讨论上述问题。
互联网与AI行业中的一系列平台: Why & How?
他山之石,可以攻玉。我们先来回顾一系列成为事实标准的平台的发展历程,看看这些平台的出现是如何让一个行业群体的“创新效能”得以显著提升。这里我们用“创新效能”一词来表示“验证新想法”的整体效率。“验证新想法”分很多步——从获得新想法,到实现,到验证。这里的“想法”可能是一个算法,也可能是一个产品;可能是一个科研项目,也可能是一个创业项目。
从Linux/Windows到Android/iOS,操作系统是典型的“平台”。为什么需要这样的平台?从基础硬件至连接不同场景的软件产品是一个很长的链条。一个有公信力的操作系统可以提供标准化接口,避免新基础硬件和新软件产品之间的相互适配带来的无穷无尽的复杂度。在这个创新体系里,接口是迭代慢的自由度,而接口间的功能模块则可以被更快地迭代替换。换句话说,平台化的操作系统提升了新基础硬件和新软件产品的迭代效率、降低了人们验证新想法的门槛。
再来看看云原生时代的平台。互联网巨头的发展推动了分布式算力体系的规模化实践——为响应搜广推、购物节等互联网业务的峰值需求,计算机体系的规模,按照机器数量衡量的话,已逐年持续增长至百万级。很自然地,“算力共享”作为一种业务模式,推动了规模经济的实现、也推动了云服务模式从诞生到走向繁荣。在这个过程中,不同云基础设施厂商和不同软件服务提供者之间的对接逐渐成为极为复杂的事情,一个平台呼之欲出——作为结果,我们看到Kubernetes(K8s)成为了这里最主要的平台。所谓“云原生”的体系,即从云上实践的理念出发、构建在云平台上的体系。当下的云原生实践方兴未艾。
再来看看机器学习的实践——这是推动本轮AI热潮的支柱。算力、算法、数据的协同发展让机器学习在越来越多的领域彰显威力。兴许从广大科研工作者的视角来看,讨论更多的会是CNN/ResNet这类创新方法或者CV/NLP等领域本身面临的问题。但是,要说是什么推动了机器学习领域如此迅猛的发展,TensorFlow/PyTorch等框架平台所起到的作用是最不容忽视的。如果没有这些框架平台,从一个模型的构造、实现,到利用不同数据、不同优化器的训练,再到将训练好的模型用于生产等,往往将对应更为海量的工作量。而事实上,对自动微分、计算图、反向传播等公共概念的良好抽象和支持使得创新效能大大提升——原本一个博士生一两年的工作量可能会变成一两天,而这样被拯救的博士生可能有数十万。
好平台的作用毋庸置疑。对于一个新的场景,往往“未来平台的样子”是相对容易共识的。但是,往往更难的是关于如何走向这样一个平台远景的路径设计。在这方面,互联网与AI在工业界积累了很多有趣的经验。
实践是检验真理的标准。“Talk is cheap. Show me the code.”“关于xxxxx的最佳实践”是常挂在工程师嘴边的话;强调“交付”。"Done is better than perfect."当然,这并不意味着不追求高质量,而是更加强调在给定的时间节点内交出解决方案;强调“标准化”、“自动化”。计算机最迷人的特点是能按照给定的指令帮人干活,充分利用好这点极为关键;强调开放的生态与文化,网上学计算机、学机器学习的知识和工具简直不要太多,激发讨论的社区论坛也非常活跃;最有意思的一点是,强调“迭代”。“迭代”一词在互联网行业出现如此频繁,以至于“先跑起来、迭代几轮就会越来越好”仿佛成为了会自然发生的事情。
还有一些“强调”是反过来的。例如,强调避免过早的抽象。这是想做“平台”的人们经常面临的挑战。对平台远景的抽象是体现洞见的,但具体实践路径上直奔抽象的终局一方面大概率抽象有问题,另一方面也容易导致失去对平台上下游的关注、失去敏捷性、花大力气做没用的东西;再如,强调避免过早的优化。所谓“过早优化是万恶之源”,不光可能白费一段固定的时间,还可能变成历史包袱、持续浪费后续开发的时间;等等。
我们来探讨下这些“强调”形成的一个更为底层的原因。有两个关键词,一个是迭代,另外一个是规模化。“形成迭代”本质上是对一个复杂体系形成从局部到整体的测试反馈闭环。某种意义上,互联网作为信息传输的载体,大大提升了人们在“模式创新”到落地上形成迭代的效率;而眼下算力、数据、算法等的持续发展,正在提升人们在“底层创新”到落地上形成迭代的效率。“规模化”的复杂之处在于,“More is different”,在不同的迭代周期里,算力、数据、算法等技术构建要素各自的规模化程度、以及各种背景的开发者、用户的规模化程度,都很大程度地决定着瓶颈问题的快速变化——如果看不准瓶颈问题,或曰抓不住主要矛盾,时间很容易被白白浪费。去中心开发、分布式验证的开源社区模式,大中台、小前台的互联网产品开发模式等,本质上都是在相应场景和发展阶段下最大化创新效能的模式。
这块最值得借鉴的是小平爷爷改革开放的实践——对大目标、大原则无比坚定的同时,最大程度地解放大家的思想。在具体问题上不争论、先尝试,见效就推广。
AI for Science是计算辅助科研 全面升级的核心推动力
如前文所说,计算正在成为前沿科研工作者群体最主要的科研手段。但是,过去几年,计算辅助科研正在面临进一步发展的瓶颈。而AI for Science为此提供了新的动力。
我们先来简单重温下算力体系在性能和规模两个维度上的发展。从性能上来看,过去50多年来算力性能提升的节奏基本被“摩尔定律”概括。近几年随着芯片处理器尺寸逼近物理极限,这一经验定律正在次经历挑战。通用硬件架构正在走向专用化,软硬件协同设计可能是未来;从规模上来看,互联网出现前主要是超算与个人电脑的天下。互联网的发展推动了信息的连接,推动的分布式的算力体系的建设,并最终推动了云计算的兴起。
AI for Science与云原生时代前的很长时间里面,计算辅助科研整体依托的算力主题词是“超算”、“摩尔定律”、“通用硬件架构”等。在这个基础上,上一代计算方案的发展已经逐渐放缓。这表现在主要的数值、统计方法和底层软件包已经基本成熟。更重要的是,各方面科学计算方案的边界——特别是不同尺度物理模型求解的精度、效率,以及统计模型对科学数据的处理能力——已经基本确定。一些相对成熟的解决方案已经逐渐固化为工业软件;而一些面临瓶颈的模型算法则很难取得突破性发展。尽管算力和数据规模仍在快速提升,但由于“维数灾难”,这些方案解决问题的程度并不能显著提升。
为什么 一定要抓住云原生的机遇?
AI for Science与云原生时代的到来意味着什么?意味着算法和硬件这两个维度上发展的规模和迭代效率正在发生质变。深度神经网络作为本轮AI发展的核心推动力,所带来的高维复杂函数的逼近能力和高维复杂数据的处理能力恰恰能系统攻克计算辅助科研的瓶颈——无论是以DeePMD为代表的系统升级物理模型求解能力的方案、以AlphaFold为代表的系统处理大规模科学数据的方案,还是在天气预报、药物设计场景中物理模型与数据融合的方案,对从前的方案都提供了数个量级的提升。
算法和底层硬件性能规模的快速发展都对科学计算软件体系带来了巨大的挑战。过去的科学计算软件架构显然没有考虑到过算法和硬件发展带来的新需求。而且,大量科学计算生产任务依赖的是已经发展了数十年的代码,不仅历史包袱重,也缺乏合适的人才体系做重构和更新。看起来整个产业还相当地庞大、复杂,但其进一步的发展已经几乎到了不破不立的地步。
在这个背景下,AI for Science将成为计算辅助科研全面升级的核心推动力。这不光是因为AI结合物理模型、科学数据的算法能大大突破过去方案的瓶颈、全面升级计算辅助科研的能力,更是因为过去AI发展过程中在数据、模型、软件、硬件、社区等方面的平台化实践为AI for Science进入平台模式指明了道路。在未来,像电子结构、分子动力学、有限元等引擎类算法均应发展出像TensorFlow这样的体系,方便上层算法与底层硬件两侧的快速迭代;像蛋白结构等场景的大规模数据库一方面可能与实验表征体系联动,面向目标自动化、智能化地生成数据,另一方面也应发展出相应的算法、模型;对于行业落地来说,也应该形成一套MLOps这样的系统,来支撑从研发到生产过程中整个算法功能生命周期面临的系统工程需求,并逐渐形成面向不同场景的具体解决方案。这些体系组合起来,终将成为科研工作者的新一代基础设施平台,推动形成新的分工体系,也推动“创新-落地”链条的持续迭代。
为什么 新型研发机构和开源社区是必要的?
事实上,AI for Science正在推动科研进入平台模式,那么是如何走向这样一个平台?
首先最关键的是,需要有更多人认识到且相信这样一个平台模式的内涵。可能前面几个部分的内容可以起到一些布道作用。有越多志同道合、和而不同的人,这样一个平台越容易实现。
当然,瓶颈还是比较多的。我曾在半年前写过一篇《写于DeepModeling社区宣言发表一年——我们的“开源集市”需要什么?》,里面谈到的瓶颈可能也只会是这里的子集。在更大的范围上,协同类问题包括学界的体制机制问题、业界“创新者窘境”等问题、政府激励设计等问题;技术类问题包括软硬件发展路线设计、人才体系和知识体系的演化等。这里涉及到的学科、行业是无比巨大的。在操作层面,我们需要带着对远景的认识,抽丝剥茧式地解决不同事项在不同发展阶段面临的不同瓶颈问题。
那么,有怎样的关键词,能够最大程度地凝结所有相关的力量,最大程度地、最快地推动“小农作坊”模式走向“平台模式”呢?我认为,应该回归到文初对以开拓创新为标签的科研工作者面临的主要矛盾的讨论——创新效能。持续做解放科学家、提升创新效能的事,既有利于科学研究以及业界研发,也能推动“平台模式”的达成。
有人会说,冲破瓶颈是前提。对于科学家们和工业场景下的研发人员来说,使用新工具可能会面临一定的迁移瓶颈,但只要迁移带来的创新效能的提升足够大,新工具体系就一定会替代旧的。某种意义上,过去机器学习平台的发展,对这样一个体系成长起来的时间尺度以及不同层面上的具体实践都已经提供了极为丰富的素材。但是,AI for Science所涉及的知识体系、算法体系、软硬件架构体系和用户体系都更为复杂。多多少少有人会同时是计算机体系架构、软件工程、AI算法的专家;但再加上数理化和各个应用领域,相应的人才体系是需要被重构的。
这需要很大甚至更大范围的协同努力。
接下来我们限制一下范围,以“创新效能”为关键词来推出近期实际在做的一些事情。
DeepModeling社区目标是打造一系列AI for Science的软件基础设施平台、共同定义科学计算的未来。在此,一系列AI for Science的基础设施都是在做提升创新效能的事情。以DeePMD为代表的算法软件致力于推动性原理精度的分子动力学效率数个量级的提升;以ABACUS为代表的基础软件致力于将电子结构软件框架做的像机器学习框架一样,能快速适应硬件、算法发展的需求和实际生产的需求;以dflow为代表的云原生科学计算工作流套件致力于科学计算流程实现的可维护性、可扩展性以及高效的自动化、规模化;等等。
Bohrium®的目标是打造连接科学家和算力/算法/软件基础设施的平台、提升科研工作者的创新效能。因此,Bohrium®早期最关注的是一系列AI for Science计算解决方案所需要的跨云与超算的算力调度、团队协作、可视化等需求。进一步,结合算法/软件/场景的交互式教学、连接云与课题组本地机器的Bohrium® Mix模式、交互式实验数据分析与处理等,都将是Bohrium®支持的重点。在这些基础之上,我们希望Bohrium®能支持推动DeepModeling上一系列开源软件的高效迭代创新:无论是引擎软件的创新,还是面向不同场景搭建的工作流,都能快速地与最合适的算力连接,形成有效解决方案。下面介绍的Hermite®就是在一个相对完整的具体场景中形成的解决方案体系,这样的体系会随着不同行业的发展越来越多。
Hermite®的目标是打造连接药物研发工作者与AI for Science药物设计解决方案的平台、提升药物研发工作者的创新效能。因此,Hermite®平台上不光是集成现有方案,更重要的是针对药物设计的各个环节,针对不同类型的靶点和药物modality,持续打造融合模拟、AI、实验的最前沿的解决方案,交付给药物研发人员。
近期我们还在陆续发起一系列新的探索。首先,正如CV/NLP领域发生的那样,数据规模的持续提升催生了像GPT-3这样的大模型,基于大模型的小样本数据精调和越来越多生成型能力的释放正在带来一系列新的可能性。在AI4S的一些方向上,数据规模化程度也达到了量变向质变的交界点上,由此我们开始了像覆盖元素周期表的DPA-1这样的预训练模型的探索;同时,如同NLP领域催生Hugging Face的逻辑一样,逐渐地我们将不仅需要代码的协同开发与测试、使用,还需要模型、数据、工作流在更大范围上的协同开发与共享,这催生了科学智能广场AIS-Square的实践。这些方面都是最新的探索,我们相信它们能够推动这场科研变革更快地发生、更有效地惠及所有科研人员。
最后,在这场科研范式大变革中,习惯“小作坊”式的科研工作者们有哪些需要关注的地方?这是有些微妙的。前沿研发的创新很难是“集体运动”,很多具体的科研创新可能还是得由一个个相对敏捷高效的课题组来完成——恰如安卓/iOS平台激发了智能手机应用创新的爆发。因此,“小作坊”本身还是应该长期存在的。我们希望倡导的是推动一个个课题组形成对AI for Science与云原生底层逻辑和具体内涵的自觉意识,成为平台化科研模式的共建者,并在共建的过程中及时享受到创新效能的提升带来的好处——即做出更好的科研工作。在这个过程中,一系列创新成果还是“小作坊”做的,但做的过程中,软件、模型、数据、工作流将以开源社区作为载体,不断沉淀——这是课题组除自身创新外值得被鼓励做的事情。


