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


You are free to reprint the content in this Blog or excerpt or quote it without contravening the authors' intentions under the following terms: Attribution — You shall give credit to the author(s), but not in any way that suggests High-Flyer endorses you or imposes any negative influence on High-Flyer's rights. Non Commercial — You may not use the content in this Blog for commercial purposes. No Derivatives — If you remix, transform or create upon the content, you may not publish or distribute the modified content but for personal use only.