学习打卡-昇思学习营第七期·昇腾开发板
一:介绍
昇思 + 香橙派 + DeepSeek是非常好的用来学习大模型,对我们学生来说还是非常爽的。
1、MindSpore是华为开源的,用于深度学习,支持多场景开发,上手快,易操作,能找到很多学习资料,另外,兼容性强,支持不同的硬件,还有就是多快好省,不会浪费过多资源。
2、DeepSeek更是厉害,那么多媒体报道过,就不过多赘述了。
3、香橙派是国产的开源硬件平台,性价比非常高,便宜而且即插即用。
二、开发环境的安装和检查
检查cann环境
此时可以看到cann是成功安装的。
如果说未成功安装,我们是可以去官网上进行下载和查看的。
可以看到,是可以找到对应的包的。
检查mindspore和mindnlp环境
可以看到,我们的mindspore和mindnlp也是安装完成了。
如果没有成功可以去官网上进行安装。
至此,环境匹配完成。
可以看到,cann的版本是8.1.r1
Mindspore版本是2.6.0
Mindnlp版本是0.5.
是符合官方给出的对应环境的。
对香橙派进行网络适配:
MindSpore NLP套件中有针对模型的ut测试,可通过pytest来测试模型在香橙派的训练和推理,并进行问题定位和调试
c. 由于MindSpore动态图下框架存在多线程异步⾏为,所以会出现python调⽤栈不准确的场景,为了精准定位 在test_modeling_qwen2.py脚本中import mindspore之后的位置,加入如下代码,重新跑pytest,查看具体的报错位置并根据报错信息修改
![]()
a. 针对算子缺失的处理方式
b. 针对损失函数报错的处理方式
针对损失函数报错的处理方式进一步查阅文档,会发现如下注意点: 1.该损失函数的labels输入需要one-hot格式 2.logits和labels的数据类型需要一致 3.输出并不是一个零维Tensor 4.的1loss值,而是一个(Ioss,dlogits)的tuple,且 loss是一个Tensor )
针对损失函数报错的处理方式针对上述三点,需要对代码进行如下修改: 1.将损失函数loss fct)修改为 mindspore.ops.SoftmaxCrossEntropyWithLogits 2.labels修改为one-hot格式 3.统一labels和logits的数据类型,计算获取loss 4.按照原本默认的reduction='mean’转成零维Tensor







