如何使用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)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SetFitABSA: 基于 SetFit 的少样本、方面级情感分析
SetFitABSA 是一种可以有效从文本中检测特定方面情感的技术。 方面级情感分析 (Aspect-Based Sentiment Analysis,ABSA) 是一种检测文本中特定方面的情感的任务。例如,在“这款手机的屏幕很棒,但电池太小”一句中,分别有“屏幕”和“电池”两个方面,它们的情感极性分别是正面和负面。 ABSA 应用颇为广泛,有了它我们可以通过分析顾客对产品或服务的多方面反馈,并从中提取出有价值的见解。然而,ABSA 要求在样本标注时对训练样本中涉及的各个方面进行词元级的识别,因此为 ABSA 标注训练数据成为了一件繁琐的任务。 为了缓解这一问题,英特尔实验室和 Hugging Face 联袂推出了 SetFitABSA,以用于少样本场景下的特定领域 ABSA 模型训练。实验表明,SetFitABSA 性能相当不错,其在少样本场景下表现甚至优于 Llama2 和 T5 等大型生成模型。 与基于 LLM 的方法相比,SetFitABSA 有两个独特优势: 🗣 无需提示: 在使用基于 LLM 的少样本上下文学习时,提示的作用非常关键,因此一般需要精心设计,这一要求使得最终...
- 下一篇
ICDM'23 BICE论文解读:基于双向LSTM和集成学习的模型框架
本文分享自华为云社区《ICDM'23 BICE论文解读》,作者:云数据库创新Lab。 导读 本文《Efficient Cardinality and Cost Estimation with Bidirectional Compressor-based Ensemble Learning》是由华为云数据库创新Lab联合电子科技大学数据与智能实验室发表在顶会ICDM’23的长文。ICDM是数据挖掘领域顶级学术会议之一。本届会议共收到投稿1003篇,其中录用长文94篇,长文录取率约为9.37%,总体录取率约为19.94%。 摘要 查询优化器在数据库管理系统中有着非常重要的作用,而基数和代价估计是查询优化器能否输出高质量执行计划的基础。为增强基数和代价估计,我们提出了一种基于双向LSTM和集成学习的模型框架,名为BICE。具体地,我们设计了4个自编码器组成特征提取器对查询计划中不同种类的丰富信息进行提取与编码。我们通过图嵌入算法学习表与表之间的关联,并作为连接条件编码的依据。之后,我们建立了双向LSTM对物理计划进行学习。此外,我们通过基于贝叶斯神经网络结合主动学习抽取不同的数据样本集合,以...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启