范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

使用MindStudio进行albert模型训练

  目录
  一、MindStudio 环境搭建 2MindStudio 下载 2软件安装 4打开工程 7
  二. 训练配置 15打开命令行 15配置本地到远端服务器的映射 15
  三、 相关介绍 21模型概况 21数据集 22代码介绍 22
  四、 GPU 训练 25
  五、 NPU 训练 26打开终端 27配置环境变量 28torch1.8 的使用 28运行脚本的更改 28
  六、 总结与分享 30一、MindStudio 环境搭建
  Mindstudio 官网链接:https://www.hiascend.com/zh/software/mindstudio
  本次实验使用 MindStudio 开发工具,按照此教程配置环境,安装 MindStudio。MindStudio 是一套基于华为自研昇腾 AI 处理器开发的 AI 全栈开发工具平台,该 IDE 上功能很多,涵盖面广,可以进行包括网络模型训练、移植、应用开发、推理运行及自定义算子开发等多种任 务。MindStudio 除了具有工程管理、编译、调试、运行等功能外,还能进行性能分析,算子比对,可以有效提高工作人员的开发效率。除此之外,MindStudio 还具有远端环境,运行任务可在远端实现,对于近端的个人设备要求不高,用户交互体验很好,可以让我们随时随地 进行使用。
  如需在Linux 安装昇腾套件包ascend-cann-toolkit(以下简称 CANN),请在官网下载 CANN。官网链接:https://www.hiascend.com/software/cann
  用户手册:(本例中使用的版本为 5.1.RC2) https://www.hiascend.com/document/detail/zh/canncommercial/51RC2/overview/index.ht
  ml
  代码链接为:https://gitee.com/yaohaozhe/transformer
  需将代码仓下载到本地。MindStudio 下载
  打开官网链接,在跳转的如图 1-1 中点击"立即下载"。
  图 1-1 官网下载界面
  在如图 1-2 的跳转页面中,选择配套的 MindStudio 版本,本例使用的 CANN 包版本为 5.1.RC2, 故下载 MindStudio_5.0.RC2_win.exe。
  图 1-2 版本选择
  点击"软件包下载"后,跳出软件下载须知,阅读 MindStudio 软件许可协议,同意则勾选, 然后点击"立即下载"。如图 1-3 所示:
  图 1-3 软件下载须知软件安装
  下载完成后,在弹出的安装界面中点击"Next"。如图 1-4 所示:
  图 1-4
  在接下来的界面中配置安装路径,点击"Browse..."选择安装的目的路径。完成后点击"Next>"。如图 1-5 所示:
  图 1-5
  在 Create Desktop Shortcut 中勾选 MindStudio,以在桌面创建 MindStudio 快捷方式。在 Update Context Menu 中勾选 Add "Open Folder as Project"以方便创建工程。
  接下来点击"Next >"。如图 1-6 所示:
  图 1-6
  接下来点击"install",如图 1-7 所示:
  图 1-7
  等待进度条结束后,点击"Next >"。如图 1-8 所示:
  图 1-8
  勾选 Run MindStudio 可以立即打开 MindStudio。点击"Finish"完成安装。如图 1-9 所示:
  图 1-9 安装完成打开工程
  安装完成后,第一次打开 MindStudio 会出现如图 1-10 所示界面:
  图 1-10
  如图 1-11 所示的 Projects,用于工程打开、创建:
  图 1-11 Projects 界面
  如图 1-12 所示的 Customize 可以进行颜色主题,字体等选择:
  图 1-12 Customize 界面可以安装所需要的插件,如图 1-13 所示:
  图 1-13 Plugins 界面
  点击界面中的 Help 可以跳转到 MindStudio 社区,如图 1-14 所示:
  图 1-14 Learn MindStudio 界面点击 Projects 中的 Open,如图 1-15 所示:
  图 1-15
  选择刚下载好的代码仓文件,如图 1-16 所示:
  图 1-16
  选择箭头所指的"Trust",如图 1-17 所示:
  图 1-17
  打开后,如图 1-18 所示:
  图 1-18
  选择"File"->"Settings"来配置 CANN 包,如图 1-19:
  图 1-19
  依次如图所示进行选择,点击"Change CANN"按钮,如图 1-20 所示:
  图 1-20
  点击 Remote Connection 后的"田",如图 1-21 所示,跳转到图 1-22 所示配置 SSH 界面。
  图 1-21
  如图 1-22 所示,点击"+",增加 ssh 连接。
  图 1-22
  如图 1-23 所示,填写远端服务器的用户名,端口,密码等信息,点击"Test Connection"测试连接是否成功。
  图 1-23
  出现如图 1-24 所示"Successfully connected!"后表明连接成功,点击"OK":
  注:成功连接的服务器会被保存,下文中会用到。在此处可继续添加 GPU 服务器的 SSH 连接。
  图 1-24
  上述步骤完成后,在 Remote CANN location 中选择远端服务器的 CANN 包,如图 1-25 所示:
  图 1-25
  点击"Finish",等待片刻后即可完成安装。随后点击菜单栏中"Ascend"->"Convert to Ascend project"。
  图 1-26
  如图 1-27 所示,在下拉框中做出如下选择,点击"ok"。
  图 1-27
  转换成功后,菜单栏变成如图 1-28 所示:
  图 1-28二.训练配置打开命令行
  选择菜单栏中的"Tools",选择"Start SSH session"。
  图 2-1 创建命令行
  选择所需要的服务器,如图 2-2 所示:
  图 2-2 选择服务器配置本地到远端服务器的映射
  选择菜单栏中的"Tools",点击"Deployment",点击"Configuration",如图 2-3 所示:
  图 2-3
  点击"+",新建"deployment",命名为"gpu",点击"Connection",选择配置好的 gpu 服务器的 ssh。点击右侧中间的"Mappings",在左侧"Local Path"中选择需要在远端服务器运行的本地项目,在右侧"Deployment Path"中,配置服务器中的路径。如图 2-5 所示:
  图 2-4
  图 2-5
  同理可配置 NPU(192.168.99.113)服务器的 Deployment。
  在菜单栏中选择"File",点击"Project Structure",如图 2-6 所示:
  图 2-6
  打开的 Project Structure 界面如图 2-7 所示,在左侧选择 SDKs,点击箭头所指的"+",选择 "Add Python SDK"。
  图 2-7
  点击"SSH Interpreter",在"Deploy"中选择前文配置好的 gpu 服务器,在"Interpreter"中选择远端服务器上的 python 文件夹,"Name"会自动获取。如图 2-8 所示:
  图 2-8
  配置好后,点击"OK"出现 python SDK,配置成功。如图 2-9 所示:
  图 2-9
  点击"Project",选择刚配置好的远端 SDK。如图 2-10 所示。
  图 2-10
  点击左侧"Modules",在右侧选择"Dependencies",在 Module SDK 下拉框中选择刚配置好的远端 SDK,点击"OK",如图 2-11 所示:
  图 2-11
  点击菜单栏中的"Tools",选择"Deployment",选择"Automatic Upload",修改代码保存后可自动上传到远端服务器。如图 2-12 所示:
  图 2-12三、相关介绍模型概况
  ALBERT 架构的主干和 BERT 类似,都使用了基于 GELU 的非线性激活函数的 Transformer。但是其分别在两个地方减少了参数量。
  以下图为例可以看到模型的参数主要集中在两块,一块是 Token embedding projection block, 另一块是 Attention feed-forward block,前者占有 20% 的参数量,后者占有 80% 的参数量。
  数据集
  SQuAD 是 Stanford Question Answering Dataset 的缩写。这是一个阅读理解数据集,由众包工作者在一组维基百科文章上提出的问题组成,其中每个问题的答案都是相应文章中的一 段文本,某些问题可能无法回答。
  SQuAD2.0 组合了 SQuAD1.1 中的 10 万个问题,并增加了超过 5 万个无法回答的问题, 这些问题由众包工作者以对抗(adversarially)的方式设计,看起来与可回答的问题相似。为了在 SQuAD2.0 数据集上表现出色。系统不仅必须在可能的情况下回答问题,还必须确定篇章数据何时不支持回答,并避免回答。
  EM(Exact Match ) 和 F1 值是用于 SQuAD 的主要指标。Exact Match 是一种常见的评价标准,它用来评价预测中匹配到正确答案(ground truth answers)的百分比。代码介绍
  模型代码路径:
  src/transformers/models/mbart/modeling_albart.py
  主要类与函数介绍:
  Albert 源码整体和 bert 代码差异很小,为了实现灵活的参数共享,作者提出了一个Group 的概念。 源码中将每一层都分到一个指定 Group 之中,一个 Group 包含了多个相邻的层,同一个 Group 里面的层是参数共享的,这个 group 个数由 num_hidden_groups 参数决定,默认为 1。即所有的层 share 同一个 Transformer 权重。
  如 num_hidden_groups 为 2,num_hidden_layers 为 12,那么层分为两组。1~6 层是第一组,
  7~12 是第二组。
  如 num_hidden_groups 为 3,num_hidden_layers 为 12 ,那么层分为三组。1~4 为第一组 , 5~8 为 第 二 组 , 9~12 为 第 三 组 , 以 此 类 推 ...
  层索引 layer_idx 和组索引 group_idx 由代码计算得出:
  对于 group 编号较低的组,学习低抽象的知识,group 编号较高的组,学习相对较高抽象的知识,这个是 make sense 的。通过设定 num_hidden_groups 和 num_hidden_layers 可以灵活设定模型深度和共享的程度。
  可见 group 在源码中是一个比较重要的类型,其由 AlbertGroup 类实现。AlbertTransformer 在初始化之时,预先实例化了 num_hidden_groups 个 AlbertGroup,这个AlbertGroup 代表新的一层参数,里面还有一些细节,后文会描述。
  当 AlbertTransformer 计算到某一层时,直接在 group 列表中找到对应的 AlbertGroup 去forward,因此在梯度 backward 的时候,梯度的变化也会传递到对应的 AlbertGroup,这样就实现了多级参数共享的参数更新。AlbertTransformer 完整代码:
  AlbertGroup 完整代码:
  AlbertGroup 内部的层级由 inner_group_num 参数确定,默认为 1。其内部处理的逻辑也很简单,即 forward 多层的 AlbertLayer,这个 AlbertLayer 就代表着一个 block。
  由此可见,假设一个 block 的参数量为 m。则实际的 encoder 的参数量 K 为:
  K = m * inner_group_num * num_hidden_groups
  inner_group_num 和 num_hidden_groups 默认均为 1。大多数预训练模型是基于默认参数训
  练的,所以这两个参数一般也不会改动。除非需要尝试调整共享程度进行重新预训练。除了
  Group 分组共享外 albert 还可以调整 block 内部的共享方式分为三种all : ffn 和 attention 都共享ffn :ffn 共享attention: attention 共享
  对于不同的内部共享,在初始化 Module 时将不共享组件实例化 inner_group_num * num_hidden_groups 个 保存在 ModuleList 之中,在 forward 时,按照索引定位到指定组件即可。四、GPU 训练
  首先要在 GPU 环境中安装 transformer 库,如已经安装,需要先通过 pip uninstall transfomer 命令卸载原版本之后然后在 transformer 路径下使用命令 pip install –e ./ 进行安装,如未安装,直接使用 pip install –e ./ 命令即可,如图 4-1 所示。
  图 4-1
  安装完成之后方可进行模型训练,进入到 transformer/examples/pytorch/question- answering 路径下后输入如下启动代码后即可开始训练。
  python -m torch.distributed.launch --nproc_per_node  8  run_qa.py --model
  _name_or_path albert-base-v2 --dataset_name squad --do_train --do_eval
  --per_device_train_batch_size  12  --learning_rate  3e-5  --num_train_epoch s  2  --max_seq_length  384  --doc_stride  128  --fp16 --fp16_opt_level O1 -- output_dir /home/name/output/
  下面将启动代码的参数进行说明
  作用
  参数名
  model_name_or_path
  加载的模型权重
  dataset_name
  使用的数据集名称
  do_train
  是否执行训练,默认为 true
  do_eval
  是否执行评估,默认为 true
  per_device_train_batch_size
  训练批次大小
  fp16
  是否使用混合精度,默认为 false
  learning_rate
  初始学习率
  pad_to_max_length
  是否把所有的输入 pad 到最大长度
  num_train_epochs
  训练轮数
  doc_stride
  将一个长文档拆分为块时,块之间要步数
  loss_scale
  混合精度的 scale
  fp16_opt_level
  混合精度的模式
  local_rank
  指定多卡训练的 id,默认值为-1(单卡训练)
  dataloader_drop_last
  是否覆盖之前下载的数据集,默认为 True
  optim
  优化器选择
  output_dir
  重保存路径
  训练完成后得到如下结果,如图 4-2 所示。
  图 4-2五、NPU 训练
  根据前文介绍的服务器连接,建立与 NPU 服务器的连接。打开终端
  如图 5-1 所示,点击"Start SSH session...":
  图 5-1
  选择已经成功连接的 192.168.99.113 服务器:
  图 5-2
  打开成功后,如图 5-3 所示:
  图 5-3
  依赖的安装同第四章 GPU 部分内容。本章介绍 NPU 服务器需要额外做的操作,如环境变量的配置,torch1.8 版本的使用,运行脚本的更改等。配置环境变量
  激活 conda 后,在任意路径执行 source /usr/local/Ascend/ascend-toolkit/set_env.sh
  如图 5-4 所示:
  图 5-4torch1.8 的使用
  在 run_qa.py 脚本中增加 torch_npu 的引入,如图 5-5 所示:
  图 5-5运行脚本的更改
  在 NPU 中使用 run_qa.py 脚本默认是单卡运算,如需多卡,需使用 ddp 进行指定,如图 5-6
  所示:
  图 5-6
  点击配置可视化运行设置"Edit Configurations...",运行如图 5-7 所示:
  图 5-7
  配置好图中所圈画出来的地方,点击"OK"
  图 5-8
  运行后结果可在 train_0.log 中查看:
  图 5-9六、总结与分享
  本文介绍了 MindStudio 工具的下载安装,以及使用 MindStudio 工具完成与 GPU 服务器和 NPU 服务器的连接,并完成 albert 模型的训练。
  训练过程中遇到的问题及解决方案: Question1:Loss 震荡不收敛Answer:调小 learning-rate
  Question2:模型训练精度 NPU 单 P 达标,8P 不达标:
  Answer: 混合精度使用 O1,将 O2 注释.
  开发过程中遇到的问题可以在昇腾论坛发帖提问,也可以查看其他案例的分享以熟悉流 程。除了参考官方指导文档外,帮助更多的还是开发者社区,如下图所示,推荐大家多看些 经验分享,写的很详细也很有帮助。
  MindStudio 论坛:https://bbs.huaweicloud.com/forum/forum-945-1.html?filterCondition=1

