许小峰
今年9月举办的欧洲中期天气预报中心(ECMWF)研讨会重点讨论了大气和海洋建模数值方法的最新进展和未来前景。会上,活动的组织者之一山姆·哈特菲尔德(Sam Hatfield)介绍了他正在研究的通过在数值计算中使用较低精度的算法来降低数值天气预报计算成本的方法。这里所谓低精度是指在计算中的实型数保留较少有效位数。
对降低计算成本的追求,显然与在数值预报计算中日益增长的计算量有关。由于模式分辨率的提高、集合预报中参与计算的模式增多、气候模式中多圈层耦合计算及积分时间延长等,都使得计算需求迅速扩充,而当高性能计算能力的发展尚无法与需求相匹配时,设法节省计算量便成为必然选择。
节省计算量可以缩短计算时间,提高运算效率,但显然不能以牺牲预报技巧为代价,否则所谓节省也就失去了意义。那么,怎样选择适当的精度达到预期目标呢?山姆所追求的正是一个在不降低预报结果技巧条件下降低计算精度的微妙过程,包括从软件到硬件的改变,从而为改进数值预报的计算环境和效率提供支持。
山姆毕业于英国布里斯托尔大学,在那里攻读物理学位时首次接触到超级计算机。后来,山姆在牛津大学攻读环境研究博士学位时开始与欧洲中期天气预报中心(ECMWF)结缘。那时,他的主管蒂姆·帕尔默(Tim Palmer)和彼得·杜本(Peter Dueben)等人已经在研究如何提高高分辨率天气预报模式的算法,并建议山姆专注于其中的数值同化问题,因为在ECMWF的各类模式计算中,同化部分要消耗计算量的一半。
山姆并没有按照常规做法去研究数据同化模式的计算方法,而是与同事一起开发了一个简易的超级计算机行星模拟系统(Raspberry Pi Planet Simulator),试图从计算机的基本构造方法及充分利用资源的角度来研究如何高效地进行地球系统建模。尽管这个自制的超算系统看起来像个玩具,但山姆正是以此为依托开始了探索如何优化超算算法之路,尝试通过降低计算精度来节省数据同化成本的方法。
由于拥有了自己的“超算系统”,山姆可以自如地开展计算试验。他通过逐渐降低计算精度的调节旋钮,检验不同算法的效果,找到模式运算过程中会产生断裂性变化的节点,最终实现了在保持模式技巧不变的条件下,“一直可以将计算位数下降到16位,保持单精度计算,这仅是通常用于生成天气预报计算精度的四分之一”。后来,他又通过简化的大气模型SPEEDY进行了同样的试验,得出了类似的结果。
这一试验结果使山姆获得了在日本理化研究所RIKEN高等计算科学研究院(AICS)进一步开展工作的机会,那里的试验使山姆确信完全可以使用较目前进行数据同化计算低得多的精度来获取同样的结果。他对这一结果的解释是:“计算精度并不特别重要,因为模式计算中还有许多其他不确定性因素,会抵消在计算中使用较低精度造成的误差。”这意味着单纯追求计算精度来提高预报技巧没有实际意义,只要能解决好计算过程中与精度相匹配的具体计算方法问题就可以了。
与ECMWF的IFS模式一样,SPEEDY的动力核心框架也是谱模式。山姆和他在牛津大学的合作伙伴马特·钱特里(Mat Chantry)发现,当这类模式在高分辨率状态下运行时,进行勒让德(Legendre)变换时计算资源消耗较任何其他过程都显著增大,便试图尝试以某种降低精度的算法来提升这部分的运算效率。
通过比较,他们发现Legendre变换计算与人工智能(AI)中使用的矩阵乘法非常相似,如果能将在设计上已很成熟的机器学习硬件用在模式的计算中,显然可以提升模式计算速度。试验结果令人兴奋,证明确实可行,只需保持半精度计算,就可以使IFS模式达到原有预报技巧,在9公里分辨率条件下仍然可以满足。以往还没有人能在如此高的高分辨率复杂模型中使用这样低的计算精度。为了节省时间,这项试验研究是在软件仿真器上实现的,而非通过真正的GPU或AI硬件。
ECMWF的科学家希望明年能申请到INCITE计划奖金,在橡树岭实验室的“顶点”超级计算机上进行这一试验。山姆相信通过机器学习芯片加速天气模式计算的设想会奏效,并认为这一结果会影响到今后高性能计算机的采购需求。降低计算精度的想法不仅是一项学术研究,也不单纯是为了气象业务应用,而将成为影响未来10年甚至20年高性能计算机发展非常重要的主题。
从山姆的工作中可以得到的启示是,对于数值预报技术的发展,除考虑模式本身的研究外,还要将计算技术与方法作为一个重要的领域予以重视,计算能力的提升和优化若不能与模式发展中不断出现的各项新需求相匹配,必将影响到整体发展的进程。另一方面,研究领域不能仅限于软件算法,而应像山姆那样,对整个计算机结构进行剖析认识,包括对人工智能技术特点的理解,才有可能通过有针对性的试验达到预期的改进目标,这显然需要更系统、扎实的专门知识。
(来源:《中国气象报》2020年10月29日3版 责任编辑:栾菲)