MindX DL架构
MindX DL的系统架构如图 MindX DL架构所示:
特性 |
组件 |
功能介绍 |
---|---|---|
集群调度 |
Ascend Device Plugin |
基于Kubernetes设备插件机制,增加昇腾AI处理器的设备发现、设备分配、设备健康状态上报功能,使Kubernetes可以管理昇腾AI处理器资源。 |
HCCL-Controller |
华为研发的一款用于昇腾AI处理器训练任务的组件,利用Kubernetes(简称K8s)的informer机制,持续记录训练任务及其Pod的各种事件,并读取Pod的昇腾AI处理器信息,生成对应的configmap。该configmap包含了训练任务所依赖的集合通讯配置,方便训练任务更好地协同和调度底层的昇腾AI处理器,无需用户手动配置。 |
|
Volcano |
基于开源Volcano调度的插件机制,增加昇腾AI处理器的亲和性调度、故障重调度等特性,最大化发挥昇腾AI处理器计算性能。 |
|
NPU-Exporter |
该组件为Prometheus生态组件,提供了昇腾AI处理器资源各种指标的实时监测,可实时获取昇腾AI处理器利用率、温度、电压、内存,以及昇腾AI处理器在容器中的分配状况等信息。 |
|
NodeD |
提供节点状态上报功能,如节点心跳上报。 |
|
Elastic-Agent |
在数据并行、混合并行场景下提供断点续训临终遗言(临终ckpt)和策略恢复功能。当用户需要使用断点续训临终遗言功能时,需要在训练容器中安装该组件。 |
|
Resilience-Controller |
韧性控制器,提供最小训练系统的韧性控制。在训练任务使用的硬件故障时,可以剔除该硬件,继续训练。 |
|
Ascend Docker Runtime |
容器引擎插件,为所有AI作业提供NPU容器化支持,使用户进行AI作业时能够以Docker容器的方式平滑地在昇腾设备上运行。 |
|
Ascend Operator |
支持MindSpore、PyTorch、TensorFlow三个AI框架在Kubernetes上进行分布式训练的插件,CRD(Custom Resource Definition)中定义了AscendJob任务,用户只需配置yaml文件,即可以为不同AI框架的分布式训练任务提供相应的环境变量。 |
|
模型保护 |
AI-Guard |
模型加密后,通过密文传输与存储,密文模型可直接部署到生产环境中,可基于密文模型进行推理,保障模型在传输与存储过程中的机密性。 |
Crypto-FS |
提供透明解密与模型访问控制功能,应用可基于Crypto-FS访问密文模型,做到应用不感知模型解密过程。Crypto-FS对解密后的模型进行访问控制,避免其他程序非法访问模型。 |
|
AI-Vault |
提供主密钥管理与预共享密钥管理功能,支持高并发规格,支持大规模集群使用。在应用访问模型时,提供密钥解密接口供Crypto-FS调用,使Crypto-FS自动完成模型解密。 |
|
ToolBox |
Ascend-dmi |
为Atlas产品的标卡、板卡及模组类产品提供带宽测试、算力测试、功耗测试等功能。 |
AtlasCert |
为软件包提供数据签名校验、CRL证书吊销列表的功能,保证软件包的安全性和CRL文件的有效性。 |