如何运行具有奇点的NGC深度学习容器
How to Run NGC Deep Learning Containers with Singularity
高性能计算机和人工智能的融合使新的科学突破成为可能。现在需要在同一个系统上同时部署HPC和AI工作负载。
支持HPC和AI工作负载所需的软件环境的复杂性是巨大的。应用软件依赖于许多相互依赖的软件包。仅仅获得一个成功的构建是一个挑战,更不用说确保构建得到优化,以利用最新的硬件和软件功能。
容器是一种广泛采用的降低HPC和AI软件部署复杂性的方法。整个软件环境,从深度学习框架本身,到性能所必需的数学和通信库,都打包成一个包。由于容器中的工作负载总是使用相同的环境,因此性能是可复制和可移植的。
NGC是一个GPU优化软件的注册中心,通过提供定期更新和验证的HPC和AI应用程序容器,使科学家和研究人员受益匪浅。NGC最近宣布从19.11版开始,支持在Singularity容器运行时使用deep learning 容器。这大大简化了使用奇点的HPC站点采用人工智能方法的过程。
这文说明了NGC和Singularity是如何极大地简化在HPC系统上部署深度学习工作负载的。
Training ResNet-50 with TensorFlow
ResNet首次用于赢得2015年ImageNet比赛,至今仍是一种流行的图像分类模型,被广泛用作深度学习训练的基准。在几个简单的步骤中,将演示如何使用TensorFlow和ImageNet数据库中的图像训练ResNet-50v1.5模型。尽管目前ResNet模型的训练几乎是微不足道的,但这里所示的相同方法可以用于扩展更大模型的训练,也可以用于其深度学习框架。
Figure 1: ResNet-50 architecture (source)
除了作为一个容器注册表,NGC还提供完整的人工智能工作流,包括预先训练的模型和脚本