[论文解读] Chunkflow: Distributed Hybrid Cloud Processing of Large 3D Images by Convolutional Nets
Chunkflow 是一种混合云框架,通过将体积分割为重叠的块,在本地和云 GPU/CPU 集群上分布处理,并融合结果,实现了对千兆像素和拍字节级生物医学图像的分布式、低成本 3D ConvNets 推理。它利用容错任务队列(AWS SQS),支持 PyTorch 和 PZnet 后端,并支持实时可视化和大规模评估,通过使用如抢占式或按需虚拟机等不稳定云实例降低计算成本。
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 ConvNets 处理由千兆像素和拍字节级 3D 生物医学图像带来的计算和内存瓶颈。
- 通过利用未充分利用的低成本云实例(如 AWS Spot 或 Google 抢占式虚拟机)来降低大规模 3D ConvNet 推理的计算成本和基础设施负担。
- 实现在本地和公共云资源之间灵活、与供应商无关的分布式推理部署,避免绑定特定供应商或集群。
- 在处理过程中支持推理结果的实时可视化和大规模评估,以提升模型调试和泛化能力。
- 提供可组合的命令行接口,实现 3D 图像处理流水线中块操作的灵活组合。
提出的方法
- 该框架将大型 3D 图像体积划分为重叠的、可管理的块,以实现分布式处理。
- 采用生产者-消费者架构,结合 AWS 简单队列服务(SQS),解耦任务提交与执行,支持动态扩展工作节点。
- 运行在本地机器或云实例上的工作节点从 SQS 队列中获取任务,使用 PyTorch(GPU)或 PZnet(CPU)处理其分配的图像块,并返回结果。
- 通过重叠区域对单个块的结果进行融合,生成全局一致的输出图像。
- 系统通过重新处理失败任务实现容错,支持在不稳定但低成本的云实例(如 Spot 或抢占式虚拟机)上可靠运行。
- 通过集成 neuroglancer 预计算格式,实现在处理过程中对推理结果(包括缩略图和亲和图)进行实时可视化。
实验结果
研究问题
- RQ1混合云、分布式框架能否高效且低成本地在千兆像素和拍字节级生物医学图像上执行 3D ConvNet 推理?
- RQ2容错任务队列和动态工作节点扩展在使用不可靠、低成本云实例时,如何降低计算成本?
- RQ3在大规模 3D 图像数据集中,基于 CPU 的 PZnet 推理在单位成本下的吞吐量在多大程度上可与基于 GPU 的推理相匹配或超越?
- RQ4在处理过程中对中间结果进行实时可视化,如何提升 3D ConvNet 推理流水线的调试和大规模评估能力?
- RQ5可组合的命令行接口能否实现跨不同计算后端的灵活、模块化 3D 图像块处理?
主要发现
- Chunkflow 使用 U-Net 风格的 3D ConvNet,成功处理了一幅来自连续切片电子显微镜的大规模 3D 大脑图像,展示了在拍字节级数据上的可扩展性。
- 容错任务队列的使用使得在不稳定云实例上可靠执行成为可能,显著降低了计算成本。
- 在某些情况下,PZnet 的 CPU 推理实现了比 GPU 推理更高的单位成本吞吐量,使基于 CPU 的处理对某些模型更具成本效益。
- 对下采样缩略图和亲和图的实时可视化使用户能够在处理过程中监控和验证结果,实现错误的早期检测。
- 可组合的命令行接口支持灵活组合块操作,增强了不同处理流水线之间的可重用性和可扩展性。
- 尽管采用块级处理,通过融合重叠区域,框架实现了输出的全局一致性,即使裁剪尺寸小于补丁大小的一半,也仅产生极少的视觉伪影。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。