【编者按】1997 年,比尔·盖茨访问中国,众多中国学生身上所洋溢的才智、激情和创造力,给他留下了深刻的印象,缘于这次访问,次年,微软中国研究院在北京正式成立,成为了微软亚洲研究院的前身。在中国技术发展的灿烂星河里,微软亚洲研究院深于基础研究,培养了中国大半的技术领军人物。
过去一年,既是风起云涌的 AI 之年,也是微软亚洲研究院建院 25 周年。从短期来讲,大模型革新每个行业、每个应用,编程范式发生了前所未有的变化,而就长期而言,大模型驱动的计算架构正在发生演化。未来究竟将如何演进?微软亚洲研究院副院长杨懋博士特此撰文,深入计算机系统为我们带来了更大规模、更分布式、更智能化的方向。
作者简介:
杨懋博士现任微软亚洲研究院副院长,领导微软亚洲研究院在计算机系统和网络领域的研究工作。于 2006 年加入微软亚洲研究院,主要从事分布式系统、搜索引擎系统和深度学习系统的研究、设计与实现。同时领导团队在计算机系统、计算机安全、计算机网络、异构计算、边缘计算和系统算法等方向进行关键技术研究。团队及个人在 OSDI、SOSP、NSDI、SIGCOMM、ATC 等计算机系统和网络的顶级会议上持续发表多篇论文。团队在研究的同时还注重与实际计算机和网络系统的演进结合,与 Azure 云计算、Bing 搜索引擎系统、Windows 操作系统、SQL Server 数据库系统以及多个开源社区密切合作。杨博士同时还是中国科学技术大学博士生导师,拥有北京大学计算机体系结构专业博士学位以及哈尔滨工业大学硕士和学士学位。
“大模型的不断涌现和下一代人工智能需求的迅速增长,促使我们加速对传统计算机系统的革新。同时,构建于大规模高性能计算机系统之上的现代人工智能技术也为未来计算机系统的研究带来了无限的机遇。创新超级计算机系统、重塑云计算、重构分布式系统,将是实现计算机系统自我革新的三个重要方向。”
——杨懋,微软亚洲研究院副院长
在计算机科学的诸多细分研究领域之中,计算机系统研究可能是最兼具“古典”与“摩登”特质的研究方向。说它古典,是因为计算机系统的雏形可以追溯到古代的算盘、算筹、数据表等计算工具,其发展远远早于软硬件、云计算、人工智能等技术的研究;至于摩登的一面,大数据、云计算等现代技术又促进了计算机系统的不断进化。传统计算机系统研究领域,如分布式系统理论和实践、编译优化、异构计算等成果,已在当今的大模型时代大放异彩。同时,以大规模 GPU 集群为代表的高性能计算机系统也推动人工智能实现了质的飞跃。
然而,随着人工智能技术更新迭代速度的加快,我们也愈发清晰地看到传统计算机系统面临着新的挑战:当前的 GPU 集群在规模和效率上,已经难以满足新一代人工智能模型的训练和服务的需求,而现有的云计算和移动计算系统平台,也需要从服务传统的计算任务向服务智能应用转变。
面对这一系列挑战,我们意识到构建于大规模高性能计算机系统之上的现代人工智能技术,将为计算机系统的研究带来无限的机遇。因此,计算机系统的革新也势必要从这三个方向展开:
创新超大规模计算机系统以支持未来人工智能的发展;
重构云计算这一重要的 IT 基础平台;
设计前沿的分布式系统,以适应更广泛的分布式智能需求。
大规模和更高效的计算机系统是下一代人工智能发展的基石
强化学习领域的创始人之一 Rich Sutton 曾说过,“从 70 年的人工智能研究中可以总结出的最重要的经验是,最大化利用计算能力是最有效,也是最有优势的方法。从长远来看,唯一重要的事情就是利用好算力。”
超级计算机系统作为当前最有效的计算力“源力”,是现代人工智能成功的重要基石。然而,在基于超级计算机系统构建大规模 GPU 集群的过程中,系统的可靠性、通信效率和总体性能优化成为制约大模型训练性能上限的关键问题。因此,我们需要创造一个更高性能、更高效率的基础架构和系统,以推动下一代人工智能的发展。
过去五年中,我们从体系结构、网络通信、编译优化和上层系统软件等多个角度,开展了计算机系统的创新研究,为人工智能基础架构的演化提供了有力支持。例如,我们推出了能够跨多个加速器执行集体通信算法的微软集体通信库 MSCCL[1],以及有助于开发大规模深度神经网络模型的高性能 MoE(Mixture of Experts,混合专家)库 Tutel[2]。这些研究成果为包括大语言模型训练及推理在内的各种人工智能任务提供了高效的支持。
超级计算机系统不能仅依靠传统系统方法来实现革新,而是要利用人工智能实现创新和演进。这也是微软亚洲研究院正在探索的研究方向,我们认为人工智能的新能力将为解决传统计算机系统问题提供新视角,包括更智能和高效地优化复杂系统的性能,更快速和智能的问题诊断,以及更便捷的部署和管理。
人工智能与系统结合将为计算系统设计带来新的范式。从芯片设计、体系结构创新、编译优化到分布式系统设计,人工智能可以成为系统研究者的智能助手,甚至承担大部分工作。在人工智能的协助下,系统研究者可以将更多精力用于更大规模系统的整体设计,关键模块和接口的抽象,以及系统整体的演进路线。比如,对于人工智能编译系统的设计,我们推出了 Welder、Grinder 等编译器[3],可以更专注于模型结构、编译系统和底层硬件之间的关系和抽象,而更多具体的编译优化搜索算法和实现可以由人工智能辅助完成。这些新的系统研究范式将成为构建更大规模和更高效的人工智能基础架构的真正基石。
以智能化为内核,重塑云计算系统
“操作系统管理着计算机的资源和进程,以及所有的硬件和软件。计算机的操作系统让用户在不需要了解计算机语言的情况下与计算机进行交互。”这是我们对计算机系统的最初理解。
但是,随着以 GPU、HBM(高带宽存储器)、高速互联网络为代表的分离式(Disaggregation)服务器架构逐渐取代传统以 CPU 为中心的服务器,人工智能智能体(AI Agent)和大模型成为云计算平台的主流服务,深度学习算法逐渐替代传统服务核心算法,云计算这个始于本世纪初的最重要的 IT 基础系统也需要重塑自身。
传统云计算领域的研究方向,如虚拟机(VM)、微服务(Microservices)、计算存储分离、弹性计算等,在人工智能时代下需要被重新定义和发展。
虚拟化技术需要在分离式架构的背景下进行重新设计;
微服务及其相关云计算模块需要为 AI Agent 和大语言模型构建高效且可靠的服务平台;
数据隐私和安全需要成为云计算系统创新的核心要素。
所有这些变革创新都要服务于云计算系统的智能化(Cloud + AI)。
在过去几年中,我们在体系结构方面围绕分离式架构展开研究,在系统软件上以大语言模型和 AI Agent 为核心,提出了诸多构想,推出了多项创新技术。这些技术将在未来的云计算平台中发挥重要作用。
云计算自身的变革也为云计算平台上的传统服务,如数据库系统、大数据系统、搜索和广告系统、科学计算等大规模系统,带来了新的进化机遇。
一方面,大规模异构计算系统在云端的普及为传统大规模系统提供了新的计算平台;
另一方面,深度学习特别是大模型的发展为传统大规模系统的内在算法设计和实现提供了崭新的思路。
以搜索系统为例,我们基于异构计算系统和深度学习方法对搜索系统进行了创新,从 Web Scale 的矢量搜索系统 SPANN[4]到最新的 Neural Index 索引系统 MEVI[5]的设计,这些创新不仅极大提升了搜索和广告系统的性能,也为未来信息检索系统提供了新的范式。类似的创新也发生在数据库系统、科学计算系统等领域。
云计算系统不仅为人工智能的发展提供了保障,其自身和构建其上的大规模系统服务也将受益于人工智能技术,从而实现持续演进。未来的云计算平台也将成为新一代人工智能基础架构的关键组成部分。
分布式系统将是分布式智能的关键基础设施
“人类的智能不单存在于人类的头脑中,还广泛分布在整个物理世界、社会活动和符号体系中——这就是‘分布式智能’。”美国认知科学家 Roy Pea 在 1993 年发表的一篇论文“Distributed Cognition: Toward a New Foundation for the Study of Learning”中提出了分布式智能(Distributed cognition)的概念,为我们提供了一种新的视角来理解人工智能系统与社会以及环境之间的相互作用。
目前,大模型的技术链条,从训练到推理都依赖于云计算中心。但我们相信,智能广泛存在于分布式环境中,未来的智能计算也必然存在于任意的分布式环境中。
人类和物理世界的交互、基于符号系统的交流,都是智力活动的体现。在未来,这些智力活动应该能被大模型更好地感知和学习,人们也可以在任意终端更实时地获取人工智能模型的能力。这种泛在的相互感知和不断演进的能力,将是未来分布式系统研究的重点之一。
那么,如何支持智能技术在更分布式的场景下发展?我们需要考虑在由云端、边缘端和设备组成的广泛计算平台中,如何更好地进行人工智能计算。除了传统的模型稀疏化、压缩等优化模型推理性能的技术外,更为关键的是要克服大模型等算法在边缘端运行时遇到的挑战,如实时性和可靠性等基础问题。为此,我们推出了 PIT[6]、MoFQ[7]等多种移动端模型量化、稀疏化以及运行时优化的技术。
另外,对于边缘计算平台和设备,硬件和推理算法的创新也至关重要,这将从根本上革新端侧的推理方式,比如利用基于查找表(Lookup Table)等全新的计算范式来提升端侧推理效率, 包括 LUT-NN[8]等技术。
我们还与多个不同的机器学习团队紧密合作,使学习算法可以更好地从任意信号(Signals)中捕捉智能。除了传统的多模态模型,我们也在寻找更简洁和内在一致的模型结构和学习算法,可以从任意信号中进行学习。我们也在探索更优的模型结构和算法,这些模型应当更稀疏、更高效,且具有良好的可扩展性,能够有效地支持自学习和实时更新。
未来,智能将融入广泛的分布式环境中,而创新的分布式系统将是分布式智能的关键基础设施,也是人类社会获得更实时、更可靠的人工智能交互能力的前提。
未来的计算机系统将自我进化
未来的计算机系统研究将是一个持续自我革新的过程。这不仅意味着计算机系统需要不断进化来满足未来人工智能发展的需求,也意味着计算机系统本身将更加智能化,并具备自我演化的能力。
过去几年的变革创新让我们窥见了些许未来的样貌。然而,从基础架构、云计算平台到分布式智能化,人工智能时代的计算机系统研究领域,还有很多新的可能性等待我们去探索。当然,我坚信那些更加智能、更强大的助手和工具,一定会在未来的研究道路上给我们带来尚未被发现,但又足以令人兴奋的惊喜。
相关链接:
[1]Microsoft Collective Communication Library (MSCCL)
https://github.com/microsoft/msccl
[2]Tutel MoE: An Optimized Mixture-of-Experts Implementation
https://github.com/microsoft/tutel
[3]微软亚洲研究院推出 AI 编译器界“工业重金属四部曲”
https://www.msra.cn/zh-cn/news/features/ai-compilor
[4]SPANN: Highly-efficient Billion-scale Approximate Nearest Neighbor Search
https://www.microsoft.com/en-us/research/publication/spann-highly-efficient-billion-scale-approximate-nearest-neighbor-search/
[5]Model-enhanced Vector Index
https://www.microsoft.com/en-us/research/publication/model-enhanced-vector-index/
[6]PIT:通过排列不变性优化动态稀疏深度学习模型
https://www.msra.cn/zh-cn/news/features/new-arrival-in-research-3#research3
[7]Integer or Floating Point? New Outlooks for Low-Bit Quantization on Large Language Models
https://arxiv.org/abs/2305.12356
[8]LUT-NN: Empower Efficient Neural Network Inference with Centroid Learning and Table Lookup.
https://www.microsoft.com/en-us/research/publication/lut-nn-empower-efficient-neural-network-inference-with-centroid-learning-and-table-lookup/