hfai images | 自定义镜像,解决环境配置的最后一里路

High-Flyer    November 11, 2022

幻方 AI 发布了其沉淀多年的深度学习套件 hfai ,吸引了众多同行研究员和开发者们咨询试用。整个套件的功能较多,而熟悉掌握了这套规则,是能够轻松地调用起平台的算力资源,从而高效完成训练任务的。为此,我们专门创建了 “hfai 使用心法” 系列专辑,陆续为大家介绍 hfai 一些功能的设计思路和原理,帮助大家更快上手 hfai,游刃有余的应对深度学习作业的各项挑战。

之前的文章为大家介绍了使用 haienv 构建运行环境和执行任务,然而对于一些特殊的场景,如强化学习、物理仿真等,单单通过安装 Python 依赖已不足以满足需求。研究者往往会构建项目特有镜像。如何将这类需求在萤火集群上支持是幻方 AI 研发者们在思考研究的问题。

最近,hfai images 功能面世,为研究者和开发者们提供了一套解决此类方法的绝招。本期文章将为大家详细介绍。

使用场景

上一期文章所介绍的,haienv 为萤火集群的用户提供了自建 Python 运行环境的能力,其支持 pip, conda 两种方式满足大部分用户环境构建的需求。

hfai images 解决的是一些非 Python 环境安装的问题,比如物理仿真里要安装模拟器,分子计算工具等。

幻方 AI 对集群中的镜像进行了深度优化和封装,以满足萤火集群高性能的深度学习训练要求。因此 hfai 虽支持用户的自有镜像构建,但需要符合 hfai 的规范和流程,其过程需要幻方管理员的参与和支持

在确定使用 hfai images 之前,请您审视自己的环境安装需求,确定只有自有镜像这一条路比较方便后,可以和管理员联系

使用流程

hfai images 的使用流程包含如下几步:

  1. 获取集群中的 base 镜像的 tar 包。我们提供了 cuda_111cuda_113 两个版本,基于 Ubuntu 20.04

  2. 在本地加载上述 tar 包,比如 registry.high-flyer.cn/platform/hf_training:ubuntu2004-cu113-20221019

  3. 基于上述 base 镜像构建自己的镜像(比如 python:3.8-alpine);

  4. docker save 自己的镜像,保存成 tar 包(比如 python-alpine.tar),通过 hfai workspace 上传到萤火集群;

  5. 打开 Studio 进入 workspace 目录,使用 hfai images load 命令(比如 hfai images load python-alpine.tar);

  6. 等待完成,可以通过 hfai images list 命令查看。这里镜像加载完成后返回如下结果:

    hfai list case

  7. 等状态变成 loaded 之后,您才可以通过 hfai python test.py -- -n 1 --image registry.high-flyer.cn/hfai/python:3.8-alpine 来使用您所构建的镜像。


本文作者: High-Flyer


您可以转载、不违背作品原意地摘录及引用本技术博客的内容,但必须遵守以下条款: 署名 — 您应当署名原作者,但不得以任何方式暗示幻方为您背书,亦不会对幻方的权利造成任何负面影响。 非商业性使用 — 您不得将本技术博客内容用于商业目的。 禁止演绎 — 如果基于该内容改编、转换、或者再创作,您不得公开或分发被修改内容,该内容仅可供个人使用。