:如今计算机系统承载的服务和算法逻辑日益复杂,理解、设计并改进计算机系统已成为核心挑战。面对系统复杂度和规模的指数级增长,以及新的大模型驱动场景下的分布式系统形态的涌现,人们亟需创新方法与技术来应对。在计算机系统发展的新篇章里,现代系统应当是一个不断自我进化的结果。机器学习和大模型的崛起使得现代计算机系统迎来了新的智能化机遇,即学习增强系统(learning-augmented systems)。微软亚洲研究院创新地从两个核心方向,来思考系统应如何不断自我学习和自我进化:“模块化”机器学习模型,与“系统化”大模型的推理思维。目标在于使得模型能够对齐复杂多变的系统环境和需求,并且推理思维能够对齐计算机系统时间和空间上的行为。相关论文 Autothrottle: A Practical Bi-Level Approach to Resource Management for SLO-Targeted Microservices 获评 NSDI 2024 杰出论文奖。
随着技术的不断进步,计算机系统不仅承担着人们生活中众多服务的重任,还包含着许多复杂的算法逻辑。用户需求的多样化与场景的增加,也使得计算机系统的复杂性和规模持续增长。从搜索、购物、聊天到新闻推荐、串流媒体和人工智能服务,这些系统的复杂性不只是庞大的代码量,更体现在背后成百上千工程师在设计、开发及维护上所付出的巨大工作量。与此同时,新类型的场景(比如大模型驱动 co-pilots 和 AI agents)也带来了新兴的分布式系统形态。如何理解、设计并作出改进成为了现代计算机系统的核心挑战。然而,系统复杂度和规模的指数级增长,使得这些挑战已经无法完全依赖人的直觉和经验去解决。
幸运的是,计算机科学的技术更新迭代为计算机系统带来了新的机遇。其中,学习增强系统(learning-augmented systems)正逐渐成为以智能化来重塑计算机系统的新趋势。学习增强系统通常采用三种不同的实现路径:一是通过机器学习技术来辅助增强现有计算机系统中启发式算法和决策规则的性能;二是利用机器学习技术对启发式算法和决策规则进行优化和重新设计;三是用机器学习模型取代原有的启发式算法和决策规则,进而推动系统的全面智能化升级。
为此,微软亚洲研究院的研究员们开展了一系列学习增强系统的工作。研究重点聚焦于两个关键方面:第一,"模块化"机器学习模型,与计算机系统行为进行对齐;第二,"系统化"大模型推理思维,赋予计算机系统自我进化的能力。
"模块化"机器学习模型,与计算机系统行为对齐
机器学习擅长于从数据中提取规律和模式,并利用这些规律进行建模和数值优化,以驱动预测和决策过程。现代计算机系统普遍具有完善的行为和性能监测机制,因此可以作为模型训练的数据来源。在以往的研究中(Metis [1]和 AutoSys [2]),研究员们曾探讨过如何利用机器学习技术优化计算机系统中的系统参数。但实际经验证明,构建学习增强系统不单单是应用现有的机器学习算法,它还面临着现代计算机系统与机器学习协同设计的关键研究挑战。
具体而言,由于现代计算机系统具有高度的规模性(例如,有着上百个分布式微服务的集群)和动态性(例如,集群里的微服务可以被独立开发、部署和扩容),在未来,利用强大的模型来学习整个系统是否还能成为一个可持续的方法?当系统部署与环境发生变化(例如,系统扩容导致集群规模改变),机器学习模型对于任务之前的一些假设可能不再成立。因此,如果不重新训练模型,模型驱动决策的正确性就会受到影响。但现代计算机系统的高动态性和高复杂度,又会使得机器学习在持续学习复杂任务上仍面临着昂贵的数据采集和资源开销成本。
"模块化"是将机器学习融入计算机系统基础的一大关键。虽然现代计算机系统具有高度的规模性和复杂度,但它们实际上是由多个子组件或服务组合而成,其动态性也就有规律可循。以一个由多个微服务组成的云系统为例,如果更新了其中的一个微服务,那么可能会影响到整个系统的端到端性能。但是,从系统架构上来看,这种更新只是更改了某个独立服务的编码配置。同理,系统的扩容,即系统里的某个服务被独立复制并部署了多份,也是如此。因此,如果机器学习模型也只需要相应地修改变化部分,那相比于持续训练整个模型,就将大大地减少学习增强系统的维护成本。
研究员们提出的利用模块化学习模拟端到端系统延迟的框架 Fluxion [3],是在学习增强系统中应用模块化学习(modularized learning)的第一步。在预测微服务系统延迟的任务上,随着个别服务的持续扩容和部署,Fluxion 显著减低了延迟预测模型的维护成本。通过引入新的学习抽象,Fluxion 允许对单个系统子组件进行独立建模,并且通过操作可将多个子组件的模型组合成一个推理图。推理图的输出即为系统的端到端延迟。此外,推理图可以动态地被调整,进而与计算机系统的实际部署进行对齐。这一做法与直接对整个系统进行端到端延迟建模的方法有显著区别。相关论文 On Modular Learning of Distributed Systems for Predicting End-to-End Latency 发表于 NSDI 2023。