携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
导语
本篇博客是记录幻方萤火AI算力平台使用的第2篇博客,上一篇博客为大家讲解了如何配置幻方萤火的网页端管理平台和连接的vpn使用,本篇博客将记录如何在本地python环境中使用hfai工具。
安装
hfai是幻方萤火算力平台开发的强大工具,其官方文档对其介绍如下:
幻方萤火深度学习套件,hfai toolkit,简称 hfai,是幻方 AI 多年深度学习经验的集成,提供了 训练加速 、 环境管理 与 萤火调度 三类核心接口与命令行工具,以此加速用户本地的训练, 打通用户个人主机与萤火二号超算平台。通过 hfai,研究者不仅可以在本地使用 hfai 算子、框架、模型,也可以无缝地从本机提交训练任务到萤火二号上,获得 10000 张 A100 的算力加速。
具体来说,hfai是一个python的包,可以使用pip install直接安装,然而按照官方文档的说明,hfai需要python 3.8的环境,如果直接安装会报错:
(base) jiexing@jiexingdeMacBook-Pro ~ % pip install hfai
ERROR: Could not find a version that satisfies the requirement hfai (from versions: none)
ERROR: No matching distribution found for hfai
所以,我们要做的第一步是先安装一个python 3.8的conda环境,这里我安装了最新的3.8.13并给该虚拟环境取名为hfai,使用命令如下:
(base) jiexing@jiexingdeMacBook-Pro ~ % conda create -n hfai python==3.8.13
Collecting package metadata (current_repodata.json): done
Solving environment: done
……
(base) jiexing@jiexingdeMacBook-Pro ~ % conda activate hfai
接着,再激活hfai的虚拟环境后,我们可以使用如下命令安装轻量版本的hfai(我这里不需要使用高级的hfai功能,所以安装了轻量级版本,全功能版本的安装命令可以参考:doc.hfai.high-flyer.cn/start/insta… )
(hfai) jiexing@jiexingdeMacBook-Pro ~ % pip3 install hfai --extra-index-url https://pypi.hfai.high-flyer.cn/simple --trusted-host pypi.hfai.high-flyer.cn
Looking in indexes: https://pypi.org/simple, https://pypi.hfai.high-flyer.cn/simple
Collecting hfai
……
这里需要下载的依赖包比较多,耐心等待一会儿。
等待下载安装完成后,执行 hfai 能输出命令列表,即安装成功,如下:
(hfai) jiexing@jiexingdeMacBook-Pro ~ % hfai
Usage: hfai COMMAND <argument>... [OPTIONS]
Options:
-h, --help Show this message and exit.
Commands:
bash 在集群上运行 python/bash 代码, 提供了本地、萤火二号、模拟三种模式
images 用户自定义镜像的管理接口
init 初始化用户账户
list 列出用户任务列表, 用户要查看第几页的任务列表
logs 查看任务日志
monitor 获取当前任务列表相关信息
nodes 查看节点信息
python 在集群上运行 python/bash 代码, 提供了本地、萤火二号、模拟三种模式
run 根据 yaml 文件来运行一个任务,可以通过参数来覆盖配置; nodes、group、priority 参数可以覆盖...
ssh 登录到哪台机器,只能在开发容器内使用
status 查询任务状态
stop 关闭任务状态
validate 检查节点正常情况
venv 创建、查询、删除虚拟环境
version 显示版本信息
workspace 构造工作区,把本地代码推送到萤火二号上跑
可以看到,hfai有着强大的功能指令,在使用这些功能之前,我们需要先进行本地的初始化配置。
初始化
可以使用hfai init命令来进行初始化,直接输入该命令会报错,需要我们给出token参数,
(hfai) jiexing@jiexingdeMacBook-Pro ~ % hfai init
Usage: hfai init <token> [OPTIONS]
Try 'hfai init -h' for help.
Error: Missing argument 'token'.
(hfai) jiexing@jiexingdeMacBook-Pro ~ % hfai init -h
Usage: hfai init <token> [OPTIONS]
初始化用户账户
Arguments:
token 用于认证 hfai 服务的密钥,由管理员分发
Options:
--url TEXT 初始化时,用户指定萤火二号的server,如果没特别需求不用填
--bff_url TEXT 中转BFF url,如果没特别需求不用填
--venv_path TEXT 初始化时,用户指定venv_path的目录,集群环境没特别需求不用填,本地环境必填 [required]
-h, --help Show this message and exit.
这里需要注意的几点如下:
- init后必须添加一个token参数,这个参数就是账户的密码;
- --venv_path代表的是本地虚拟环境的python解释器地址,在本地环境进行初始化时,需要指定本地环境的python路径,这里我们直接填写本地新建的这个hfai的虚拟环境的python解释器的目录即可。
(hfai) jiexing@jiexingdeMacBook-Pro ~ % hfai init [token]
Usage: hfai init <token> [OPTIONS]
Try 'hfai init -h' for help.
Error: Missing option '--venv_path'.
(hfai) jiexing@jiexingdeMacBook-Pro ~ % which python
/Users/jiexing/opt/anaconda3/envs/hfai/bin/python
(hfai) jiexing@jiexingdeMacBook-Pro ~ % hfai init [token] --venv_path /Users/jiexing/opt/anaconda3/envs/hfai/bin/python
初始化成功, 目标配置 /Users/jiexing/.hfai/conf.yml, 配置如下:
bff_url: https://bff.yinghuo.high-flyer.cn/proxy/s
token: [token]
url: http://api.yinghuo.high-flyer.cn
venv_path: /Users/jiexing/opt/anaconda3/envs/hfai/bin/python
使用hfai init会将账号的配置信息放在本地机器中,后续既可以进行本地项目的构建和推送。
总结
本篇博客记录了幻方萤火AI算力平台工具的使用,通过本篇的介绍,我们在本地环境中已经可以成功搭建好本地的hfai工具环境。后续,将使用workspace功能进行本地代码的上传和运行,敬请期待。
参考
-
开始使用 hfai,www.high-flyer.cn/blog/hfai_u…