昇思+昇腾开发板:软硬结合玩转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(优势大大的)
- 开发友好:开发调试门槛低
- 性能提升:在一个模型可以正常的训练推理时(程序正常跑通),采用几行代码就可以实现推理性能提升一倍。
- 全流程支持:香橙派支持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的问题
需要手动进行一个类型转换