阿根廷官员政府或将推出促进旅游和进口新措施中国侨网11月2日电据阿根廷华人网报道,阿根廷经济部长马萨日前表示,预计很快会宣布与旅游和进口相关的两项新措施。马萨在基什内尔文化中心出席活动时表示,旅游业更为重要的一个方面,那就清朝发现小人国,小人平均身高仅20厘米,国王的坐骑是鸡古人常说读万卷书,行万里路,这是因为行万里路能够给人们带来许多书本上学不到的知识。毕竟世界这么大,能够遇到许许多多奇怪奇特乃至奇幻的事情。接下来我们要说的这件事就是在清朝时期,有人这个列兵,提前晋升中士文图杜柯橙近日91507部队服役刚满一年的列兵张伯峰成为该部第一个由列兵提前晋升中士的士兵他是如何做到的请往下看张伯峰毕业于四川农业大学在校期间获得高级中学教师资格证体育教育指导员2023年企退职工养老金会迎来四个变化,看看对你有影响吗?2023年将至,企业退休职工养老金会有何变化?四个方面事关你我时间走到11月上旬,不到两个月2023年就要来啦!感叹时间过得真快,全新的2023年广大企业退休职工养老金待遇会迎来什深刻理解中国式现代化的科学内涵习近平总书记在党的二十大报告中全面系统深入地阐述了中国式现代化的科学内涵,即中国式现代化的中国特色本质要求和重大原则。这是对党的现代化理论的一个重大丰富和发展,是党的二十大报告的一李宏鸣陶辉符福来王巧全被查安徽省人大原常委省人大农业与农村委员会原主任委员李宏鸣接受纪律审查和监察调查据安徽省纪委监委消息省人大原常委省人大农业与农村委员会原主任委员李宏鸣涉嫌严重违纪违法,目前正在接受安徽合租小伙走后房间里留满痕迹小蔡在宁波慈溪整租了一套房子。他反映,9月30号,一个室友搬走了,自己的房间里,调味品洒了一地。1818黄金眼合租仨月要退租房间满是调味品小蔡我感觉就是他第一次用的是酱油,然后他是个人养老金来了!怎么参加?如何领取?点蓝色字关注中央广电总台中国之声近日,有关个人养老金的政策文件密集出台,个人养老金的话题引发关注。那么,个人养老金如何缴?个人养老金账户里的资金怎么用?什么是个人养老金?谁可以参加重磅!阿的江下课,4年只1个亚军,帮儿子拿大合同,周琦有望回归11月2日,CBA又传来大新闻,媒体人爆料新疆队主教练阿的江辞职。10月底,新赛季第一阶段刚刚结束,各支球队进入调整阶段,新疆队目前拿到4胜5负的成绩,在积分榜上排在第13位,成绩给儿子带娃后,才明白一件事婆婆总结的带娃感悟,被赞真清醒大家好,我是艾米妈陶阿姨是我们楼下的邻居,育有一儿一女,女儿在我们这个城市的另外一个区结婚安家,儿子在邻近的一个城市结婚安家。陶阿姨是一名退休教师,老伴前几年因突发病去世了,陶阿姨陈坤儿子曾是他不能说的秘密,为何如今他却频频当众炫耀?陈坤儿子陈尊佑的亲生母亲是谁?这是娱乐圈里,至今没有人能够回答的三大未解之谜之一,同样,也是暴脾气的陈坤,不能触碰的绝对禁区。几年前,在综艺金星秀上,一向看热闹不嫌事大的金星突然发
Linux0。11kernel目录llrwblk。c详解该模块的作用是处理块设备的读写,其中最重要的函数就是电梯算法addrequest函数和llrwblock函数。addrequeststaticvoidaddrequest(stru纽约女性24岁,患有鳞屑症,导致她的皮肤脱落速度比正常人快10倍24岁的贝卡乔伊斯托特(BeccaJoyStout)出生时患有表皮松解性角化过度症这意味着她的皮肤更容易出现疼痛的水泡和开放性伤口一位纽约女性分享了她每天与罕见的皮肤脱落病症作斗争Docker容器虚拟化技术docker官网命令地址Docker命令分类Docker环境信息dockerinfoversion容器生命周期管理dockercreateexecrunstartstopresta联合国人权专家在全球反恐斗争中滥用高风险技术的情况令人担忧UnsplashChrisYang针对多家媒体近期报道的飞马间谍软件事件,联合国再次呼吁加强监管避免监视技术遭到滥用。一位联合国独立人权专家今天表示,国家和私人行为体正在利用反恐和程潇穿抹胸高清写真,秀香肩后背皮肤白皙嫩滑身材圆润好性感现在的娱乐圈里,审美不再单纯以瘦为美,每个人的审美品味都越来越多样,各种明星也能感受到独特的特色。女团成员通常走甜美,可爱或性感的姐姐风格,根据她们的路线和风格,程潇虽然通常给人一通过艺术品看世界,竟然能改变人生?艺术在非常深的层次上影响着人们的心灵在那些起着决定性作用的层次上。假如我有一个朋友,他在每个问题上都跟我持相反意见,不同意我的看法,但他有一颗善良的心,有共情他人的能力,能懂得他人骊住水科技集团陶江女士荣登福布斯中国2023杰出商界女性100榜单上海2023年3月15日美通社近日,福布斯中国正式揭晓了福布斯中国2023杰出商界女性100榜单。骊住水科技集团大中华区领导陶江女士继2022年首次荣登榜单,今年再次载誉而归,列席现代经典的复古风情法国RevivalAudio法宝Atalante5书架式音箱产品代理骏韵音响产品零售价39,840元对,专用脚架3,040元对不知道大家有没有发现,最近几年由于世界各地疫情的反复,大家在家里的时间变得更多了,越来越多的家庭开始选购音响产品与借力艺术拥抱数字江西红破壁出圈来源人民网江西频道长征第一渡剧照。李承阳摄近年来,江西充分挖掘和利用红色资源,借力艺术方式,讲好红色故事,让红色文化入脑入心拥抱数字技术,让红色文化突破时间和空间限制,受到年轻人追3月16日最新考研院校调剂信息汇总如有关于调剂的问题,可在评论区留言!我会尽量解答,谢谢大家!我会持续更新院校调剂信息!兰州大学原文链接httpsyjszs。lzu。edu。cnlzuyjsytjxt榆林学院数学与最新社保基金持仓曝光新进增持10家公司这些股票被连续五个季度持有本报记者任世碧随着上市公司年报的陆续披露,社保基金的持仓动向也逐渐明晰。Wind数据显示,截至3月15日收盘,在已披露2022年年报的140家A股上市公司中,有16家公司前十大流通