昇思MIndSpore大模型迁移与调优实践
收藏回复举报
昇思MIndSpore大模型迁移与调优实践
发表于2025-05-14 01:15:25
0 查看

昇思MIndSpore大模型迁移与调优实践

MindSpore

AI框架(深度学习框架,在此基础上进行的开发)

CANN面向算子开发,MindSpore对接/调用CANN这一层开发出的算子
能力:MindSpore的高性能训练基于计算图的划分,通过吧编译自动划分到集群上执行,降低了大模型的开发门槛,又保证了多种并行策略的灵活组合使用
特点:多副本并行、多流水并行、长序列并行
效果:实现资源的充分利用,性能提高、设计最优内存复用策略

true

MindSpore Transformers大模型使能套件:全流程开箱急用

承载了MindSpore如分布式并行能力的同时,覆盖预处理、微调、推理、部署全流程,预置多种预训练大模型、微调算法及下游应用,低代码实现原生大模型全流程开发
特点:直接用,性能有所优化、使用config配置化开发、已适配openMind社区

模型迁移

动机:适配业界生态(适配其他环境场景)
常见场景:在MindSpore Transformers上已支持的基座模型的基础上进行进一步的迁移
阶段:LLaMA2迁移Qwen2.5 → MoE结构 → MTP(迁移修改的内容有所不同)

精度调优

应用场景
    有标杆:将其他框架的训练模型迁移至MindSpore,完成迁移适配后需要将模型精度和原框架对齐
    无标杆:在基于MindSpore原生训练模型时,可能会出现如训练loss收敛效果不佳,loss曲线拟合但评测效果不好等问题,需要进行精度调优
    常见对比项:loss、local norm、global norm
    思路:训练准备 → 基础问题排查 → 长稳训练观察
    精度分析工具
        Torch Dump:通过在训练脚本中添加dump接口、启动训练的方式采集精度数据
        MindSpore Dump:支持非嵌入式修改
        TroubleShooter:保存Tensor,比较两组Tensor值(npy文件)是否相等

性能调优

看的是模型训练性能(指定模型的输入数据的情况下,完成一个端到端训练所需时间),主要关注Throughput、TFLOPs、MFU等值
支持优先在小集群中进行调试,后将方案扩充到大集群
特点:多种并行(数据、模型、流水线等)、重计算(可不保存正向计算结果)、梯度累积(相加)

使用VScode完成实践测试

首先进行对应插件安装及文件基础配置 true

true

总结

模型迁移调优在于已有模型构建的基础之上,对模型进行适当调整适应新的环境,以便发挥最大效能。不同场景的迁移及调优方式各式不同,根据场景需求进行调整。

我要发帖子