首页 > 其他分享 >如何使用MindStudio轻松搞定大模型全流程开发

如何使用MindStudio轻松搞定大模型全流程开发

时间:2024-01-19 11:46:14浏览次数:29  
标签:搞定 模型 性能 视图 MindStudio 算子 流程 精度

本文分享自华为云社区《【如何使用MindStudio轻松搞定大模型全流程开发》,作者: 华为云社区精选。

大模型的规模和能力在迅猛发展,更大的参数、更长的序列及更多的模态是未来大模型技术的发展趋势。更大的规模的模型意味着更大规模的算力平台,算力设备的部件与任务之间的复杂关系导致调试调优的复杂度增加,需要系统的管理和收集训练过程中各维度数据,才能快速锁定模型精度及性能瓶颈,加速大模型训练。

MindStudio全流程开发工具链是华为面向昇腾AI开发者提供的一站式开发环境和工具集。针对大模型分布式训练复杂场景,MindStudio提供了从大模型迁移到精度调试到性能调优的统一工具能力,帮助开发者轻松get大模型开发密码。

一、模型迁移

由于不同硬件体系之间处理器架构、模型脚本存在差异性,基于GPU硬件体系原生开发的开源大模型,要想在昇腾处理器上运行,首先需要进行模型的迁移。

那么模型迁移主要迁哪些东西呢?

模型脚本的基本组成元素主要为“算子、API、三方库”,通常在框架层会通过这几个核心元素来搭建模型脚本,所以模型迁移的实质也是对“算子、API、三方库”的迁移。

以同框架下迁移场景为例,MindStudio迁移工具会自动扫描并完成“算子、API、三方库”兼容性分析,同时完成脚本代码替换,并在迁移完成后生成评估报告,报告中会详细说明替换信息以及是否存在无法直接替换的元素,譬如用户自定义的算子。整个迁移过程仅需要几分钟。

二、精度调试

精度决定了大模型预测的准确性,因此精度调试是大模型训练的关键步骤之一。

为了帮助开发人员快速解决算子精度问题,MindStudio通过溢出检测、精度比对等核心工具,提供了自有实现的算子运算结果与业界标准算子运算结果之间进行多维度的精度差异对比的能力,提升训练精度调测效率,单机和集群的精度问题定位时间缩短至周级。

精度预检:预检避免了常见精度工具在规模集群下的困境、对数据dump的依赖以及对整网累计误差的感知。在预检过程中,可以通过轻量化的流程提取单API统计量信息,同时,根据统计信息随机生成数据输入在NPU上运行,最大程度还原真实训练场景。最终根据相对误差、绝对误差等指标综合判定API精度是否达标,并提供真值比对选项,输出评估报告。以上预检流程可以在小时级的时间内完成,在训前就解决80%以上的算子及API精度问题。

溢出检测:应对大模型开发过程中产生大量溢出以及溢出导致参数不断更新等复杂问题。通过溢出问题性质自动分类、典型溢出问题自动分析等能力,输出问题算子报告并提供专家处理建议。

三、性能调优

大模型领域性能是一个非常受到关注的指标,一个大模型的训练可能需要成百上千张卡,耗时数个月才能完成,性能上的优化能直接且显著地降低训练成本。

同时,大模型领域的性能调优存在很多挑战,譬如:采集数据量大、解析耗时长、TimeLine数据量限制、缺少自动拆解比对工具、卡间同步、慢卡慢链路等。

MindStudio提供了系统级的集群性能调优能力,通过性能问题拆解、多维可视化Profiling及集群数据多界面可视化能力,帮助开发者迅速锁定性能瓶颈。

性能拆解:将训练数据拆解为“通信、算子、调度、内存”四个维度,通过对训练耗时和内存占用的比对分析,定位到具体劣化的算子,良好地解决性能数据timeline信息量巨大用户难以入手、算子详细信息及搬运内存信息多等问题,用户可直接确认性能的主要瓶颈。

多维可视化Profiling:针对PyTorch框架开发的性能数据采集和解析,提供Ascend PyTorch Profiler性能采集接口。用户通过在PyTorch训练脚本中插入Ascend PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件,支持单次加载多组数据并可灵活比对,内存级Profiling展示性能远超原社区水平。同时,工具中提供了Tensorboard可视化、算子级内存Profiling两个功能,支持调用栈、算子信息关联,帮助开发者在代码层级细粒度锁定性能瓶颈。

集群数据多界面可视化:提供集群可视化调优工具Ascend Insight来提升大模型集群性能调优效率。通过Ascend Insight提供Timeline流水视图、Memory视图、Operator视图、Summary视图等多维视图分析帮助用户快速发现异常点,识别性能瓶颈:

1)Timeline流水视图:支持多卡汇聚、按层过滤、数据对比、单卡时间校准、算子搜索以及统计信息

