面向模拟智查包養心得能的计算系统_中国网
April 23, 2024|
admin|
中国网/中国发展门户网讯 人类进入大科学时代后,“模拟”作为“理论”“实验”以外重要的补充技术手段,成为科学研究的第3个支柱。从表现形式看,科学研究可以被视为建立模型(modeling)的过程。而模拟(simulation)则是所建立的科学模型在计算机上的运行过程。最早期的计算机模拟(computer simulation)可以追溯到第二次世界大战之后,是专门针对核物理学和气象学研究的一种开创性的科学工具。后来,在越来越多的学科中,计算机模拟变得愈发重要,并不断衍生出计算和其他领域交叉的学科,如:计算物理、计算化学和计算生物学等学科。Weaver在1948年撰文指出:人类解决有序复杂问题并实现科学新飞跃,将主要依赖于计算机技术的发展和不同学科背景科学家的技术碰撞。一方面,计算机技术的发展使人类能够解决复杂且难以处理的问题。另一方面,计算机技术能够有效激发有序复杂性问题的新解决方法。这种新解决方法本身也正是计算科学(computational science)的范畴之一,让科学家有机会集中资源,将不同领域的见解聚焦在共同问题上。这种见解聚焦的结果,促使不同学科背景的科学家们,形成比单一学科背景科学家们更强大的“混合团队”;这样的“混合团队”包養網将有能力解决某些复杂性问题,并且得出有用的结论。总之,科学和建模紧密相关,模拟执行代表理论的模型,人们把科学研究中的计算机模拟称为科学模拟(scientific simulation)。 目前,还没有任何针对“计算机模拟”的单一定义能够恰当地描述科学模拟的概念。美国国防部将模拟定义为一种方法,即:“一种随时间实现模型的方法”;进而,将计算机模拟定义为一种过程,即:“在计算机上执行代码、控制和显示接口硬件,并与现实世界设备进行接口交互的过程”。Winsberg把计算机模拟的定义又分为狭义和广义范围。 在狭义定义中,计算机模拟就是“在计算机上运行程序的过程”。计算机模拟使用步进方法来探索数学模型的近似行为。模拟程序在计算机上的一次运行过程,代表了对目标系统的一次模拟。人们愿意用计算机模拟方法求解问题,主要有以下2个原因:原始模型本身包含离散方程;原始模型的演化更适合用“规则”,而不是“方程”来进行描述。值得注意的是,这种狭义角度指代计算机模拟时,需要限定到特定处理器硬件上算法的实现、用特定编程语言编写应用,以及核函数程序、使用特定编译器等限制条件。在不同应用问题的场景下,由于这些限制条件的变化,通常会获得不同的性能结果。 在广义定义中,可以把计算机模拟看作研究系统的一种综合方法,是更加完整的计算过程。该过程包括模型选择、通过模型实现、算法输出计算、结果数据可视化及研究。整个模拟的过程也可以与科学研究过程进行对应,如Lynch所描述:提出一个经验上可回答的问题;从旨在回答该问题的理论中推导出一个可证伪的假设;收集(或发现)和分析经验数据以检验该假设;拒绝或未能拒绝该假设;将分析结果与得出该问题的理论联系起来。在过去,这种广义的计算机模拟通常出现在认识论或者方法论的理论场景中。 Winsberg进一步将计算机模拟划分为基于方程的模拟(equation-based simulation)和基于主体的模拟(agent-based simulation)。基于方程的模拟常用于物理等理论学科中。这些学科中一般存在主导性的理论,这些理论可以用来指导构建基于微分方程的数学模型。例如,基于方程的模拟可以是针对粒子的模拟,这种模拟通常包含数量巨大的多个独立粒子和一组描述粒子之间相互作用的微分方程。此外,基于方程的模拟也可以是基于场的模拟,通常包含一组描述连续介质或场的时间演化方程。基于主体的模拟往往遵循某种演化规则,是模拟社会和行为科学的最常见方式。例如, Schelling的隔离政策模型。尽管基于主体的模拟在一定程度上可以表示多个主体的行为,但与基于方程的粒子模拟不同,这里没有控制粒子运动的全局微分方程。 从计算机模拟的定义和分类中,可以看出人们对科学模拟不同层次的期望。从狭义的计算机模拟角度看,它已经成为理论分析和实验观察等传统认知方式的补充手段。科学或工程领域无一例外是由计算机模拟推动的,在某些特定应用领域和场景下,甚至是由计算机模拟改变的。如果没有计算机模拟,许多关键技术就无法被理解、开发和利用。广义的计算机模拟蕴含着一个哲学问题:计算机是否可以自主进行科学研究?科学研究的目标是认识世界,这意味着计算机程序必须创造新的知识。随着人工智能技术研究及应用的新一轮爆发,人们对计算机自动地以“智能”方式进行科学研究充满了期待。值得一提的是,Kitano在2021年提出的“诺贝尔-图灵挑战”的新观点——“到2050年,开发能够自主执行研究任务的智能科学家,做出诺贝尔奖级别的重大科学发现”。该观点涉及狭义和广义的计算机模拟相关技术,但没有围绕广义定义的“哲学问题”深入探讨,只是把其作为科学模拟的一个宏伟目标看待。 科学模拟的发展阶段 从最直观的视角来看,科学模拟的载体是计算机程序。从数学形式上讲,计算机程序是由可计算函数组成的,其中每个函数将有限输入数据的离散集映射到有限输出数据的离散集上。从计算机技术上讲,计算机程序等于算法加上数据结构。因此,科学模拟的实现需要以科学问题及其解决方式被形式化抽象为条件。这里,本文借用Simon的观点:科学家即问题“求解器”。在此观点中,科学家给自己设定了重大科学问题,确定问题和解决问题的策略和技术是科学发现的本质。基于上述“求解器”的话语体系,本文类比求解方程的形式,将科学模拟的发展划分为3个阶段,即数值计算、模拟智能和科学大脑(图1)。 数值计算 然而,这种将部分复杂科学问题转换为相对简单的计算问题的解题模式,仅仅是一种粗粒度的建模方案,在一些应用场景下会遇到计算瓶颈。在解决真实场景中复杂物理模型时,常常面临基本物理原理计算量过大的问题,并由此导致空有原理而无法有效解决科学问题。例如,第一性原理分子动力学的关键为求解量子力学Kohn-Sham方程,其核心算法求解过程是多次求解大规模特征值问题。特征值问题的计算复杂度为N3(N为矩阵的维度)。在实际物理问题的求解中,最常用的平面波基组通常是原子个数的100—10000倍。这意味着对于上千原子的体系规模,矩阵维度N达到106,其相应的浮点数运算总量也将达到1018 FLOPS,即达到EFLOPS级别的计算量。需要注意的是,在单步分子动力学中需要多次求解特征值问题,这也就使得单步分子动力学的模拟时间通常为数分钟乃至1小时。由于单步分子动力学的模拟物理时间只能达到1飞秒,假设要完成纳秒物理时间的分子动力学模拟过程,就需要106个分子动力学步。相应的计算量至少要达到1024 FLOPS。如此庞大的运算量即使使用世界上最大规模的超级计算机也难以在短时间内完成。为了解决仅使用第一性原理计算带来的超大计算量,研究人员发展了多尺度方法,其中最典型的是获得了2013年诺贝尔化学奖的量子力学/分子力学(QM/MM)方法。该方法的思想是针对核心物理化学反应部分(如:酶及其结合底物的活跃位点原子),采用高精度的第一性原理计算方法,对于周围的物理化学反应区域(溶液、蛋白质和其他区域)采用低精度且计算复杂度更低的经典力学方法。这种高精度、低精度相结合的计算方法,可以有效地降低计算量。但面对实际问题时,该方法依然存在着巨大的挑战。例如,细胞半径约0.2微米的单个生殖支原体包含3×109个原子和77000个蛋白质分子。由于核心计算时间仍来自QM部分,模拟2小时的过程预计需要耗费109年。如果将类似问题推广到人脑的模拟中,相应的系统原子数将达到1026个,保守估计需要1010个活跃位点的QM计算。由此可以推断,模拟1小时的QM部分需要长达1024年的时间,而MM部分的模拟也需要长达1023年的时间。这种超长计算时间的情况也被称为“维度灾难”。 模拟智能 因此,模拟智能在传统数值计算中嵌入人工智能模型(当前主要是深度学习模型),不同于其他人工智能应用领域的深度学习模型“黑盒子”。模拟智能要求这些模型的基本出发点和基本结构是可解释的。目前,这一方向已存在大量研究,Zhang等在2023年对模拟智能领域最新进展进行了系统性的梳理。从理解亚原子(波函数和电子密度)、原子(分子、蛋白质、材料和相互作用)到宏观(流体、气候和地下)尺度物理世界,把研究对象分为量子(quantum)、原子(atomistic)和连续介质(continuum)三大体系,涵盖量子力学、密度泛函、小分子、蛋白质、材料科学、分子间相互作用和连续力学等7个科学领域。此外,还详细讨论了其中关键的共同挑战,即:如何通过深度学习方法捕捉物理第一性原理,特别是自然系统中的对称性。利用物理原理的智能模型几乎已经渗透了传统科学计算的所有领域。模拟智能大幅提升了对微观多尺度系统的模拟能力,为在线实验反馈迭代提供了更加全面的支撑条件。例如,计算模拟系统和机器人科学家之间的快速实时迭代,有助于提升科研效率。因此,模拟智能在一定程度上,还将包括“理论—实验”迭代的控制过程,同时也会涉及部分广义的科学模拟。 科学大脑 传统的科学方法从根本上塑造了人类探索自然和科学发现的分步“指南”。面对全新的研究问题,科学家们已经被训练成从假设和替代方案的角度出发,指定如何开展控制测试的定势思维。虽然这种研究过程在过去几个世纪内都是有效的,但是非常缓慢的。从某种意义上来说,这种研究过程是主观的,是由科学家的聪明才智和偏见驱动的。这种偏见,有时会阻碍必要的范式转变。人工智能技术的发展激发了人们对科学和智能融合产生最优的且具有创新性的解决方案的期望。 以上所提到的科学模拟发展经历的3个阶段,能够明显区分计算机模拟在可计算和智能化能力方面逐步提升的过程。数值计算阶段,对复杂科学问题中相对简单的计算问题进行了粗粒度建模,属于单纯的狭义计算机模拟定义范畴。它不仅促进众多领域宏观尺包養網度科学发现,同时也开启了对微观世界的初步探索。模拟智能阶段,将针对微观世界的多尺度探索推上一个新的台阶。除了在狭义计算机模拟定义范畴内对计算能力进行了数量级地提升之外,该阶段还涉及对实验中某些关键环节的计算加速,在一定程度上为科学模拟下一阶段的实现奠定了基础。科学大脑阶段,将是对广义计算机模拟定义的实现。在此阶段中,计算机模拟将具备创造知识的能力。 设计模拟智能计算系统的关键问题 按照本文对科学模拟发展阶段的粗粒度划分,与其相应的计算系统也在同步进化。超级计算机在数值计算阶段发挥了不可替代的作用;发展到新的模拟智能阶段,底层计算系统的设计也是基石。那么,模拟智能计算系统的发展方向应该遵循什么样的指导思想? 纵观计算和科学研究发展历史,可归纳出计算系统发展的基本周期性规律:在新的计算模式和需求产生阶段的初期,计算系统的设计侧重追求极致的专用性。而在经过一段时间的技术演变和应用拓展之后,计算系统的设计开始侧重于对通用性的追求。在人类科技文明早期发展的漫长过程中,计算系统曾经是各式各样的专用机械设备,辅助进行一些简单的运算(图2)。近代以来,电子技术的突破催生了电子计算机的出现,并且随着其计算能力的不断提升,数学、物理等学科的发展也不断向前,尤其是超级计算机上的大规模数值模拟成果,引领了大量前沿科学研究和重大工程应用。由此可见,日益发展的通用高性能计算机在不断地加速宏观尺度科学的各类大规模应用,并取得重大成果。接下来,微观世界的多尺度探索将是未来Z级(1021)超级计算机应用的核心场景。而现有通用高性能计算机的技术路线则将遇到功耗和效率等瓶颈,难以为继。结合模拟智能阶段所呈现的新特征,本文认为面向模拟智能的计算系统,将以追求极致的Z级计算专用智能系统为设计目标,未来性能最高的计算系统将专门针对模拟智能应用程序,在硬件本身及软件底层的算法和抽象中进行定制。 图2 科学模拟计算系统发展的周期性规律 Figure 2 Periodic trends of computing