昇思学习营第七期·昇腾开发板学习打卡_第一次:
还记得之前一个学长带着我做项目的时候就是使用的jetson nano做的上位机的方案来实现的。当时的jetson nano的价格真的让人望而却步啊,一块4G显存的板子需要2000左右,还不是原厂的。今天学习了香橙派+mindspore的上位机方案真的是让我狂喜啊。
不论是之前的树莓派还是jetson nano大部分价格都是因为关税的原因,但是今天终于又一款国产的cpu+npu的平替实现方案了。
可以看见,这块AIpro拥有者20T的强劲算力,显存也有24G,性能也相当不错了,会想起当初,如果我拥有一块这样的上位机,可能当初的比赛成绩又得上升一个等级了。
可以看到,除了香橙派硬件上的支持,我们的软件方面也是需要有强大生态来支持的。此时就不得不请出我们的国产ai框架mindspore了。我们的国产生态也是相当的strong和丰富啊。
下面,我学习到了如何在香橙派上进行模型的开发和适配
1.对于CANN的安装和验证。
我们可以用下方的命令在终端中输入查看我们的cann是否安装成功。
cat /usr/local/Ascend/ascend-toolkit/8.1.RC1/aarch64-linux/ascend_toolkit_install.info
可以看见已经成功安装了cann。
2.对于MindSpore
昇思MindSpore这个框架真的超级友好。它是华为开源的,支持各种AI开发场景,而且操作起来特别顺手。
它有很多和PyTorch类似的接口,而且还有中文文档,对于有一些pytorch基础的同学来说,学习mindspore完全不是问题。
我们来查看自己的mindspore版本:
pip show mindspore
可以看见已经成功安装了2.6.0版本的。
3. Mindnlp
我对mindnlp的理解就是mindnlp就相当于transformers
验证mindnlp:
pip show mindnlp
至此,我们需要的开发环境安装完成了。
网络调试:
由于MindSpore NLP套件中有针对模型的ut测试,可通过pytest来测试模型在香橙派的训练和推理,并进行问题定位和调试:
对算子缺失进行定位和修改:
由于MindSpore动态图下框架存在多线程异步⾏为,所以会出现python调⽤栈不准确的场景,为了精准定位在test_modeling_qwen2.py脚本中import mindspore之后的位置,加入如下代码,重新跑pytest,查看具体的报错位置并根据报错信息修改。
mindspore.set_context(pynative_synchronize=True)