2)Memory视图:支持内存占用折线图,含进程级预留、算子级预留以及算子级占用。用户可以根据折线图找到峰值的内存占用点,并获取到对应的算子明细。

3)Operator视图:支持通过分析算子耗时统计及详情信息,快速找到计算性能瓶颈点。

4)Summary视图:支持通信/计算耗时分析以及PP场景耗时分析,基于拓扑和并行策略,结合可视分析链路进行调度分析,定位通信慢、计算慢等性能问题。

结语

以上完整地介绍了MindStudio全流程开发工具链如何通过大模型迁移、精度调试、性能调优三大步骤,支持用户以低成本快速提升百亿千亿大模型训练性能,提高开发效率。欲了解更多详情,请参阅: MindStudio- 昇腾社区 (hiascend.com)

点击关注,第一时间了解华为云新鲜技术~

 

标签:搞定,模型,性能,视图,MindStudio,算子,流程,精度
From: https://www.cnblogs.com/huaweiyun/p/17974286

相关文章

  • 流程表单设计器可以用在什么行业?
    当前,应用什么样的办公利器可以助力企业实现高效率的流程化办公?低代码技术平台是目前较为流行、并且深得广大用户喜爱的软件平台产品,其中,流程表单设计器可以应用拖拉拽等方式适各种应用场景的创建,数据资源利用率提升,办公效率也获得较大提高。我们都知道,其实表单设计器在职场办公中......
  • SpringSecurity-认证流程源码级详解
    自定义用户认证逻辑处理用户信息获取逻辑:UserDetailsService处理用户校验逻辑:UserDetails处理密码加密解密:PasswordEncoder认证处理流程以表单认证为例:从发起认证请求到认证过滤器,接着认证成功后,响应从认证过滤器返回的整个过程。SpringSecurity做了什么,设计到了哪些类?他......
  • 应届生必读:Java真实项目的开发流程和常用工具
    本文出自本人写的书,谢绝转载,更勿抄袭。本人有多年的Java面试官经验,经常要和一些包装项目经验的求职者打交道。当然平时也兼职做些Java面试辅导工作,最近也陆续帮一些在校生朋友成功找到Java工作。在辅导在校生朋友找工作的过程中,本人发现,其实真有不少朋友,是跟着视频跑通了一个或......
  • C# Task 异步的一些流程简单测试 Task 测试 异步测试
    测试程序:publicclassTAKS_TEST{privatereadonlyDictionary<int,Task<T_TEST>>DataDic=newDictionary<int,Task<T_TEST>>();privateT_TESTGetRes(inti){Thread.Sleep(i*1000);returnnewT_TEST(){......
  • 算量软件:重塑造价工作流程,提高效率及精准度
    随着科技的飞速发展,建筑行业正经历着一场由数字化、网络化和智能化驱动的革新。算量软件,作为建筑造价工作的重要工具,在这一变革中扮演了前所未有的角色。今天,我们深入探讨算量软件在造价领域的应用,其带来的效益改善以及实战中可能遇到的共性问题。下面,让我们一起走进算量软件的世界......
  • 移动端下单系统验货流程
    功能介绍: 司机出厂出示验货码,验货人用微信扫验货码验货,验货界面显示字段:车号、煤种、供应商、入库库房等,验货成功确认收货司机可以出厂,不验货出不去。为了控制验货人的权限,必须绑定微信注册程序和后台授权信息成功,才能扫验货码成功,其他人扫码会失败!部分截图:     ......
  • Java基础知识整理,驼峰规则、流程控制、自增自减
    写在开头本文接着上一篇文章续写哈。[Java基础知识整理,注释、关键字、运算符](https://blog.csdn.net/qq_43506040/article/details/135633325)在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。一、命名......
  • springMVC执行流程是啥
    用户发送请求,前端控制器DIspathServlet 2.DispathcherServlet收到请求调用HanderMappingc处理映射器3.处理映射器找到具体的处理器,根据xml配置注解查找返回给dispathServlet4.DispathServlet调用HandlerAdapter处理器找到Coltrller5.controller执行完毕返回modleAndView.......
  • GitLab CI/CD 自动化部署全流程
    GitLabCI/CD自动化部署全流程:https://blog.csdn.net/weixin_43025823/article/details/125325480?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125325480-blog-131010258.235^v40^pc_relevant_3m_sort_dl_base2&spm=1001.......
  • 深耕细作,持续发展|企业级快速开发平台助力实现流程化办公!
    新时代,新机遇,新挑战!在新的发展形式下,应用更专业的办公利器,在实现流程化办公的路途中就会事半功倍,获得可持续发展。流辰信息作为一家企业级快速开发平台服务商,一直在低代码开发市场深耕发展,厚积薄发,增强自主创新能力,持续为实现数字化转型而努力奋斗。1、认识新形势,迎接新挑战当......