昇思+昇腾开发板:软硬结合玩转DeepSeek开发实战(学习打卡第一天)

昇思+昇腾开发板:软硬结合玩转DeepSeek开发实战(学习打卡第一天)

1.昇思+香橙派+DeepSeek介绍

DeepSeek:

DeepSeek V3/R1轰动全球,带动模型结构和训练方式转变。

主要变化

1.使用MoE模型结构(由于deepseek开源,目前很多企业和开发商也采用这种模型)

2.类o1/R1慢思考模型(通过消耗时间来进行一个thking来提高性能)

昇思MingSpore

华为公司推出的一款全场景深度学习框架,提供高效、便捷的 AI 模型开发体验**(上手快、兼容性强、模型轻量)**

现在目前的MindSpore支持各类场景的开发和适配:

MindSpore Transformers——针对Transformer框架架构,还新增deepseek的支持;

MindSpore RLHF——是针对人类反馈强化学习的学习套件,新增GRPO等强化学习;

MindSpore Science——是针对流体/气象/化学等自然学科(可用于公式生成和推理)。

香橙派(OrangePi AIpro)

香橙派OrangePi AIpro采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持8/20 TOPS AI算力,广泛适用于AI边缘计算、深度视觉学习及视频流AI分析等各个行业。满足大多数AI算法原型验证、推理应用开发的需求。

学习路线

first:了解香橙派的基础官方资料(对香橙派的各个模块有一个了解和熟悉)

second:学习昇思开发板开发教程,学习环境搭建和代码开发。

小结

昇思MindSpore+香橙派+deepseek(优势大大的)

  1. 开发友好:开发调试门槛低
  2. 性能提升:在一个模型可以正常的训练推理时(程序正常跑通),采用几行代码就可以实现推理性能提升一倍。
  3. 全流程支持:香橙派支持ai模型的训推。

2.模型开发与适配

a.DeepSeek-R1-Distill-Qwen-1.5B(使用的模型)

采用更加轻量化的模型——deepseek蒸馏模型**(硬件要求不高、运行成本低、性能没有太大的丢失)**

b.开发步骤与环境准备

香橙派开发板

主要区分8T-12T镜像和20T镜像(本次香橙派的使用20T 24G

**注:**不要忘记设置swap

CANN安装

社区版8.0.0beta1

先进行固件和驱动安装,再tookit安装,然后kernels安装,最后导出环境变量

MindSpore安装

使用2.5.0(镜像内置2.4.10,需要手动升级)

安装验证:run-check()

MindSpore安装

使用0.4分支

**注:**1.版本匹配 2.依赖安装

版本检查

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

我们可以使用cat指令去查看ascend_toolkit_install.info文件,查看CANN的把版本信息:

pip show mindspore

直接使用show指令查看mindspore的版本信息

pip show mindnlp

直接使用show指令查看mindmlp的版本信息

查看是否从0.4分支进行的获取

进行上述版本检查后,如果发现版本与上述不一致,需到官网查看安装教程,重新安装

c.调试与适配

网络调试

通过pytest来测试模型在香橙派上的训练推理,从而进行问题的查找和定位(MindSpore NLP有针对模型的ut测试)

pytest -v -s tests/transformers/models/qwen2/test_modeling_qwen2.py

添加下述代码,再重新跑pytest,可以精准定位在哪一行代码

mindspore.set_context(pynative_synchronize=True)

损失函数的错误的处理

针对(2)类型匹配问题

可能存在float64→float32 int64→int32的问题

需要手动进行一个类型转换