5 模型推理和性能优化

这份文档详细讲解了如何使用昇思(MindSpore)框架对DeepSeek-R1-Distill-Qwen-1.5B模型进行微调和推理过程的优化。文档的核心内容涵盖了以下几个方面:

  1. 模型推理工作流:
  • 权重加载: 首先加载基础模型的权重,然后加载LoRA(低秩适配器)以应用微调后的效果。
  • 启动推理: 加载好模型后,通过model.generate函数启动推理过程。
  • 效果比较与调优: 推理后,通过与微调前的结果对比,调整推理参数(如temperaturetop_p)来优化生成效果。
  • 性能测试与优化: 通过测试模型推理速度和内存使用情况,使用硬件优化、模型压缩等手段提升性能。
  1. LoRA微调与推理调优的区别:
  • LoRA微调: 主要通过调整模型的权重,使其能够学习特定的能力(如学会某种风格的语言或领域知识)。
  • 推理调优: 主要是在推理阶段优化生成内容的质量和效率,不改变模型的权重,而是调整生成策略(如控制生成文本的多样性和流畅度)。
  1. 优化策略:
  • JIT编译: 通过使用MindSpore的JIT(即时编译)优化技术,加速推理过程。
  • 静态缓存: 在生成过程中使用静态缓存,避免重复计算,提高推理效率。
  • 性能测试: 对比优化前后的性能数据,展示了JIT优化带来的推理时间显著减少。
  1. Gradio网页界面:
  • 使用Gradio框架将模型集成到一个简单的网页聊天界面中,用户可以通过该界面与模型互动,进行文本生成。
  1. 其他技术细节:
  • Top-p采样: 通过自定义实现top_p采样函数,控制生成的文本更符合需求,且通过使用numpy加速计算过程。
  • 代码调整与bug修复: 解决了模型代码中出现的一些问题,如静态图编译错误,并对关键代码进行了修复。
  1. 性能测试结果:
  • 在进行JIT优化前后,推理时间得到了显著提高。文档中提供了具体的性能测试数据,展示了优化后推理速度的提升。
  1. 未来计划:
  • 文档还概述了未来的计划,包括通过课程、实习平台和比赛等方式,帮助更多人学习如何使用昇思框架和香橙派开发板进行AI模型开发。