コンテンツに移動
Containers & Kubernetes

スタンフォード大学の科学研究に GKE を活用して DevOps の原則を適用

2024年4月4日
Google Cloud Japan Team

※この投稿は米国時間 2024 年 3 月 23 日に、Google Cloud blog に投稿されたものの抄訳です。

編集者注: スタンフォード大学の Paul Nuyujukian 助教授率いる脳推論研究所のチームは、脳卒中やてんかんなどの病状に対応するブレインマシン インターフェースを開発する取り組みの一環として、運動系の神経科学と神経工学への応用を探求しています。このブログでは、チームが Google Cloud のデータ ストレージ、コンピューティング、分析機能を活用して、科学データの収集、処理、共有を効率化し、科学の向上と資金提供機関の規制遵守を図っている方法について説明します。

科学的発見は、大量の高品質データとそれらのデータに対して実行される高度な分析に、かつてないほど依存しています。そのため、実験からデータを確実に取得して保存し、スケーラブルかつ安全な方法でデータを処理する能力が研究者にとってますます重要になってきています。さらに、コラボレーションとピアレビューは、発見を幅広いオーディエンスにとって利用しやすく有益なものにするためのプロセスの重要な要素です。

科学研究の基本は、厳密性、再現性、透明性であり、科学的知見が信頼され、それらに基づいて構築されることを保証する重要な要素です [1]。最近、米国の連邦資金提供機関は研究データの利用可能性に関する厳格なガイドラインを採用しており、データのベスト プラクティスを活用することは科学者にとって実用的で有益であるだけでなく、今や義務となっています [2345]。幸いなことに、Google Cloud は科学データの収集、処理、共有を合理化するために使用できる豊富なデータ ストレージ、コンピューティング、分析機能を提供しています。

スタンフォード大学脳推論研究所の Paul Nuyujukian 教授と彼の研究チームは、運動系の神経科学と神経工学への応用を研究しています。彼らの研究の一つに、脳がどのように運動を制御し、損傷から回復するかを研究して、脳卒中やてんかんを中心とするさまざまな脳関連の病状に対するプラットフォーム テクノロジーとしてブレインマシン インターフェースを確立する取り組みがあります。関連データは、前臨床モデルでの実験とヒトの臨床研究から得られたものです。これらの実験で収集された生の実験データは非常に貴重であり、正確に再現することは事実上不可能です(潜在的なコストがかかることは言うまでもありません)。

https://storage.googleapis.com/gweb-cloudblog-publish/images/stanford-gitlab-post-figure-1.max-1400x1400.jpg

図 1: 科学技術計算ワークフローの概略図

上記の課題に対処するために、Nyujukian 教授はソフトウェア開発で一般的な DevOps アプローチを構築する手法から主に発想を得た、高度なデータ収集・分析プラットフォームを開発しました [6、図. 2]。このシステムの成功の鍵は、標準化、自動化、再現性、スケーラビリティです。このプラットフォームでは、標準化された分析も、異種計算環境における「単発的」な分析やアドホック分析も、両方可能です。システムの重要なコンポーネントは、コンテナ、GitCI / CDGitLab Runners を活用)、オンプレミスと Google Cloud などのクラウド環境(特に Autopilot モードで実行される Google Kubernetes EngineGKE))の両方における高性能コンピューティング クラスタです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/stanford-gitlab-post-figure-2.max-1100x1100.png

図 2: 科学技術計算に DevOps を活用

