
昇腾AI
谨以此篇记录我在华为ict大赛昇腾AI赛道的学习笔记
AI计算体系
深度学习计算模式
AI的发展和范式
人工智能的发展可分为三个阶段:
- 符号主义(1950s-1980s):基于逻辑规则构建专家系统,受限于人工定义规则的复杂性。
- 统计学习(1990s-2010s):通过概率模型(如支持向量机、随机森林)从数据中学习规律,但依赖人工特征工程。
- 深度学习(2012年至今):利用多层神经网络自动提取特征,核心突破源于反向传播算法、大规模数据集(如ImageNet)和GPU加速计算的结合。
深度学习的本质是通过多层非线性变换,将输入数据映射到高维空间进行表征学习。其成功依赖三个要素:
- 数据规模:现代模型需百万级标注样本
- 算力支持:训练GPT-3需3.14×10^23次浮点运算
- 算法创新:如批量归一化、残差连接等训练稳定技术
经典模型架构
卷积神经网络(CNN)
- LeNet(1998):首个应用于手写数字识别的CNN,包含两个卷积层和三个全连接层
- ResNet(2015):通过残差连接(公式:$y = F(x) + x$)解决深层网络梯度消失问题,网络深度可达152层
Transformer
- 自注意力机制:计算输入序列中每个位置与其他位置的关联权重
$$Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$ - 位置编码:通过正弦函数注入序列位置信息,公式:
$$PE_{(pos,2i)} = \sin(pos/10000^{2i/d})$$
$$PE_{(pos,2i+1)} = \cos(pos/10000^{2i/d})$$
了解基本概念
Host
Host指与Device相连接的X86服务器、ARM服务器,会利用Device提供的NN(Neural-Network)计算能力,完成业务。
Device
Device指安装了昇腾AI处理器的硬件设备,利用PCIe接口与Host侧连接,提供NN计算能力。
开发环境、运行环境
开发环境指开发代码的环境,运行环境指运行算子、推理或训练等程序的环境,运行环境上必须带昇腾AI处理器。
运行用户
运行推理业务或执行训练的用户
创建项目目录
test
date
model
下载测试图片
cd $HOME/first_app/data
wget https://obs-9be7.obs.cneast2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg
cd $HOME/first_app/data
wget https://obs-9be7.obs.cn-eas2.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg
下载模型
cd $HOME/first_app/model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx
模型转换,对于开源框架的模型,不能直接在昇腾AI处理器上进行推理,需要使用ATC(Ascend Tensor Compiler)工具将开源框架的网络模型转换为适配昇腾AI处理器的离线模型(.om文件)。
执行以下命令(以 Atlas 推理系列产品 为例),将原始模型转换为昇腾AI处理器能识别的.om模型文件。请注意,执行命令的用户需具有命令中相关路径的可读、可写权限。
atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape="actual_input_1:1,3,224,224" --
soc_version=<soc_version>
如果无法确定当前设备的soc_version,可按如下方法查询:
在安装昇腾AI处理器的服务器执行npu-smi info命令进行查询,获取Chip Name信息。实际配置值为AscendChip Name,例如Chip Name取值为xxxyy,实际配置值为Ascendxxxyy。
参数如下
--model:ResNet-50网络的模型文件的路径。
--framework:原始框架类型。5表示ONNX。
--output:resnet50.om模型文件的路径。请注意,记录保存该om模型文件的路径,后续开发应用时需要使用。
--input_shape:模型输入数据的shape。
--soc_version:昇腾AI处理器的版本
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 许步鸢
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果