昇思学习营第七期·昇腾开发板 学习打卡_第一次

昇思学习营第七期·昇腾开发板 学习打卡_第一次:

一:昇思 + 香橙派 + DeepSeek

我单方面册封 昇思 + 香橙派 + DeepSeek 简直是咋们学生低成本玩转大模型的最优选择 (dog dog)
神仙般的组合,宿舍中的便携式丹炉
1. 对于MindSpore

作为华为开源的一款国产深度学习框架,支持全场景AI开发(端、边、云都能跑)。对我们学生来说,它最大的优点是:

  • 上手快:类PyTorch接口,中文文档丰富
  • 兼容性强:支持多种硬件(包括香橙派这种ARM开发板!)
  • 高效省资源:模型训练和推理都很轻量,小设备也能跑
2. 香橙派(Orange Pi)

国产开源硬件平台,就类比为类似树莓派和jetson nano吧,但性价比更高!一块香橙派5(4核ARM + 8GB内存)只要几百块,就能跑轻量级AI模型,还带NPU加速!

  • 可装Ubuntu、华为自研欧拉等系统
  • 支持昇思框架(MindSpore Lite)
  • 插电即用,便携性强(宿舍断电也不怕!)
  • 一句话:不用再眼馋实验室的A100显卡了,我在宿舍照样能跑模型(狗头!!!)!
3. DeepSeek

国产大模型的“黑马”,由深度求索团队推出,包括**DeepSeek-V3、DeepSeek-R1等模型,**开源免费、性能强大、中文理解超强!(感觉贴吧的数据集吃了不少 dog dog)

  • 支持代码生成、文本理解、数学推理等
  • 可在昇思框架上部署运行
  • 提供API和本地部署方案

小结:

昇思(框架) + 香橙派(硬件) + DeepSeek(模型) 这个组合,真正实现了:

不用再眼馋实验室的A100显卡了,我在宿舍照样能跑模型(狗头!!!)!

无论你是想学习AI做项目,还是参加竞赛,它都能成为你的得力助手!

二:开发环境的安装和检查:

由于目前身边没有香橙派开发板,所以先用实训平台的资源代替。

首先,查看CANN的对应版本:

先cd到对应的目录下:

cd /usr/local/Ascend/ascend-toolkit

此时我们要查看的是8.0.0,进入选择对应的aarch64,下面会有一个ascend_toolkit_install.info文件,我们用cat查看它的信息:

cat /usr/local/Ascend/ascend-toolkit/8.0.0/aarch64-linux/ascend_toolkit_install.info

可以看到就是8.0.0的版本,证明我们的cann安装正确。

检查mindspore的对应版本:

由于我们需要安装的版本是2.5.0

我们来查看一下:

pip show mindspore

可以看到是正确的。

如果没有安装成功,建议去官网查看对应的教程命令:MindSpore安装 | 昇思MindSpore社区

如果没有对应的,可以去历史版本中查找,就跟大家安装pytorch的版本一摸一样。

查看mindnlp版本:
pip show mindnlp

image-20250724210821378

由于开发环境中没有预装,我们需要自己安装

克隆mindnlp库,并且编译:

git clone https://openi.pcl.ac.cn/MindSpore/mindnlp.git

cd mindnlp
bash scripts/build_and_reinstall.sh

由于mindnlp更新到0.5了,大家可以自己切换分支到0.4

你可能会遇到下面的报错:

pip uninstall mindformers -y

pip uninstall soundfile -y

是因为mindformers与mindnlp有部分冲突了。

最终检查mindspore是否与cann匹配:
python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindspore.run_check()"

image-20250724211207989

可以看到是成功匹配的。至此,基础环境配置完成。

对于具体问题的排查方法:

需要在测试代码中加入:

# 设置同步,帮助问题定位
mindspore.set_context(pynative_synchronize=True)

进行具体问题的测试:

pytest -s -v tests\ut\transformers\models\qwen2\test_modeling_qwen2.py::Qwen2ModelTest::test_beam_search_generate_dict_outputs_use_cache

可以看到,该问题已经被修复了。

总的来说,在测试或者是推理亦或者是微调时,最好将:

mindspore.set_context(pynative_synchronize=True)

加上,以方便更加精准的去定位对应的错误。

1 个赞