[論文レビュー] Enabling Machine Learning-Ready HPC Ensembles with Merlin
Merlin は、低遅延で分散・異種のワークロードをオーケストレーションすることで、大規模な機械学習(ML)対応の科学的 HPC シミュレーションアンサンブルを実現する、高パフォーマンスでワークフロー指向のフレームワークです。動的で ML 拡張可能なワークフロー(例:アクティブラーニングやサーヴェイゲートモデリング)をリーダーシップクラスの HPC システムでサポートし、最大時速 100 万件の ICF シミュレーションを達成し、1 億 1000 万件の 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 が少数の長時間実行ジョブを最適化することに特化しているという、根本的な矛盾を克服する。
- 柔軟なシェル風インターフェースと自動タスク管理により、科学的ドメインエキスパートが HPC ワークフローに ML を統合するための障壁を低減する。
- シミュレータ、ポストプロセッサ、ML トレーナーを含む異種でマルチステージのワークフローを、分散 HPC リソース across でスケーラブルかつフェイルセーフに実行することを可能にする。
- ML フィードバックを用いてシミュレーション選択を動的にガイドすることで、計算の無駄を削減する、リアルタイムで動的サンプリングと最適化ワークフローをサポートする。
提案手法
- Merlin は、最小限のオーバーヘッドで数百万件のサンプルにまでスケーリング可能な、動的で階層的なタスク生成アルゴリズムを採用している。
- HPC ジョブスケジューラーと統合され、数千ノードにわたる非同期ワーカーを生産者・消費者モデルで調整する。
- 使いやすさを重視し、熟練したスクリプティングパターンを用いた複雑なワークフローの構築を可能にする、シェル風のコマンドラインインターフェース(CLI)を採用している。
- 失敗から回復するためのプロバンセンスおよび再実行システムを採用しており、ワークフロー全体を再起動せずにランダム障害に対応できる。
- ジョブ管理と複数の HPC システム間でのワークフロー調整のため、Flux や Conduit などの外部ツールとの統合をサポートしている。
- オープンソースのコンponents に基づいて構築されており、YAML ベースのワークフローディスクリプション(Maestro)と再利用可能なワークフローコンポーネント用の補足書(spellbook)を公開している。
実験結果
リサーチクエスチョン
- RQ1HPC 環境において、正確な ML モデルのトレーニングに適した、大規模で多要素のシミュレーションアンサンブルの作成を、効率的に管理するワークフローシステムはどのように実現できるか?
- RQ2シミュレータ、ポストプロセッサ、ML トレーナーを含む、異種で非同期のワークフローを、低オーバーヘッドかつスケーラブルに実行するためのアーキテクチャパターンは何か?
- RQ3ML を HPC ワークフローに統合することで、アクティブラーニングを用いてシミュレーション選択を動的にガイドし、計算の無駄を削減するにはどうすればよいか?
- RQ4Merlin のようなワークフローフレームワークは、数百万件のシミュレーションサンプルにまでスケーリング可能であり、タスクキューイングと実行のオーバーヘッドを最小限に抑えることができるか?
- RQ5大規模 HPC ワークフローにおいて、ノード障害からの回復を、再起動を伴わず実現するためのフェイルセーフとプロバンセンス追跡の実装方法は何か?
主な発見
- Merlin は、Sierra HPC システム上で、1 時間あたり約 100 万件のシミュレーションを処理する能力を発揮し、1 億 1000 万件の ICF シミュレーションを含む 100M JAG データセットを成功裏に構築した。
- タスク生成と実行におけるオーバーヘッドが低く抑えられ、理想的なベンチマークワークロードにおいて数百万件のサンプルへの効率的スケーリングを実現した。
- Merlin の動的で ML 拡張可能なワークフローにより、アクティブラーニングを用いて新たなシミュレーション選択をガイドすることで、必要なシミュレーション回数が削減された。
- エピカスト COVID-19 研究では、Merlin が複数の HPC システムを統合して一元的なリソースとして管理し、感染症モデルの高スルーレートでタイムリーな分析を可能にした。
- Merlin のプロバンセンスおよび再実行システムにより、ユーザーはランダムなシステム障害に対し、リアルタイムまたは事後的に回復可能であり、新たな専用計算リソースの割り当てを必要としなかった。
- このフレームワークは複数の HPC センタで導入されており、MIT ライセンスで公開されており、10,000 件のサンプルを含む JAG データセットと再利用可能なコンポーネントのスパellsbook も公開された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。