Shortcuts

基本介绍

幻方萤火深度学习套件 hfai 是幻方 AI 多年深度学习经验的集成,其以任务级分时调度共享 AI 超算的理念10000 张 A100 整合成一台超级计算机,充分发挥澎湃如海的算力。 无论是从底层的硬件还是上层的框架与算子,深度学习训练中的每一个环节都融合了幻方 AI 多年的优化经验,算力资源获得了极大的释放。 用户可以没有顾及地尽情研发模型提交任务,集群将算力在时间轴上分片,让您的任务获得合理的算力分配。 便捷的接口设计,简单明了的任务管理界面,hfai 可以让您获得畅快淋漓的模型训练体验。

更多信息可以参考官方技术博客:https://www.high-flyer.cn/blog/hfai/

功能概览

代码示例

核心概念

集群计算资源

幻方萤火集群每个计算节点有 8 张 GPU。用户提交任务时需选定节点数量 n,则该任务可获得 n*8 个 GPU。每个任务至少使用 8 张卡。用户须合理定义模型运算方式(如:分布式数据并行训练),最大化使用GPU资源。

数据集格式

幻方萤火超算集群配备了自研的高性能分布式存储系统 3FS,支持大数据集高并发读取。如果原始数据集含较多小文件,需要用户预处理聚合成大文件后再存储到平台。建议使用 ffrecord 格式规范聚合文件。

集群是内网环境,用户个人的训练数据集需预先上传,平台以只读方式将数据集挂载到特定目录下,具体操作请联系管理员

任务调度

幻方萤火集群以分时调度的方式为任务分配计算节点,根据当前资源需求、集群忙闲程度等进行任务的中断和加载,任务代码需要遵循平台编码规则以确保可以断点续跑,具体包括:

  1. 接受集群的打断信号;

  2. 保存 checkpoint(模型参数,优化器参数等);

  3. 通知集群打断;

  4. 从 checkpoint 恢复,继续运行。

具体操作请阅读 分时调度 篇章内容,您也可以访问 hfai 模型仓库 阅读完整案例代码。

代码运行环境依赖

萤火集群的所有计算节点仅在内网通信,不支持访问公网安装环境。集群基础环境包含大部分主流依赖包,建议用户在开始使用时先测试该环境是否可以满足您的代码运行需求。使用方式如下,在代码开头加入:

import hf_env
hf_env.set_env('202111') 

import ...

所提交的任务即可加载集群默认环境进行运行。该环境的详细配置如下:

环境代号

环境名称

torch版本

cuda版本

202111

ubuntu2004-cu113-ext

1.10.0+cu113

11.3

如果您有自己特殊环境的需求,可以通过 hfai venv 工具在您本地机器里创建环境后再上传集群。同样,在运行主代码开头加入:

import hfai_env
hfai_env.set_env(<venv_name>) 

import ...

后续的依赖都会在您所创建的这个虚拟环境中加载。

工作区

工作区包含了您项目工程目录下的代码、数据、中间结果、训练好的模型等一系列内容,以本地工程目录为单位,进行本地和远程萤火集群的同步管理。

本地目录通过 hfai worksapce 工具,可以实现本地和萤火之间的数据互传。

更多操作说明请阅读 环境管理