Google Cloud は、科学実験(基礎科学から臨床研究まで)から収集されたデータに対して実行する必要があるさまざまな分析のための、安全でスケーラブル、かつ相互運用性の高いフレームワークを提供します。GitLab パイプラインは、さまざまなデータセットに適用する必要がある変換と分析を指定します。GKE(またはその他のオンプレミス クラスタ / ハイ パフォーマンス コンピューティング環境)上で実行される GitLab Runner インスタンスは、スケーラビリティと費用対効果に優れた方法でこれらのパイプラインを実行するために使用されます。特に Autopilot 環境は、フルマネージドで最小限のカスタマイズや継続的な「手動」メンテナンスしか必要としないため、研究者に大きなメリットをもたらします。さらに、Spot VM 料金であっても、実行する必要がある分析の需要に応じて即座にスケールできるため、費用対効果の高いコンピューティングが可能になります。そして、アイドル状態ではゼロ近くまでスケールダウンし、需要が再び増加するとスケールアップします。これらすべてが研究者の介入なしに行われます。

GitLab パイプラインは、YAML ファイルで定義された明確で整理された構造を持っています。データ変換は多段階であることが多く、GitLab のフレームワークはそのようなアプローチを明示的にサポートしています。デフォルトは、さまざまなデータ変換ステージなど、パイプライン全体に設定でき、必要に応じて特定のステージに上書きできます。データ変換パイプラインの正確なステップはコンテキストやケースに依存する可能性があるため、パイプラインの動的定義(たとえば、前の分析ステップの結果に応じた定義)とともに、条件付きロジックがサポートされています。重要なのは、GitLab パイプラインのさまざまなステージをさまざまなランナーで実行できるため、異種環境間でのパイプラインの実行が容易になることです。たとえば、実験用収集システムからデータを転送し、クラウドやオンプレミスのコンピューティング スペースで処理することが可能です [. 3]

https://storage.googleapis.com/gweb-cloudblog-publish/images/stanford-gitlab-post-figure-3.max-600x600.png

図 3: Google Kubernetes Engine でホストされる GitLab ランナーを介した Google Cloud ベースの科学技術計算ワークフローのアーキテクチャ

クラウド コンピューティング リソースは優れたスケーラビリティを提供し、パイプラインはこのスケーラビリティを活用してステージの並列実行を可能にします。これにより、研究者は大規模な変換を実行し、データ処理と分析を大幅に高速化できます。パイプラインのパラメータ化により、研究者は取得した多くのデータセットや分析バリエーションにわたる処理プロトコルの検証を自動化し、堅牢で再現性のある持続可能なデータ分析ワークフローを実現できます。

コラボレーションとデータ共有は、科学的発見のもう一つの重要な側面であり、今や必須のものとなっています。同じ研究室や異なる研究室の研究者たちが、何世代にもわたって長期間特定のデータセットや分析ワークフローを扱うことがあります。上記のような標準化されたパイプラインは、本質的に自己文書化されているため、データの収集方法や処理方法に関する透明性を提供するうえで中心的な役割を果たします。これにより、スケーラブルで再現可能な検出が可能になります。たとえば、データの来歴はこのフレームワークによって明示的にサポートされています。コンテナを多用することで、ワークフローも適切にカプセル化され、特別に調整されたローカル コンピューティング環境に依存しなくなります。その結果、厳密性、再現性、透明性が向上し、多数のオーディエンスがデータセットやデータ変換ワークフローを生産的に操作できるようになります。

結論として、Google Cloud で利用可能なコンピューティング、データ ストレージ、変換テクノロジーと、GitLab などの CI / CD エンジンのワークフロー機能を使用することで、研究者は厳密性、再現性、透明性を高める取り組みを促進し、同時に関連する政府規制の遵守も実現する、非常に有能で費用対効果の高い科学的データ分析環境を構築できるのです。

参照:

  1. 厳密性と透明性による再現性の向上

  2. NIH が重大な指令を発令: データを公的に共有

  3. データ マネジメントと共有に関する NIH の最終方針

  4. ファクトシート: バイデン - ハリス政権、オープンで公平な研究を推進するための新たな措置を発表

  5. 各行政省庁長のための覚書

  6. 科学技術計算に DevOps を活用

-スタンフォード大学、生体工学、脳神経外科、電気工学科、Paul Nuyujukian 氏

-Google Cloud、プラクティス リード、Volker Eyrich

投稿先