[论文解读] Enabling Machine Learning-Ready HPC Ensembles with Merlin
Merlin 是一个高性能、基于工作流的框架,通过以低开销编排分布式异构工作负载,使大规模机器学习(ML)就绪的科学高性能计算(HPC)仿真集合成为可能。它支持动态、由机器学习增强的工作流——如主动学习和代理建模——在领导级 HPC 系统上运行,最高可实现每小时 100 万次 ICF 仿真,并支持对大规模数据集(如包含 1 亿个 JAG 仿真集合)的可扩展、容错分析。
With the growing complexity of computational and experimental facilities, many scientific researchers are turning to machine learning (ML) techniques to analyze large scale ensemble data. With complexities such as multi-component workflows, heterogeneous machine architectures, parallel file systems, and batch scheduling, care must be taken to facilitate this analysis in a high performance computing (HPC) environment. In this paper, we present Merlin, a workflow framework to enable large ML-friendly ensembles of scientific HPC simulations. By augmenting traditional HPC with distributed compute technologies, Merlin aims to lower the barrier for scientific subject matter experts to incorporate ML into their analysis. In addition to its design, we describe some example applications that Merlin has enabled on leadership-class HPC resources, such as the ML-augmented optimization of nuclear fusion experiments and the calibration of infectious disease models to study the progression of and possible mitigation strategies for COVID-19.
研究动机与目标
- 为应对科学 HPC 领域对大规模、ML 友好的仿真集合日益增长的需求,原因在于仿真和实验数据的复杂性与体量持续增加。
- 解决 ML 对数百万个训练样本的需求与 HPC 优化少数长周期作业之间固有的矛盾。
- 通过灵活的、类似 shell 的接口和自动化任务管理,降低科学领域专家将 ML 集成到 HPC 工作流中的门槛。
- 支持在分布式 HPC 资源上可扩展、容错地执行异构、多阶段工作流,涉及仿真器、后处理工具和 ML 训练器。
- 通过利用 ML 反馈动态引导仿真选择,支持实时、动态采样与优化工作流,从而减少计算浪费。
提出的方法
- Merlin 使用一种动态分层任务生成算法,以极低开销将仿真集合扩展至数百万个样本。
- 它与 HPC 作业调度器集成,并采用生产者-消费者模型,在数千个节点上协调异步工作进程。
- 该框架利用类似 shell 的命令行界面(CLI),便于使用,使用户能够以熟悉的脚本模式组合复杂工作流。
- Merlin 采用 provenance(溯源)与重提交系统,可在发生随机故障时恢复,而无需重新启动整个工作流。
- 它支持与外部工具(如 Flux 和 Conduit)集成,用于在多个 HPC 系统之间进行作业管理和工作流协调。
- 该系统基于开源组件构建,提供基于 YAML 的工作流描述(Maestro)以及配套的可重用工作流组件手册(spellbook)。
实验结果
研究问题
- RQ1工作流系统如何高效管理大规模、多组件仿真集合的创建,以适用于 HPC 环境中训练高精度 ML 模型?
- RQ2哪些架构模式能够实现涉及仿真器、后处理工具和 ML 训练器的异构、异步工作流的低开销、可扩展执行?
- RQ3如何将 ML 集成到 HPC 工作流中,以通过主动学习动态引导仿真选择,从而减少计算浪费?
- RQ4像 Merlin 这类工作流框架在维持低任务排队和执行开销的前提下,能够多大程度上扩展至数百万个仿真样本?
- RQ5如何在大规模 HPC 工作流中实现容错与溯源追踪,以支持在节点故障后无需从头开始重启即可恢复?
主要发现
- Merlin 已成功扩展至创建一个 1 亿个 ICF 仿真的 100M JAG 数据集,在 Sierra HPC 系统上每小时处理约 100 万次仿真。
- 该框架在任务生成与执行方面实现了极低开销,使理想化基准工作负载下可高效扩展至数百万个样本。
- Merlin 的动态、由 ML 增强的工作流在 ICF 优化中显著减少了所需仿真次数,通过主动学习引导新仿真选择。
- epicast COVID-19 研究利用 Merlin 将多个 HPC 系统整合为统一资源,实现了对传染病模型的高吞吐量、时效性分析。
- Merlin 的溯源与重提交系统使用户能够在实际运行中或事后从随机系统故障中恢复,而无需申请新的专用计算资源。
- 该框架已在多个 HPC 中心部署,并以 MIT 许可证公开发布,同时发布了包含 10,000 个样本的 JAG 数据集和可重用组件手册。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。