Skip to main content
QUICK REVIEW

[論文レビュー] Chunkflow: Distributed Hybrid Cloud Processing of Large 3D Images by Convolutional Nets

Jingpeng Wu, William Silversmith|arXiv (Cornell University)|Apr 23, 2019
Cell Image Analysis Techniques参考文献 18被引用数 13
ひとこと要約

Chunkflow はハイブリッドクラウドフレームワークであり、大規模なテラボクセルおよびペタボクセルスケールのバイオメディカル画像における 3D ConvNets の分散型で費用対効果に優れた推論を可能にする。これは、ボリュームを重複するチャンクに分割し、ローカルおよびクラウド上の GPU/CPU クラスタで処理し、結果をブレンドすることで実現される。故障耐性のあるタスクキューイング(AWS SQS)を活用し、PyTorch および PZnet バックエンドをサポートしており、リアルタイム可視化と大規模評価を可能にし、スポットやプリエンプティブルVMのような不安定なクラウドインスタンスを活用することでコストを削減する。

ABSTRACT

It is now common to process volumetric biomedical images using 3D Convolutional Networks (ConvNets). This can be challenging for the teravoxel and even petavoxel images that are being acquired today by light or electron microscopy. Here we introduce chunkflow, a software framework for distributing ConvNet processing over local and cloud GPUs and CPUs. The image volume is divided into overlapping chunks, each chunk is processed by a ConvNet, and the results are blended together to yield the output image. The frontend submits ConvNet tasks to a cloud queue. The tasks are executed by local and cloud GPUs and CPUs. Thanks to the fault-tolerant architecture of Chunkflow, cost can be greatly reduced by utilizing cheap unstable cloud instances. Chunkflow currently supports PyTorch for GPUs and PZnet for CPUs. To illustrate its usage, a large 3D brain image from serial section electron microscopy was processed by a 3D ConvNet with a U-Net style architecture. Chunkflow provides some chunk operations for general use, and the operations can be composed flexibly in a command line interface.

研究の動機と目的

  • テラボクセルおよびペタボクセルスケールの 3D バイオメディカル画像を 3D ConvNets で処理する際の計算およびメモリのボトル neck 問題を解決すること。
  • AWS スポットや Google のプリエンプティブルVM などの未利用状態で低コストなクラウドインスタンスを活用することで、大規模な 3D ConvNet 推論の実行にかかるコストとインfra 構築負担を低減すること。
  • ベンダー依存やクラスターバインディングなしに、ローカルおよびパブリッククラウドリソースにわたる分散推論を柔軟に、ベンダーに依存しない形でデプロイできること。
  • 処理中に推論結果のリアルタイム可視化と大規模評価を可能にすることで、モデルのデバッグと一般化の向上を図ること。
  • 柔軟な 3D イメージ処理パイプラインにおけるチャンク操作の合成が可能な、合成可能なコマンドラインインターフェースを提供すること。

提案手法

  • フレームワークは、大規模な 3D イメージボリュームを重複する、処理可能なチャンクに分割することで、分散処理を可能にする。
  • AWS Simple Queue Service (SQS) を用いたプロデューサ・コンシューマアーキテクチャを採用し、タスクの送信と実行を分離することで、ワーカーの動的スケーリングを可能にする。
  • ローカルマシンやクラウドインスタンスで実行されるワーカーは、SQS キューからタスクを取得し、PyTorch (GPU) や PZnet (CPU) を用いて割り当てられた画像チャンクを処理し、結果を返す。
  • 個々のチャンクからの結果は、重複領域を用いてブレンドされ、グローバルに一貫性のある出力画像が生成される。
  • 失敗したタスクの再処理により故障耐性を実現しており、スポットやプリエンプティブルVM などの不安定な低コストクラウドインスタンスの信頼性ある使用が可能になる。
  • neuroglancer の precomputed 形式との統合により、処理中にダウンサンプルされたサムネイルやアフィニティマップを含む推論結果のリアルタイム可視化が可能になる。

実験結果

リサーチクエスチョン

  • RQ1ハイブリッドクラウドおよび分散処理フレームワークは、テラボクセルおよびペタボクセルスケールのバイオメディカル画像における 3D ConvNet 推論を、効率的かつ低コストで実行できるか?
  • RQ2故障耐性のあるタスクキューイングと動的ワーカースケーリングは、信頼性の低い低コストクラウドインスタンスを用いる場合に、計算コストをどの程度低減できるか?
  • RQ3CPU による推論(PZnet を用いて)は、大規模な 3D イメージデータセットにおいて、GPU による推論と比較してスループット/ドルの観点で同等または上回る性能を示せるか?
  • RQ4処理中に中間結果のリアルタイム可視化は、3D ConvNet 推論パイプラインのデバッグおよび大規模評価をどの程度向上できるか?
  • RQ5合成可能なコマンドラインインターフェースは、多様な計算バックエンドにわたる 3D イメージチャンクの柔軟でモジュラーな処理を可能にするか?

主な発見

  • Chunkflow は、シリアルセクション電子顕微鏡から得られた大規模な 3D 脳画像を U-Net スタイルの 3D ConvNet を用いて処理し、ペタスケールデータにおけるスケーラビリティを実証した。
  • 故障耐性のあるタスクキューイングの活用により、不安定なクラウドインスタンス上でも信頼性の高い実行が可能となり、計算コストが顕著に削減された。
  • PZnet を用いた CPU 推論は、一部のケースで GPU 推論よりも高いスループット/ドルを達成し、特定のモデルでは CPU 側の処理がよりコスト効率がよかった。
  • ダウンサンプルされたサムネイルやアフィニティマップのリアルタイム可視化により、処理中に結果を監視・検証でき、誤りの早期検出が可能になった。
  • 合成可能なコマンドラインインターフェースにより、チャンク操作の柔軟な合成が可能になり、さまざまな処理パイプラインにおける再利用性と拡張性が向上した。
  • 重複領域のブレンドにより、チャンク単位での処理でも出力がグローバルに一貫性を持つことが実証され、パッチサイズの半分未満のクロップサイズでも最小限の視覚的アーチファクトで済んだ。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。