Midnspore框架下大模型的整体部署流程:

DeepSeek-R1-Distill-Qwen-1.5B 模型推理流程:

基于权重加载和启动推理,就mindspore框架来说,基于lora微调后的推理流程分别为加载基础模型参数和微调参数,如下图代码所示

基于model.generate进行推理,相关参数如下图所示:

微调前和微调后的回答效果比较如下:

推理效果的调优:对于部分推理输出中会出现重复性的语句可以在上面提到的generate_kwargs配置中加入repetition_penalty=1.2来处理,如下图所示。

下面三段代码的截图为载入模型、配置模型的对话参数及模型对话功能演示。

性能测试及优化:

Mindspore中对模型推理优化通过禁用多线程外,可以通过jit来进行优化,如下图所示:

性能优化的前序准备包含下面流程:

1. 实现解码逻辑(decode函数、prefill-decode阶段)

2. 实例化StaticCache,动态Cache无法成图

添加jit装饰器

1. model.jit()

2. mindspore.jit装饰decode函数

整体流程如下图所示:

最后,整体优化后的每个token的输出时间如下所示:

学习心得:
1.了解mindspore的模型部署流程

  1. 对mindspore的模型微调训练后的参数如何加载进行了解
  2. 对于模型静态图和动态图的执行效率进行分析
  3. 对mindspore的jit模块的优化流程进行了解
  4. 对jit模块优化后的模型推理效果有一定程度的了解
Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