昇思学习营第七期·昇腾开发板 学习打卡 第三次(模型推理和性能优化)

昇思学习营第七期·昇腾开发板 学习打卡 第三次(模型推理和性能优化)

DeepSeek-R1-Distill-Qwen-1.5B模型推理和性能优化

DeepSeek-R1-Distill-Qwen-1.5B模型推理

第一步是加载的base model中的权重

第二步是我们的LoRA adapter权重

模型微调前后的推理区别

之前在微调过程中遇到过类似的问题现在也终于会解决了

如何获取每个token的推理时长和平均时长

开发板推理的开销NPU其实很快所以禁用多线程会节省时间

动态图可以即时调整,开发调试以动态图为主,在进行性能提升时再切换成静态图。

通过mindspore.jit做即时编译

性能进行进一步优化,添加jit装饰器

在编译成图的情况下要完成2,RotaryEmbedding为旧的写法,可能在新版环境会报错,所以可以进行重写

做完优化后的性能优化效果测试

第一个token需要编译时间即冷启动时间,所以时间比较长,但之后的速度会很快

本次课程学习到了模型推理以及性能调优,其中模型推理在之前进行模型迁移时候就有过很充分的涉及,主要在课后需要掌握性能优化,其中对于图编辑的内容之前没有接触过,可能在后续需要重点掌握,另外Mindspore.jit也需要实践锻炼

现在我们在Jupyter中实操一下推理过程以及调优过程

我们先在终端中配置好环境然后找到模型推理python块,添加上自己的用户名id块后运行此程序就可以得到推理结果,当然我们还可以更换模型目录来用其他模型就行推理

之后我们进行调优的实操,我们找到此板块

也是和之前一样的操作加上自己的id块然后运行

我们可以看到结果与我们视频中预计的结果类似,第一个token比较长,因为此时在冷启动,后面的时间就短很多,我们验证成功