在 Kubernetes 上部署和使用多框架深度学习平台

源节点: 1580762

课程描述

作为深度学习从业者,您在编排训练工作时需要可靠性和可扩展性。此外,您可能希望在多个库中以一致的方式执行此操作。借助 Kubernetes 上的 Fabric for Deep Learning (FfDL),您可以通过让用户能够以最少的努力以弹性方式利用云中的深度学习库(例如 Caffe、Torch 和 TensorFlow)来实现这一目标。该平台使用分布和编排层,有助于在合理的时间内跨计算节点从大量数据中学习。资源配置层支持对基础设施即服务 (IaaS) 云中的异构资源(例如图形处理单元 (GPU) 和中央处理单元 (CPU))进行灵活的作业管理。

概述

训练深度神经网络,称为深度学习(机器学习方法的一部分),是高度复杂且计算密集型的。深度学习的典型用户不必要地接触底层硬件和软件基础设施的细节,包括配置昂贵的 GPU 机器、安装深度学习库以及在执行期间管理作业以处理故障和恢复。尽管从 IaaS 云获取硬件并按小时付费很容易,但用户仍然需要管理这些机器、安装所需的库并确保深度学习训练作业的弹性。

这就是深度学习即服务的机会所在。在此 Code Pattern 中,我们向您展示如何在 Kubernetes 上部署深度学习 Fabric。通过使用 Kubernetes、微服务、Helm 图表和对象存储等云原生架构工件,我们向您展示如何部署和使用深度学习 Fabric。该 Fabric 跨越多个深度学习引擎,例如 TensorFlow、Caffe 和 PyTorch。它将云服务的灵活性、易用性和经济性与深度学习的强大功能结合在一起。您会发现它易于使用,并且通过使用 REST API,您可以根据用户要求或预算使用不同的资源自定义培训。让用户专注于深度学习和应用,而不是关注故障。

自动化流程

流

  1. FfDL 部署程序将 FfDL 代码库部署到 Kubernetes 集群。 Kubernetes 集群配置为使用 GPU、CPU 或两者,并且可以访问 S3 兼容的对象存储。如果未指定,则会创建本地模拟的 S3 Pod。
  2. 部署后,数据科学家将模型训练数据上传到 S3 兼容的对象存储。 FfDL 假设数据已经采用不同深度学习框架规定的所需格式。
  3. 用户创建 FfDL 模型清单文件。清单文件包含描述 FfDL 中的模型的不同字段、其对象存储信息、资源要求以及训练和测试期间模型执行所需的多个参数(包括超参数)。然后,用户通过使用 CLI/SDK 或 UI 与 FfDL 交互,以使用模型定义文件部署 FfDL 模型清单文件。用户启动训练作业并监控其进度。
  4. 训练作业完成后,用户下载训练后的模型和相关日志。

说明

在自述文件中查找此模式的详细步骤。这些步骤将向您展示如何:

  1. 编译、编码并构建 Docker 镜像。
  2. 使用 helm install 安装 FfDL 组件。
  3. 运行脚本来配置 Grafana 以监控 FfDL。
  4. 获取 Grafana、FfDL Web UI 和 FfDL REST API 端点。
  5. 使用 TensorFlow 和 Caffe 运行一些简单的作业来训练卷积网络模型。

来源:https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

时间戳记:

更多来自 IBM开发人员