通过Kubernetes管理ALI NPU设备,能够帮助您快速部署AI推理任务,监控NPU资源使用情况等。本文主要为您介绍如何使用带有NPU资源的Kubernetes集群。
背景信息
与大型算法模型中CPU相比,NPU处理器最明显的优势是信息处理能力快。NPU采用了“数据驱动并行计算”架构,颠覆了CPU所采用的传统冯·诺依曼计算机架构,这种数据流类型的处理器大大提升了计算能力与功耗的比率。NPU特别适合处理视频、图像类的海量多媒体数据的场景,不仅速度比CPU要高出100 ~ 1000倍,同时功耗也远远低于CPU。
您可以通过阿里云Kubernetes集群 + ALI NPU运行机器学习,图像处理等高运算密度等任务,实现快速部署和弹性扩缩容等功能。
说明 如果想了解ALI NPU的相关信息,请参见AliNPU Website。
本文将以创建Kubernetes集群时,添加ecs.ebman1.26xlarge实例为例说明如何使用NPU。
使用NPU资源
如果某一个Pod需要使用NPU资源,需要在resources.limits
定义aliyun.com/npu
的值。
apiVersion: v1
kind: Pod
metadata:
name: <pod名称>
spec:
containers:
- name: <容器名称>
image: <镜像名称>
resources:
limits:
aliyun.com/npu: <请求npu资源数>
运行TensorFLow的NPU实验环境
您可以在集群中使用NPU资源完成模型训练。本例中,将会启动一个使用NPU资源的Pod进行模型训练。
执行结果
等待一段时间后,您可以通过执行以下命令查看Pod的状态。
kubectl get po test-npu-pod
如果查看到Pod的状态为Completed,再执行以下命令查看日志。
kubectl logs test-npu-pod
此时看到日志显示结果如下,表示训练任务完成。
2019-10-30 12:10:50.389452: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
100%|##########| 98/98 [00:26<00:00, 3.67it/s]
resnet_v1_50, result = {'top_5': 0.9244321584701538, 'top_1': 0.7480267286300659}
在文档使用中是否遇到以下问题
更多建议
匿名提交