• [优秀实践] remill语义开发项目实践心得
           开源在近十年来逐渐形成了一种趋势,开源让技术更迭更加快速,各种开源协议五花八门。开源不仅有利于继承性创新,还有利于促进科研成果价值的体现,同时开源社区的不断壮大也是大势所趋。华为作为一家以技术为根基的商业化公司,一直以来也在积极构建开源的商业模式。华为与国内的高校、机构,在课程开发、软件协作和相关的资源支持、社区学习和赛事认证方面,做出了积极的努力。很感谢华为提供鲲鹏众智这个平台,可以亲身参与到华为的开源生态建设中来。       目前国内各行各业站在开源软件的肩膀之上构建了一派繁荣的应用软件,虽然应用软件虽然非常丰富,但是基础软件却较为薄弱。华为作为国之重器,勇当历史使命,逐步加大基础软件领域的投入,相继开源了openEuler操作系统、openGauss数据库、MindSpore AI计算框架等重量级基础软件项目。作为专注科研的高校团队,我们团队也积极参与基础软件的开源构建生态之中,相继参与了REMILL指令语义开发、opengauss数学函数等众智开源协作项目中。       参与开源项目,为开源项目做贡献虽然不需要成为某个领域大牛,但需要你花费大量时间和精力去贡献,在这个过程中,你同样能够学到很多。如语义指令开发这个项目,我是先从官方文档开始了解remill项目的,并根据自己的了解,写一些博文,为项目写一些技术文档指导接下来的开发工作。通过本次项目实践,我收获了很多。首先对是对开源项目有了进一步认识,开源项目强调自主性、探索性、实践性和协助性,重在实施过程中发挥创新思维、创新实践,充分调动主观能动性,灵活运用相关知识,使自己得到锻炼和提高。回顾一年多来参加项目的经历,从开始对项目需求的理解到项目计划的讨论和确定,从对项目的整体把握到关键环节的分析,并制定详细的项目方案和进程以及后续的实施,整个过程不仅学到了我感兴趣的东西、觉得有用的东西,更重要的是自己思维能力、团队协作能力、实践能力都得到了提高,而且也学到了善于思考、积极总结的可贵精神。比如在代码效率优化方面,对于优化代码,有许多种渠道,对于不同的应用有不同的解决之道。通常情况下,同一种优化方式在不同的应用中达到的效果是不同的。对某一特定应用代码,运用多种优化方式结合使用,包括调整编译器选项、规范内存使用、合理运用循环体、profiler等优化工具使用、协处理器指令使用等,在不断的实验过程中达到最优。       项目的实施结果圆满达到预期效果,这也是我深感欣慰。在实践中,我看到了团队成员的共同进步,大家都认真完成项目进度的安排,对自己的工作负责到底,对没接触的知识,不动的技术也不畏惧,通过自己的努力克服技术壁垒,实现预定目标。虽然项目进展过程中也遇到了很多困难,但看到团队成员都以积极向上的心态去应对,正式一次次通过努力越过难关给我们带来了一段难忘的记忆。      开源项目有一个非常显著的特征,就是对社会的贡献和社会的价值。如果中国的开源生态能够基于利他和共赢的愿景之上繁荣发展,那么它一定会夯实中国软件的根基,同时在这个基础上更好地和全球的开源领域、和全球的软件开发者、和全球的公司实现合作共赢。期待后续参与华为更多开源项目,为中国开源软件贡献自己的一份力量。                                                    同济大学--认知与智能计算研发团队--徐彦军                                                                      指导教师:田春岐老师
  • [优秀实践] 基于openEuler平台下HyperMPI+毕昇编译器的HPC软件迁移项目实践心得
    HPC软件迁移openEuler项目主要是将WRF、CAMx、CESM、NEMO、ROMS、WAVEWATCH III、Bifrost,这7款软件使用鲲鹏社区发布的最新的毕昇编译器和HyperMPI来对进行相关迁移工作,其中包括编译、部署和测试等,同时对应用所涉及的周边功能组件和常见的错误,要给出相应的一些解决方法,在整个项目的实施过程中,我不仅在技术层面有大量的提升,同时对于团队协作、项目管理和对不熟悉领域的项目快速上手也有一些全新的认识。首先是在技术层面上。虽然本科期间学习过编译技术、Linux服务器等相关的专业课程,但是并没有进行一些实际的工业级项目的检验,借助这次项目的机会,在项目中实践了自己所学的东西,对Linux的命令和shell脚本更加熟悉,同时也学习了一些以前不会的命令,并且在对软件源码的编译过程中出现的一些错误,通过不断的查阅相关的资料,借助开源社区和华为那边的专家提供的一些资料,然后自己再去通过编写一些配置文件和脚本得以解决,极大地提高了自己在Linux上的编码能力。其次是在团队协作方面。本次项目中的几款软件都是气象相关的HPC开源软件,之前都没有怎么接触过。所以在项目实施之前,华为那边的技术专家,也是给我们进行了一个项目启动会和项目整体情况介绍,以及项目的实施规划。然后本次项目的指导老师刘勇,就对我们进行了一个项目分工。在整个项目的分工合作上,大家都积极地进行交流,对软件移植过程中遇到的一些问题,都会开会进行讨论,提出可行的解决方案,这样大大地避免了其他同学在移植的时候继续“踩坑”的情况,团队的成员也都集思广益,提高了在移植过程的效率,例如刚开始在移植HyperMPI的时候,大家都遇到编译报错的问题,后来通过大家一起讨论和查阅相关的文档,最终得以解决。我在想这也是当前国内一些软件所需要的,面对一些西方国家的制裁,越来越强调自主可控,华为虽然开源了自主的openEuler操作系统,但是在软件层面还需要国内很多的开发者进行协作努力,才能进一步的扩大生态,不能仅仅只靠华为等少数几个企业,在芯片和国产的桌面操作系统方面等也是如此,需要更多类似华为这样的众智项目。最后是对项目的快速上手方面。参与到本次项目中,一开始对这几款软件和华为毕昇编译器以及HyperMPI都不怎么了解,刚开始移植WRF的时候,遇到了很多错误,在排查错误的时候,一开始就是直接去找这个错误,发现很多都找不到,后面就改变方向,首先去软件的官网找这款软件的一些开发文档,然后是去GitHub找一些相关的源码,然后通过了解了这款软件的来龙去脉之后,再去一些开源论坛或者Google上结合一些编译日志来找解决方案,这对我在后续几款软件的移植上提供了非常大的帮助。例如在编译CESM的时候,安装CESM其他组件时候,一直提示github访问问题,后面切换到海外的云服务器就可以了。这对我以后上手一些其他的项目,积累了非常宝贵的解决问题的经验。最后,很荣幸感谢华为能够提供鲲鹏众智计划这样的机会,也非常感谢刘老师的指导,能够参加到本次的华为HPC软件迁移openEuler项目中,学习到了非常多的知识,同时还接触了华为那边非常优秀的工程师,并且对华为也有了一个全新的认识,在对自主知识产权的技术上,贡献了非常大的力量,包括华为鲲鹏系列的产品,和开源openEuler系统,以及建设相关的软件生态圈等等,希望以后自己也能为国产软件贡献更多的力量!                                                                                                                                                                                         重庆邮电大学-数据分析与智能决策创新团队-周召剑 指导老师-刘勇老师                                                
  • [交流吐槽] 技术带给我的思考
    1.大数据应用:分布式系统,处理海量数据,进行运算和存储技术要点:Storm、Spark、Hadoop(框架),MapReduce(负责计算),Hdfs(文件系统),Hive(数据仓库),Hbase(数据库),Zookeeper(中间件),Ambri(可视化,配置集群)2.安卓开发目前还出现了RxAndroid(响应式编程)、webFlux技术要点:开源框架,网络编程,json和xml解析,绘图原理,动画,事件机制,自定义View,数据存储,开源框架,四大组件原理,UI控件(RecycleView,TabLayout等),Material Designs3.web前端前端追求的是:页面表现,速度流畅,兼容性,用户体验等等。前端基础:js,html,css,jquery,bootstrap,node.js。jquery有点过时了。现在比较流行的前端三大框架: vue,angular,react4.web后端后端追求的是:三高(高并发,高可用,高性能),安全,存储,业务等等。python,java都可以做后端。也有少数公司用c/c++。大后端,目前很流行分布式、微服务、容器。python后端,一般用flask、django。5.PHP一般小公司刚起步,都会采用LAMP架构。也就Linux+Apache+Mysql/MariaDB+Perl/PHP/PythonPHP适合产品刚起步,快速开发,做出产品雏形,看能否适应市场。PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。6.云计算7.区块链8.人工智能9.游戏开发一般用c++。引擎有cocos2d,工具unity3d、openGL。
  • [技术干货] HarmonyOS(鸿蒙)介绍&学习资源大全
    一. 什么是HarmonyOS(鸿蒙)HarmonyOS(鸿蒙)是华为开发的一款面向未来的全场景分布式智慧操作系统,将逐步覆盖1+8+N全场景终端。对消费者而言,HarmonyOS用一个“统一的软件系统”从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来统一、便利、安全的智慧化全场景体验。对开发者而言,HarmonyOS通过多种分布式技术,整合不同终端硬件能力,形成一个虚拟的“超级终端”。应用开发者可基于“超级终端”开发应用,聚焦上层业务逻辑,无需关注硬件差异。设备开发者可以按需调用其他终端能力,带来基于“超级终端”的创新服务体验。HarmonyOS作为一款面向未来的崭新分布式操作系统,在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。必将在万物互联万物智能的全联接世界中发挥至关重要的作用。二. HarmonyOS(鸿蒙)三大系统特性1. 搭载该操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享。对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。2. 面向开发者,实现一次开发,多端部署。对应用开发者而言,HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。3. 一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。对设备开发者而言,HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。三. HarmonyOS(鸿蒙)精品资源总结1. 官网地址名称描述地址HarmonyOS官网地址官网链接地址HarmonyOS开发者官网地址开发资源官网链接地址OpenHarmony Gitee开源代码地址OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。链接地址HarmonyOS开发文档地址学习 HarmonyOS 系统能力、开发指导、API参考等,利用 HUAWEI DevEco Studio 开发工具,开发不同设备的应用,为用户带来全场景体验。链接地址示例代码这些代码也是链接到Gitee,但是做了详细的分类,比如Ability、UI、Common、AI、Data、Device、Media、Network、Security、Thread等等链接地址2.论坛地址名称描述地址华为开发者联盟论坛论坛的规模建设,需要大家一起努力去壮大链接地址CSDN HarmonyOS技术社区CSDN官方运营的HarmonyOS技术社区链接地址电子发烧友论坛电子发烧友论坛与HarmonyOS官方战略合作共建的技术社区链接地址51CTO51CTO与HarmonyOS官方战略合作共建的技术社区链接地址3. 视频地址名称描述地址HarmonyOS系统定位系统定位描述视频链接地址HarmonyOS系统架构系统架构简述视频链接地址华为开发者学堂华为开发者学堂涉及HMS、HarmonyOS、前沿技术、AGC研习社、考试认证、人才计划等模块,其中对HarmonyOS有丰富的教学视频链接地址什么是HarmonyOS介绍HarmonyOS定义及特点。链接地址HarmonyOS系统架构介绍HarmonyOS系统架构以及FA/PA原理。链接地址HarmonyOS应用开发系列课(基础篇)介绍HarmonyOS整体架构和理念,关键技术(分布式关键技术/安全和隐私/UX),应用程序框架,以及开放能力和工具平台。链接地址HarmonyOS应用开发系列课(进阶篇)介绍HarmonyOS应用程序框架,HarmonyOS分布式软总线、任务调度,分布式数据管理、安全和隐私设和UX体验设计等内容。链接地址HarmonyOS应用开发系列课(高级篇)HarmonyOS系列课程,快速上手HarmonyOS应用开发。链接地址HarmonyOS应用开发系列课(案例篇)HarmonyOS开发者实战经验和案例分享。链接地址HarmonyOS 鸿蒙,华为全场景发布会HarmonyOS 鸿蒙,华为全场景发布会链接地址华为鸿蒙系统取代不了安卓,两者根本不在一个赛道华为鸿蒙系统取代不了安卓,两者根本不在一个赛道链接地址4. API手册名称描述地址HarmonyOS Java API手册开发手册链接地址HarmonyOS Native(C语言) API手册开发手册链接地址HarmonyOS JS API手册开发手册链接地址5. 开发工具地址名称描述地址DevEco Studio开发工具链接地址6. 超强官方资料名称描述地址资料下载涉及HarmonyOS应用开发、HarmonyOS智能硬件开发、HMS Core5.0:Smart Device链接地址官方开发指南和资源索引官方开发指南和资源索引内容非常丰富,涉及新手指引、HMS Core、AppGallert Connect、Developer Tools和非常多的资源索引,华为开发者联盟依托华为终端设备、全球平台服务和产业链资源,为开发者提供应用开发、测试、推广、变现等全方位支持。链接地址来源:华为云社区博客版块文章链接:https://bbs.huaweicloud.com/blogs/304628文章作者:李子捌
  • [技术干货] 中文预训练语言模型回顾
    论文名称:Revisiting Pre-trained Models for Chinese Natural Language Processing论文作者:崔一鸣,车万翔,刘挺,秦兵,王士进,胡国平 原创作者:崔一鸣 论文链接:https://www.aclweb.org/anthology/2020.findings-emnlp.58 转载须标注出处:哈工大SCIR1. 简介以BERT为代表的预训练语言模型在众多自然语言处理任务中取得了显著性能提升,并且随后涌现出一批效果更优的预训练语言模型。在本文中,我们将经典的预训练语言模型应用在中文场景并使用相同的实验设置去验证它们在中文领域的性能表现。同时,我们创新地提出了一种基于文本纠错的预训练语言模型MacBERT,应用纠错型掩码语言模型(MLM as correction,Mac)解决了预训练模型中“预训练-精调”不一致的问题。为了验证实验效果,我们选择了8个经典的中文自然语言处理任务,包括阅读理解、单句文本分类、句对文本分类等。大量实验结果表明所提出的MacBERT能够在大多数任务上取得显著性能提升。我们已将所有本文涉及到的中文预训练资源进行开源,希望能够进一步促进中文信息处理的研究与发展。2. 构建中文预训练系列模型首先,我们提出了一整套的中文预训练系列模型,以构建较为完整的基线系统并为后续工作提供相对标准的参照数据。我们主要训练了以下几种预训练语言模型:BERT-wwm:我们在谷歌原版中文BERT-base[1]的基础上,将全词掩码技术(Whole Word Masking,wwm)应用在中文环境,即在掩码语言模型(Masked Language Model,MLM)中使用词粒度进行掩码。我们使用了LTP[2]作为中文分词工具。需要注意的是,虽然掩码粒度为词,但模型的输入仍然以字为粒度(使用WordPiece分词)进行切分,即与原版BERT并无差别。XLNet:Yang等人提出基于Transfromer-XL构建了XLNet模型[3],解决了BERT的“预训练-精调”不一致的问题,提出了Permutation Language Model。与BERT不同的是,XLNet采用了sentencepiece进行分词,因此分词粒度更大。RoBERTa-wwm:RoBERTa模型[4]由Liu等人提出,进一步挖掘了BERT的潜力。我们训练的RoBERTa-wwm与BERT-wwm类似,但从中删除了Next Sentence Prediction(NSP)预训练任务,并使用了全词掩码技术。需要注意的是,与英文RoBERTa不同,这里我们同样使用了WordPiece分词。通过后续实验发现WordPiece相比sentencepiece在中文预训练模型中更有效。ELECTRA:Clark等人提出一套全新的生成器-判别器架构的预训练模型ELECTRA[5],其中生成器是一个小型的MLM,用于替换输入文本。而判别器则是判断输入文本是否经过替换。由于判别器只需进行二分类,相比传统MLM来说效率更高。在下游任务精调中,我们只使用判别器。3. MacBERT为了解决预训练模型中的“预训练-精调”不一致的问题,我们巧妙地修改了掩码语言模型,并提出基于文本纠错的掩码语言模型(MLM as correction,Mac)。该方法不需要对现有结构进行任何改动,只需针对掩码方式进行改变,因此极大程度地保留了BERT的原始特性,并可以无缝迁移到任何使用BERT的下游任务精调代码中。 具体地,针对掩码语言模型任务,我们进行了如下修改:我们使用全词掩码技术以及N-gram掩码技术来选择待掩码的token,其中unigram至4-gram的概率分别为40%、30%、20%、10%。为了解决[MASK]标记在下游任务中不会出现的问题,我们提出使用相似词来替换[MASK]标记。我们使用Synonyms库[6]来获取待掩码单词的相似词。在N-gram掩码时,我们针对N-gram中的每个词均进行相似词替换。在少数情况下,当相似词不存在时,我们将使用词表中的随机词进行替换。与原版BERT类似,我们对输入序列总长度15%的token进行掩码,其中80%的情况下会替换为相似词,10%的情况下会替换为随机词,剩余10%则不进行任何替换(负样本)。下表给出了几种不同的掩码方式的对比示例。表1 不同掩码方式的对比除此之外,由于ALBERT模型[7]在众多自然语言处理任务上获得显著性能提升,我们采用了其中的Sentence Order Prediction(SOP)预训练任务来替换BERT中的Next Sentence Prediction(NSP)任务。在SOP任务中,正样本由相邻的两个片段构成,而负样本则是将两个片段的顺序进行倒置。4. 实验4.1. 预训练模型设置接下来简要介绍预训练模型的训练设置,详细内容请参考论文的4.1节。预训练数据:我们采用了中文维基百科数据(同时保留简体和繁体中文)以及额外爬取的中文数据(包括百科、问答、新闻等),总词数达到了5.4B。在模型中我们以ext标记采用扩展数据的BERT或RoBERTa模型。基本参数:我们对所有模型(除XLNet)采用了统一预训练词表,与原版中文BERT-base相同,包含21128个token。序列最大长度设置为512。训练设备:根据模型规模大小,我们采用了单个TPU v3或者TPU v3-32进行训练。4.2. 下游精调数据集我们选用了以下8个中文自然语言处理数据集:阅读理解:CMRC 2018[8],DRCD[9],CJRC[10] 单句文本分类:ChnSentiCorp[11],THUCNews[12] 句对文本分类:XNLI[13],LCQMC[14],BQ Corpus[15]为了保证结果的稳定性,对于每一组实验结果,我们均运行10次,并汇报其平均值和最大值。相关实验超参设置请参考论文的表2。4.3. 实验结果本文涉及的预训练模型的部分实验结果如下表所示(详细结果请参考论文4.3节)。可以看到MacBERT在多数任务上取得了显著性能提升,尤其在机器阅读理解的各项任务中的提升更为明显。表2 CMRC 2018中文阅读理解结果4.4. 消融实验为了进一步了解性能提升的来源,我们对MacBERT-large进行了消融实验。可以看到,整个模型中最重要的部分是纠错型掩码语言模型(Mac)和N-gram掩码语言模型(NM),而相对来说模型使用NSP还是SOP预训练任务并没有对模型性能造成很大影响,因此后续工作应进一步将重点放在掩码语言模型及其变种模型的设计上。表4 MacBERT模型上的消融实验结果5. 讨论前面提到MLM任务是这类预训练语言模型最重要的组成部分。MLM类任务包括两个方面:1)如何选择需要掩码的token;2)待掩码的token替换成什么。在前面的章节中,我们已经展示了不同的选择掩码token的方法,例如全词掩码、N-gram掩码等。现在我们将探索第二个方面,即探索“待掩码的token替换成什么”。我们在CMRC 2018和DRCD数据集上进行了验证。在15%的整体掩码比例下,其中的10%将保持不变(负样例),而剩余的90%将采取如下4类方案进行对比。MacBERT:80%的词替换成相似词,10%替换为随机词;随机替换:90%的词替换为随机词;部分MASK:(BERT原始MLM)80%替换为[MASK],10%替换为随机词;全部MASK:90%的词替换为[MASK]。实验结果如下图所示。可以看到依赖于替换成[MASK]的实验设置(例如部分MASK和全部MASK)下效果相对较差,说明“预训练-精调”不一致的确会为下游任务带来一定的性能下降。而简单地将所有待掩码的词替换为随机词后,其性能显著优于依赖[MASK]的MLM方法。最后,我们使用相似词进行进一步优化后,其性能还会得到显著提升,说明MacBERT设计是有效的。6. 结论在本文中,我们回顾了经典预训练语言模型在中文场景下的性能表现,以验证这些模型在非英文语种上的通用性。同时我们提出了一种基于文本纠错的预训练语言模型MacBERT,解决了预训练模型中的“预训练-精调”不一致的问题。大量实验结果表明所提出的MacBERT能够在多数任务上带来显著性能提升。我们已将所有与本文相关的中文预训练语言模型开源,并希望能够进一步促进中文信息处理的研究与发展。基于我们在文章最后的分析讨论,未来我们将探索一种有效调整掩码比例的方法以取代手工设置的方案,从而进一步提升预训练语言模型的性能表现。7. 参考文献[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In NAACL 2019. [2] Wanxiang Che, Zhenghua Li, and Ting Liu. LTP: A chinese language technology platform. In COLING 2010. [3] Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, and Quoc V Le. Xlnet: Generalized autoregressive pretraining for language understanding. arXiv preprint arXiv:1906.08237. [4] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. Roberta: A robustly optimized bert pretraining approach. arXiv preprint arXiv:1907.11692. [5] Kevin Clark, Minh-Thang Luong, Quoc V. Le, and Christopher D. Manning. ELECTRA: Pretraining text encoders as discriminators rather than generators. In ICLR. [6] Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and Radu Soricut. Albert: A lite bert for self-supervised learning of language representations. arXiv preprint arXiv:1909.11942. [7] Hailiang Wang and Yingxi Hu. 2017. Synonyms. https://github.com/huyingxi/Synonyms [8] Yiming Cui, Ting Liu, Wanxiang Che, Li Xiao, Zhipeng Chen, Wentao Ma, Shijin Wang, and Guoping Hu. A Span-Extraction Dataset for Chinese Machine Reading Comprehension. In EMNLP 2019. [8] Chih Chieh Shao, Trois Liu, Yuting Lai, Yiying Tseng, and Sam Tsai. Drcd: a chinese machine reading comprehension dataset. arXiv preprint arXiv:1806.00920. [9] Xingyi Duan, Baoxin Wang, Ziyue Wang, Wentao Ma, Yiming Cui, Dayong Wu, Shijin Wang, Ting Liu, Tianxiang Huo, Zhen Hu. Cjrc: A reliable human-annotated benchmark dataset for chinese judicial reading comprehension. In CCL 2019. [10] Songbo Tan and Jin Zhang. 2008. An empirical study of sentiment analysis for chinese documents. Expert Systems with applications, 34(4):2622–2629. [11] Jingyang Li and Maosong Sun. Scalable term selection for text categorization. In EMNLP 2007. [12] Alexis Conneau, Ruty Rinott, Guillaume Lample, Adina Williams, Samuel R. Bowman, Holger Schwenk, and Veselin Stoyanov. Xnli: Evaluating crosslingual sentence representations. In EMNLP 2018. [13] Xin Liu, Qingcai Chen, Chong Deng, Huajun Zeng, Jing Chen, Dongfang Li, and Buzhou Tang. Lcqmc: A large-scale chinese question matching corpus. In COLING 2018. [14] Jing Chen, Qingcai Chen, Xin Liu, Haijun Yang, Daohe Lu, and Buzhou Tang. The BQ corpus: A large-scale domain-specific Chinese corpus for sentence semantic equivalence identification. In EMNLP 2018.
  • [新手课堂] 技术带给我的思考
    1.大数据应用:分布式系统,处理海量数据,进行运算和存储技术要点:Storm、Spark、Hadoop(框架),MapReduce(负责计算),Hdfs(文件系统),Hive(数据仓库),Hbase(数据库),Zookeeper(中间件),Ambri(可视化,配置集群)2.安卓开发目前还出现了RxAndroid(响应式编程)、webFlux技术要点:开源框架,网络编程,json和xml解析,绘图原理,动画,事件机制,自定义View,数据存储,开源框架,四大组件原理,UI控件(RecycleView,TabLayout等),Material Designs3.web前端前端追求的是:页面表现,速度流畅,兼容性,用户体验等等。前端基础:js,html,css,jquery,bootstrap,node.js。jquery有点过时了。现在比较流行的前端三大框架: vue,angular,react4.web后端后端追求的是:三高(高并发,高可用,高性能),安全,存储,业务等等。python,java都可以做后端。也有少数公司用c/c++。大后端,目前很流行分布式、微服务、容器。python后端,一般用flask、django。5.PHP一般小公司刚起步,都会采用LAMP架构。也就Linux+Apache+Mysql/MariaDB+Perl/PHP/PythonPHP适合产品刚起步,快速开发,做出产品雏形,看能否适应市场。PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。6.云计算7.区块链8.人工智能9.游戏开发一般用c++。引擎有cocos2d,工具unity3d、openGL。
  • [热门活动] 昇思MindSpore开源社区成长计划,学技术领任务赢大奖!
    昇思MindSpore 是华为推出的全场景 AI 计算框架,具备统一的模型训练、推理和导出等接口,支持端、边、云等不同场景下的灵活部署。“昇思MindSpore开源社区成长计划”活动重磅上线!MindSpore 学习过程+MindSpore 开源实践,学练结合,快速提升个人技能,参与开源社区做贡献!完成 昇思MindSpore 课程,再认领昇思MindSpore 开源社区任务,从最简单的文档资料、语法规范,到一定难度的算子开发、应用案例都有涉及,一步一步引导开发者进入深度学习领域,迅速扩展和锻炼技术图谱,参与开源社区做贡献!01活动攻略介绍点击观看下方视频介绍,快速get活动攻略!https://www.bilibili.com/video/BV1eb4y1y7qi?spm_id_from=333.999.0.0 本次活动既适合没有经验想要参与开源的新手,也适合有一定经验的开源老将。直接查看、领取任务就可开始,无需报名! 02任务发布地址任务发布地址:MindSpore官方Gitee开源社区https://gitee.com/mindspore/community/issues/I4BD5F通过我们的活动,熟悉参与开源的流程并积累实践经验,可挑战解决社区内其他待解决问题~甚至作为外部开发者与内部成员一起共建和优化MindSpore!来吧,一起干一票大的吧~
  • [行业资讯] 捐赠百万行自研代码,华为欧拉正式进入开放原子基金会孵化阶段
    11月9日,操作系统产业峰会2021在京举办。会上,华为宣布正式将欧拉开源操作系统(openEuler, 简称“欧拉”)全量代码、品牌商标、社区基础设施等相关资产,捐赠给开放原子开源基金会。本次欧拉捐赠内容包括:代码和软件包:数百万行华为自研代码版权和知识产权许可,超过8000个经华为和社区验证的软件包。创新项目:华为创新的iSula、A-Tune、Stratovirt、secGear项目。商标:openEuler以及iSula、A-Tune、Stratovirt、secGear项目的中英文商标品牌共30个。域名:openeuler.org及其子域名,和openeuler.io及其子域名,共4个。社区基础设施:构建服务与测试体系、代码托管、社区运营平台等社区基础设施。华为副总裁、计算产品线总裁邓泰华会上承诺欧拉捐赠之后,华为仍将从技术创新、生态构建、商业推广、开源建设、人才发展五个方面持续投入和推动欧拉发展。据欧拉社区理事长江大勇透露,目前已经有300家企业、近万名社区开发者加入欧拉开源社区,使用者已经超过25万。其中,麒麟软件等十多家OSV,已经基于欧拉推出了商业版服务器操作系统,应用于政府、运营商、金融、电力等多个行业,实现规模商用60多万套。这是继2019年欧拉开源之后的阶段性成果,不久前HC大会华为还宣布了欧拉新的定位和升级,即面向数字基础设施的开源操作系统。而今,作为一款重量级开源项目,欧拉捐献给开放原子基金会同样意义重大,是一个里程碑式的节点。那么从过去欧拉的开源到如今,捐赠给开放原子基金会有哪些背后的考虑?在会后的媒体沟通中,华为副总裁、计算产品线总裁邓泰华表示:“自2019年底欧拉开源,到如今近两年的时间里开源社区的进展还是不错的。但这种模式下,包括代码、品牌等各方面都是从企业主导、伙伴参与的模式来构建开源社区。捐赠给开放原子基金会后,我们认为将更有利于发扬开源的精神,以及欧拉开源生态的构建。同时,我们也希望能够通过将欧拉这样标杆的开源项目,捐赠给基金会,进一步带动我国整个开源生态能力的建设。”生态构建方面,邓泰华指出,“欧拉主要面向两类伙伴,一类是基于欧拉做商业发行版的OSV,这是能力型伙伴,也是欧拉最核心的生态力量,包括海内外主流做操作系统商业版的企业,能够基于欧拉提升伙伴各方面的商业化竞争优势。二是基于欧拉做上层应用开发的全行业全产业链的应用软件伙伴,能够为客户带来更多的业务价值。”开放原子开源基金会理事长杨涛指出:“开放原子基金会遵从开放、平等、中立的原则,欢迎各家企业贡献力量。我们对于开源协议的选择都是相对温和、开放性更强的协议,如Apache协议、BSD协议、木兰协议等。我们会尊重捐赠方的意见,倡导让捐赠者有更大的灵活性和开放度。”关于开源的捐赠流程上大致会有四个阶段,杨涛介绍到:“第一阶段,准备工作,企业或研究机构提交相应的开源项目;第二阶段,对项目进行公开评议是否符合捐赠条件;第三阶段,对捐赠的代码等进行知识产权和技术层面的甄别,可能需要经历相当长的时间;最后项目才会完成正式签约,进入到孵化阶段。”而此次华为欧拉与开放原子基金会的签约,也标志着历时近两年,欧拉项目正式进入到了基金会的孵化阶段。据悉,开放原子开源基金会成立于2020年6月,致力于推动全球开源产业发展的非营利机构,由阿里巴巴、百度、华为、浪潮、360、腾讯、招商银行等多家龙头科技企业联合发起,是我国开源领域的首个基金会。成立之初,开放原子开源基金会接受了华为开源项目鸿蒙(OpenHarmony)基础能力相关代码。值得一提的是,上周开放原子基金会也接受了龙蜥操作系统(Anolis OS)的源代码、商标等捐赠。下一步,华为会持续开发欧拉的内核,并将成果贡献给开源社区,而基金会也将继续孵化欧拉。对华为自身来说,公司的联接、计算和云服务等所有相关业务的操作系统,将全面采用欧拉技术路线。来源“雷锋网”作者 | 杨丽原文链接 | https://www.leiphone.com/category/industrycloud/whX4TwElJQGQxmgV.html
  • [论文解析] 【转载】MindSpore论文解读:[AAAI]MIEHDR CNN:基于多摄系统的高动态范围图像的主图像增强算法
    MindSpore作为一个开源的AI框架,为开发者带来端边云全场景协同、极致性能,极简开发、安全可信的体验,2020.3.28开源来得到数78万的下载量,MindSpore已支持100+AI顶会论文,走入100+Top高校教学,通过HMS在4000+App上商用,拥有数量众多的开发者,在AI计算中心,智能制造、云、无线、数通、能源、消费者1+8+N等端边云全场景逐步广泛应用,是Gitee指数最高的开源软件。欢迎大家参与开源贡献、模型众智、行业创新与应用、算法创新、学术合作、AI书籍合作等,贡献您在云侧、端侧、边侧以及安全领域的应用案例。基于MindSpore的AI顶会论文越来越多,我会不定期挑选一些优秀的论文来推送和解读,希望更多的产学研专家跟MindSpore合作,一起推动原创AI研究,MindSpore社区会持续支撑好AI创新和AI应用,本文是MindSpore AI顶会论文第7篇,我们选择了来自北京邮电大学人工智能学院智能科学与技术中心AAAI的一篇论文进行解读,感谢北京邮电大学董教授团队投稿。论文整体目录:1.MindSpore优秀论文解读:自此告别互信息:用于跨模态行人重识别的变分蒸馏技术2.MindSpore AI顶会论文系列2:EPRNet 应用于实时街景分割的高效金字塔表征网络3.MindSpore AI顶会论文3:[ACL2021]文本语义哈希在大规模信息检索系统的应用4.MindSpore AI顶会论文4:[CVPR2021]AECRNet:基于对比学习的紧凑图像去雾方法5.MindSpore论文5:[AAAI] CycleCol:基于循环卷积神经网络对真实单色-彩色摄像系统着色6.MindSpore论文6:[ACM MM]PACMOO:基于帕累托最优的公平性约束协同过滤算法7.MindSpore论文7:[AAAI]MIEHDR CNN:基于多摄系统的高动态范围图像的主图像增强算法-本文1.研究背景高动态范围图像(HDR)主要面向图片显示技术,在某一场景之中,高亮度区域和低亮度区域范围如果超过图像的最大亮度范围,将会大大降低显示效果,而HDR便是为了更好解决该问题而出现的,它能记录亮度范围更加广阔的图像,从而获得更加有效的显示效果。目前的生成高动态范围图像(HDR)问题的解决方案主要聚焦于使用同一个相机拍摄的两张不同曝光度的低动态范围(LDR)图像进行图像融合。在这样的解决方案下由在曝光时间中相机晃动或物体移动而产生重像问题难以避免。在目前市场上,多摄系统已经广泛地铺展应用,将多摄系统应用到传统的HDR问题上面可以转化为使用多个相机同时使用不同曝光时间拍摄一个场景的方法来对图像进行融合,由于最后的生成图像仅仅来源于一次拍摄,从而可以解决由摄像机或者物体移动引起的重像问题。团队介绍:本研究依托于北京邮电大学人工智能学院智能科学与技术中心,团队领衔的董教授多次于AAAI,IEEE Trans等国际知名会议上发表相关论文。本实验团队近年来主要研究方向包括图像增强,HDR,图强去噪,低光照增强等。本团队依托于北京邮电大学双一流学科建设支持,还将在面向国家战略一级各行业的智能化需求持续探索人工智能前沿技术,实现智能技术在社会、企业以及人们日常生活中的有效应用。(本文MindSpore代码实现者:彭春力)2.论文主要内容简介我们提出了一种新的主图像增强方法和一个cnn模型来完成该任务,在传统的多图像融合方法中,得到最终的hdr结果使用的方法为直接将两张ldr图像进行融合,在这一种方案中在摄像机的视差校准不完全准确的情况下会出现重像问题。我们提出的新的方案是使用一张主图像进行融合,比如使用短曝光图像IS作为主图像,使用长曝光图像IL作为参照,将参照IL去噪后得到的图像IS,作为新图像和段曝光图像进行融合操作。下面介绍算法流程图:图1该方案中进行图像融合的两张图片一张是低曝光的IS图片,一张来自于由IS参照IL得到的降噪的IS,图片,两张融合的输入均来自于同一个主图像,最终得到的结果并不会由于多摄相机校准对齐时的误差而产生重像现象。3.代码链接论文链接:https://ojs.aaai.org/index.php/AAAI/article/view/16214/16021代码链接:https://gitee.com/mindspore/contrib/pulls/1284.算法框架技术要点我们基于上述方案提出了一个新的卷积神经网络模型,采用监督学习方法,在超过一千组数据集的测试和训练下进行实验。模型算法框架大致如图2所示:图2Soft warp cnn 用于将长曝光图像IL和段曝光图像ISE, 进行视差矫正,以便更好的应用于后面的去噪。3D Guided Denoising CNN 将得到的拉高曝光时间的图片ISE和校准视差后的长曝光图像ILA进行融合去噪。Fusion CNN 是该算法的最后一步,将拉高曝光和去噪后的图像SE与原始短曝光图像IS进行图像融合操作。最后得到结果IHDR整个算法的步骤简述如下:首先获取多摄系统下不同相机拍摄的不同曝光时间的图片IS和IL然后拉高IS的亮度到和IL相近,再使用soft warp cnn对两张图片进行视差校准,得到ILA ,ILA用于为后续的去噪和曝光调整提供了更好的参照。再使用3D guided Denoising CNN以ILA为参照对ISE进行去噪操作。最后使用Fusion CNN对两张处理后的图片进行图像融合,得到IHDR。5.实验结果该模型在自建数据集上的对比实验结果如表1所示:表16.MindSpore代码实现基于MindSpore的模型搭建模块数据读取处理模块:使用MindSpore的自动训练函数7.总结与展望论文提出了一种基于多摄系统的新的HDR图像合成方法,并基于该方法提出了一个适用于该任务的卷积网络模型,深入阐述并且进行了实验和结果对比和分析。论文中提出的新的方法取得了相较于时下最新方法更为优秀的表现,在目前双摄甚至于三摄四摄系统等更为复杂的摄像系统的广泛应用,多摄融合的HDR合成方法有着十分广泛的应用场景。同时,摄像系统越来越复杂,也对将算法拓展到更多复杂系统提出了更高的要求,也对实际应用提出了巨大的挑战。本文作者在MindSpore社区从事相关AI工作,欢迎您扫码加入QQ群,与数千MindSpore开发者一起交流,用MindSpore赋能千行百业,点亮您的智慧生活。官方QQ群: 871543426MindSpore官网:https://www.mindspore.cn/MindSpore论坛:https://bbs.huaweicloud.com/forum/forum-1076-1.html代码仓地址:Gitee-https://gitee.com/mindspore/mindspore.gitGitHub-https://github.com/mindspore-ai转自文章链接:https://zhuanlan.zhihu.com/p/430231902感谢作者的努力与分享,侵权立删
  • [技术干货] 华为开源镜像站 Mirrors
    华为开源镜像站 Mirrors,藏宝之地https://mirrors.huaweicloud.com/home
  • [热门活动] 你想成为开源社区达人吗?MindSpore开源成长活动重磅来袭~
    作为一枚勤勤恳恳的键盘侠,参与“开源”到底有啥好处呢?开源可以迅速扩展和锻炼你的技术图谱,可以收获一批志同道合的小伙伴,可以给你的履历增光添彩,更可以最大化地将个人智慧产生社会影响力,一齐将中国自主创新的产品以众人拾柴火焰高之力推到世界的前列,真正实现我们发展技术的自由不受禁锢。如此慷慨激昂的事业,你还不加入?想加入,不知去哪里?想加入,不知道如何做?为了推动更多的开发者轻松加入开源事业中,MindSpore即将推出开源成长活动!手把手教你如何参与开源,更有超多奖品和证书等你来取!点击进行观看本次活动面向所有开发者,无论你是高校学生,还是有工作经验的大神都可参加哦~AI音箱、华为手环、荣耀50手机、华为matebook…完成几个任务就可以把它们带回家!领取礼品率高达90%,先到先得哦~本次活动既适合没有经验想要参与开源的新手,也适合有一定经验的开源老将。直接查看、领取任务就可开始,无需报名!任务发布地址:MindSpore官方Gitee开源社区(重要地址发三遍~)https://gitee.com/mindspore/community/issues/I4BD5Fhttps://gitee.com/mindspore/community/issues/I4BD5Fhttps://gitee.com/mindspore/community/issues/I4BD5F通过我们的活动,熟悉了参与开源的流程并累积了部分经验,可挑战解决社区内其他待解决问题~甚至作为外部开发者与内部成员一起共建和优化MindSpore!一起干一票大的吧~
  • [公告] 可信开源,共建共赢,2021 OSCAR 开源产业大会完整议程正式发布!
    “开源”一词的核心,是“自由与分享”,并以此为基础建立生生不息的开源生态。如何推动开源技术在我国市场健康落地,成为当前国内相关领域的当务之急。 2021 年 9 月 17 日,由中国信息通信研究院、中国通信标准化协会联合主办,中国通信标准化协会云计算标准与开源推进委员会承办,中国信息通信研究院云计算开源产业联盟、金融行业开源技术应用社区、通信行业开源技术应用社区、科技制造开源技术应用社区、可信开源项目社区支持,中国IDC圈、SegmentFault 思否、开源之道、开源社共同协办的“2021 OSCAR 开源产业大会”即将开幕。大会旨在进一步探索我国开源生态发展模式,加速开源技术在国内市场落地,提升企业开源治理能力,推动国内开源生态快速、健康有序发展。 届时,将有百位开源领域技术专家、大咖,与参会者共同探讨开源的未来。在这里,我们也提前对本次大会亮点做了汇总:  01 会议亮点可信开源治理标准与评估结果全新发布《开源生态白皮书 (2021)》发布中国信通院开源治理平台 V3.0 版本发布业内首个《操作系统开放生态白皮书》发布业内首个《开源社区成熟度白皮书》发布开源技术培训课程OSCAR 开源尖峰案例评选发布主论坛+五大分论坛,干货满满 02 会议详情 可信开源,共建共赢,百位开源领域技术专家、众多企业开源生态从业者与开发者齐聚,共同探讨开源生态的发展落地及未来,精彩纷呈值得期待! 受疫情影响,线下活动规模受限,提交资料后我们将对您的参会资格进行审核,请您留意您的短信,审核通过后,凭确认短信参会。 扫描二维码立即报名
  • [技术干货] MindSpore 开源运营与治理 | DEV. Together 2021 中国开发者生态峰会
    MindSpore 开源运营与治理 | DEV. Together 2021 中国开发者生态峰会你认为做开源是理想主义吗?能否利用开源创业、实现开源变现?做开源 VS 赚钱,能兼得吗?你怎么看内容来源:2021 年 6 月 5 日,由 SegmentFault 思否主办的 2021 中国开发者生态峰会圆满落幕。会上,华为 MindSpore 运营总监胡晓曼发表了主题为《MindSpore 开源运营与治理》的演讲。分享嘉宾:胡晓曼,华为 MindSpore 运营总监速记整理及发布:SegmentFault 思否编辑部         今天跟大家分享一下 MindSpore 的开源运营与治理。在讲之前,先跟大家做个自我介绍。我叫胡晓曼,15年毕业,毕业之后一直在做算法工程师,做了四年的算法工程师写了四年代码,19年去了百度,做深度学习布道师,去年加入华为,负责 MindSpore 整个社区的开源运营。其实在接到大会邀请的时候,我非常地诧异,也非常开心,因为从算法转到运营的时候,我特别担心会不会失业(笑)。因为圈子太小了,很多人不会特别关注开发者运营这个事情。其实开源运营可以算是新的工种,它不像研发或算法工程师去做图像、做 NLP,有非常明确的目的,也有非常明确的职业规划,在市面上找任何这样的工作都非常方便。所以今天跟大家分享到底什么是开源运营与治理,我们这一年到底在做什么事情? 什么是开源运营与治理? 开源运营到底是什么?我总结了几个点。 我们认为开源运营的核心点用技术把圈内人连接起来,用创新的方式把圈层的影响力不断扩大,让圈外人也能知道你的技术产品是什么。很多人只注重前者,做的内容只针对圈内技术人群,但是如果要火,一定要让不想看你内容的人也能看完,我们叫「出圈」。但难点在于,现在很多运营的方式非常趋于同质化,大家对于运营很常见的误解是他们是做新媒体的,或者是不是在朋友圈发广告的,以为他们是小编,这其实是一种误区。我们发现市面上有技术背景的运营同学非常少见,也非常非常难招。我们要运营的是技术框架,那么有技术背景对于我们来说是必不可缺的。我们目前整个团队基本上都是有技术背景的。 整体的开源运营的内容,我把它分为四块:第一块是产品运营,包含我们常见的内容、渠道、社区、KOL 以及品牌;第二块是社区治理,包括TSC、SIG、WG等;第三块是开源合作,包括功能型合作和应用型合作等等;最后一块是我们最常见的基础设施,包括 CI 系统,也有数字化运营看板,帮助你更好地了解运营效果到底怎么样。 总结而言,我们目前对于开源运营有几个原则。第一,我们认为开源运营的核心人员必须要懂技术。我待过的一些运营团队中,很多人是不懂技术的。那么在正常的工作中,你很难跟他进行深入的交流,对于框架或者对技术本体,我们到底应该采取哪种合适的方式,让开发者更好地了解它。来到华为之后,我们要求我们组所有人必须懂技术,如果你不会,那就去学。有的同学是学文科的,我们要他也必须去学Shell脚本去学Python,再慢慢去学习 MindSpore。 第二,营销和商业的氛围不要过于浓厚。很多人会把运营、市场和商务BD分不清楚。他们会说,这三个好像可以互相转换,运营不也是用推销吗?营销市场marketing不也是做广告吗?好像会让人感觉没有区别。但其实运营和marketing和营销人员是有本质区别的,我们不是纯粹的PR,不是纯粹地打广告。 第三块是我们总结出来的经验,在所有的运营块,我们认为应该要敢于试错。我们现在没有特别完整或者说特别规范的一条路让大家去遵循。对于很多方式,我们都是在去尝试。尝试之后,再去看它的效果,如果觉得效果可以,就把比较好的经验总结下来,如果觉得不太好,我们再继续去迭代。不断迭代,反复复盘再总结经验,实践多了,路就出来了。 先简单讲一下MindSpore是什么,它是去年3月28号华为开源的一个全场景AI计算框架。有人会觉得很疑惑,现在市面上已经有TensorFlow、PyTorch,为什么我们还要去做深度学习框架?它的核心优势在哪里?你凭什么让开发者选择你的框架,把原来的框架给替换掉? 其实MindSpore有几个非常核心的点。大家可以看到右边“自动并行”、“二阶优化”,这两点让大家能够非常高效地训练模型。比如说你原来需要一周或一天的时间来训练模型,那么在其他条件不变的情况下,使用MindSpore,你可以极大地缩短模型训练时间,这对于很多企业实际生产落地是非常大的优势。第二是动静态图的转化非常方便,适合开发者切换。第三是全场景部署协同,对于开发者而言简化了部署流程,具有非常好的易用性。后面的几点就不详细讲了,今天主要是讲开源运营,这里只是给大家介绍一下我们MindSpore到底是什么。 我们做了一年的开源社区运营,整体来说,截止到2020年5月底,MindSpore累计下载量有35万多,整体的PR数是2.6万,目前社区一共上线了120多个模型、2000多个上线应用。没有用过不要紧,大家如果用的是华为手机,华为手机就有用MindSpore Lite训练的模型应用,日均调用量3亿多次。 开源运营与治理核心内容 接下来进入正题。今天想跟大家分享的是用模型的思维做开源运营。我以前是做算法的,我们每天要去训练各种各样的模型,现在发现这个思路完完全全可以用到运营上面。大家想一下,我们做算法的时候,拿到一个项目,首先关注的是项目的需求应该怎么样去分析,怎样满足业务方。那么在分析完需求之后,我们要去对数据做大量地清洗,获取高质量的数据,再去进行模型训练、模型评估,看模型效果再进行调优。如果达到指标了,我们就可以进行模型的上线和部署。 把这个思路放到运营这块也是一样的,运营也是需要先了解现在要做的项目,要达到怎样的目标,再来分解任务。比如说我们要做MindSpore的开源运营,那么我们首年的目标是什么,第二年的目标是什么,第三年之后我们要做成什么样都需要先想清楚。所以头三年的目标我们要先要确定,尤其是首年的。首年的目标确定了之后,我们要对目标进行分解,比如 MindSpore 第一年我们要达到的总体下载量是10万。这个数字是怎么出来的呢?其实10万这个数字并不是非常明确的目标,不是说其他家首年下载是10万,我们也得是10万。我们只是认为要达到这个数字,就能证明我们有向上的趋势,我们才有值得继续向前去做的基础,两者之间是相关性,不是因果性。 那么分解指标之后,我们在做的所有运营活动都得满足最小MVP原则,什么意思呢?就是我们做任何活动都会满足最小可用产品原则。比如我们团队开发的一个技术项目TinyMS,它是基于MindSpore做的高级API工具,这个小工具是为了让大家,尤其是小白更轻松地上手,非常简单地去学习MindSpore,入门AI。当时我们做这个工具的时候,我们团队虽然大家都有技术背景,但有些同学不是纯算法,那我们一定要想好这个产品的最小可用的产品形态是怎么养的,需要设计一个解决用户痛点,同时功能不能过于复杂的技术架构。于是我设计了整体的技术架构,带着组里的研发把核心功能做出来,三个月先出一个版本,做出来上线之后看开发者的反应,再不断地去调整,在下一个阶段第二个版本迭代的时候,去做相应的调整。所以,最小MVP上线之后,我们要对它的效果做一些评估。不管是我们做的技术项目也好,还是说做任何课程,都会去看活动带来哪些核心指标的转化,评估之后进行优化,再不停地反复迭代,知道我们总结出一个可复用成经验的方法论,后续再做新产品/任务的时候可以按照流程化去做,大量节省人力,并且保证产品质量的稳定性。 我们可以看到,算法模型和运营模型有非常多的相同点。第一个相同点是都可以作为项目制,都要满足最小MVP原则把项目尽快上线,而不是说花一两个月的时间去做一节课,这非常浪费时间,市场并不会等你。第二个是都需要反复迭代。你就反复地去迭代,去发现问题所在,不断地去优化它,你的效果才能不断地进步。第三个是不管是算法还是做运营,都需要做到差异化竞争。比如说做推荐算法,淘宝的推荐、京东的推荐、拼多多的推荐一定是有机制上的差异的。如果说三个都一样,那对于用户来说在选择上会有一定的份额流失。尤其是对运营来说,你如果没有差异化的推荐,今天用户看到其他厂商做了课程,可以选他们的课程,隔天又看到我们做的课程,那用户为什么要选择我们?我们跟他们的差异化在什么地方?是我们老师更强,课程设计更有趣?还是我们运营的服务体验更好,能够让所有的用户在上课之后还能有些答疑,能够得到完整的学习反馈?这是我们在做项目的时候需要经常思考的点。 但是它们还有几个不同的地方。第一个是在公司里做算法模型需要更多地关注大量的数据。因为不管网络结构优化到什么地步,根据经验,更多的时候还不如把数据做到足够好,增加到足够多的高质量数据去训练模型。但是运营更关注的是实际的数据。要警惕数据指标的虚假繁荣,它虽然能在一定程度上体现工作成果,但也会蒙蔽你需要改进和提升的点。当然会有人持反对意见,认为数据能够反映一切。我们不争论这个论点,我想表达的是开源运营这个类别比较新,你没有办法找到非常符合你现在运营需求的数据,去帮你做前期的调研,再给你们一些指导建议,再去做项目。别人的调研数据和你现有的繁荣数据的统计指标不一定能给你真实的正确的指标。第二个点是算法模型经常做反复地优化和迭代,达到一定的阈值之后再上线,但运营不是,运营最需要的是快速地产出你所期望的内容。要给自己设置一个baseline,即设置一个基线的版本,而不是说我把产品的功能全部做完了,才能上线。做完再上线,别的竞品可能早就已经出来了,压根不会等你。第三个是算法模型对于异常值,或者对于个体的关注会非常小,尤其是我们对于这种离异点的关注并不会特别的大(大部分场景)。但我觉得运营一块对于个体的关注还是会非常重要,因为你只有知道开发者,尤其是一对一或者跟足够多的开发者去聊,知道他们内心真正关注的产品核心痛点是什么。你跟他聊了之后,才能做一些精细化的运营,找到他们最核心的诉求。不断的假设自己是用户,以及真正到用户场景下体验,和真正的用户聊,才能挖掘需求的本质。这不仅是做运营很重要的一点,做产品也是一样。 开源运营的整个体系化结构可以分为这几块。  第一块是品牌营销。品牌营销这块,我们会做一些大型活动。活动的目的就只是为了提升品牌的影响力,不对关键的指标做直接转化。很多人会问你们做这种大型活动到底带来了哪些收益,做市场的人也可能会解释不清楚到底带来怎样的收益。你可以说这个会议或是全网的关注量、播放量有多少,但老板会问你,它到底带来了什么收益?我们最后得出来结论,对于品牌营销,我们不对关键的直接指标做转化。你看,我们做大型的会议、大型的活动,最后真的能像播放量的数字一样,提升我们的核心指标吗?未必,但让更多的用户感知也是非常重要的一环。 第二块是开源运营的核心内容。这块内容非常多,我们有各种各样不同的形式,包括文章、图文、视频、播客等等。形式非常多样,我们要做到高频的产出,对于每类活动或者内容,我们都会设定特定的指标去做提升。比如课程,我们为了提升核心的开发者,那么核心的开发者,我们就不会把它放在你去做播客或者是做一些对于开发者比较好的短视频来去作为他的指标来去提升。 第三块是高校拓展。高校拓展是为了解决用户的源头问题,做高校拓展是为了发展开发者的基数,收集学生的建议,提升整体框架或者整体产品的应用性。 最后一块是企业落地。今年我们会联合华为AI计算中心昇腾创新中心,做核心区域的企业行活动,给企业提供算力并赋能,拓展一些企业的落地项目,提升市场份额。 品牌营销 先给大家讲一下我们做的哪些品牌营销。比如今年五月初,在央视CCTV-2《经济半小时》里,给大家介绍了MindSpore这一年来做出的成绩。第二块是MindSpore周年庆。因为MindSpore是在去年3月28号开源的,所以我们在今年的3月28号做了周年庆活动,邀请了TSC委员会的成员、全球40多位技术专家和核心开发者以及企业落地用户录制祝福视频和技术分享。最后是MindSpore吐槽大会。吐槽大会大家看过吧,我们为什么要做吐槽大会呢?因为很多开发者对我们的产品有一些建议,但是他没有办法或者没有渠道做一些非常直观的吐槽,基本就是提issue,或者去QQ群/论坛提问,所以我们就给开发者提供这么一个渠道,让大家集中地去吐槽。这样既可以拉近开发者和我们之间的距离,也可以让我们的核心开发人员知道产品哪些地方容易让开发者产生不好的体验,实际做下来,效果非常好。此外,左边是一些高端活动,右边是今年刚刚通过的可信开源社区评估体系认证,MindSpore是首批并且是唯一一个通过可信开源评估的AI框架。它的评估不仅包括技术,也包括社区的运营、社区的规范、社区的治理等等,对每个方面都会有评分,还是非常不容易的。 核心内容 接下来看核心内容这一块。先给大家说下产品内容,我们这块不仅包括自产内容,也包括开发者的内容。我们如果是自己产,那相当于我们自己关着门自己玩。我们一定要鼓励开发者,尤其是核心开发者去给我们贡献内容。开发者内容不仅包括普通的开发者、社区的开发者给我们去写文章,或者他参加了活动之后写了一些技术文章,我们还会联系一些核心的KOL给我们做一些核心技术亮点的视频。 这个是我们团队做的技术项目,刚刚给大家讲过。其实很多人对运营团队有刻板印象——运营团队也能做技术项目吗?包括我们公司内部也会觉得很奇怪:哎,这个项目你们是不是找的研发去做的?其实完全没有必要。我们当时想一个小白新用户去接触MindSpore框架,对他来说上手是有一定难度的,得熟悉它的API、整体架构,这对于纯小白开发者来说是有门槛的。TinyMS的目的是降低门槛,让纯小白开发者学习AI没有门槛,从零就能够去学习上手AI类的项目。TinyMS的整体架构非常简单,数据类的模块内置了很多数据集,在Model类里内置了不少常用的深度学习模型,对于开发者来说,你只需写一行代码就可以做数据集的调用、模型训练以及模型部署。 除了技术项目,我们所有的课程基本上都会录制一个系列。左上角的是21天集训营,是我们去年十月份做的趣味实战类课程;右上角是每一次迭代发布新版本发布之后做的两日集训营,让开发者能够最快速地了解我们迭代的新特性;下面是TinyMS配套的保姆级教程;右边是SIG meeting,以及TSC meeting等等。同一系列的视频,我们都是用相同的封面,风格非常统一,重点也非常突出,方便开发者寻找视频。公众号这一块比较常规,就不仔细讲了。整体的要求是希望我们的运营团队在做公众号的时候能够保持主KV色调一致,因为我们的主logo是渐变蓝,然后在高峰时段统一发布。 MindSpore B站运营的话,刚刚已经给大家讲了我们B站目前是哪些内容,投放的话也会在高峰的时间段去做。所有现在这些视频都已经上传到了CCF的电子图书馆,大家不仅可以在B站上看,也可以在CCF数字图书馆看。目前,我们是唯一一个在CCF图书馆上有完整视频学习课件的AI计算框架。 说到抖音,其实很多人会很好奇我们为什么要去做抖音。因为常规理解来说抖音并不是技术人员爱逛的社区,很多程序员手机里都没有抖音。但是我们当时想现在开发者越来越年轻。而MindSpore刚刚出来,很多人并不知道MindSpore到底是什么,到底有哪些亮点,它和其他框架的特性对比提升点到底在哪个地方。按照惯例,我们发布新版本都是有release note对吧?会有一系列具体的更新,这些更新对于作为新用户的开发者来说太长了,并不知道重点是哪一条。所以我就想能不能够用一分钟的视频给大家讲解我们版本发布的亮点。重点:不要超过一分钟,用贴近开发者生活的故事去讲我们版本迭代更新的技术特性。 比如左下角这个视频,这个是0.6-beta的版本。该版本当时发布的核心点之一Wide&Deep,Wide&Deep当时训练用昇腾的16pcs,23.6分钟就可以训练完成,在目前所有框架里是性能最高的。如果我直接说这样一句话,内行的会懂,但是你不做推荐方向的人不会懂,外行就更不懂了。所以当时我们就套了这么一个故事,女主角想要了解他有哪些喜好,可以用MindSpore的Wide&Deep模型,只需要23.6分钟就可以训练完成,做一个“猜你喜欢”的系统。然后打上了“爱情”的标签,把这个故事拍成一个短视频上线了之后,24小时内播放量达到10万+。我没有做任何投放,因为抖音投放太贵了,而且我们不知道效果怎么样,我们只是靠内容去吸引大家关注我们的产品亮点。 除了抖音之外,我们还运营了视频号和播客号。视频号以开发者内容为主,主题比较多变,形式非常有趣。但播客号不一样,播客号的内容集中在和AI技术专家的访谈为主,我们会分享AI产业实践落地的东西,跟视频号会有差异化。 整体的社区之间的体系,我们设置得也是跟常规的体系设置不一样的。  大家可以看到右下角这个图,我们分为SI、ST、GI、GT等等。它是MindSpore单词的拆分,中间加了Gradient和Jacobi的单词,每个等级的开发者都会有编号,且编号唯一。比如你今天参加了我们活动的认证,那么我们会给你认证的编号。你在社区的代号是唯一的,这个代号不同于GitHub账号或者其他的账号是你的个人标识,这个账号代表你在社区的标识。我们把这个推出来之后,更多的开发者愿意参与或者走进我们的社区,就是为了得到社区的认证编号,让他觉得有一种归属感和存在感。在KOL运营这块,在B站我们找了科普类KOL李永乐老师,来给我们用非常简单的方式讲解MindSpore到底能做什么。 直播这块其实非常常见,大家也都会做。但直播这块我们其实也是有区分的,我们会在抖音和B站上做直播,B站上的比较常规,分享技术内容,是纯分享式的直播,不会和观众面对面或者时刻关注弹幕去交流,一般都是先讲完了再看看有没有弹幕问题再去回答。抖音直播,和另外的人连线需要点PK模式,这对于开发者来说,它是非常新、而且沉浸式的互动。我可以邀请MindSpore技术专家共同聊聊技术特性到底是怎么产出的、开发过程中遇到哪些问题,会让开发者对这个技术特性有更深刻的兴趣或理解。除了找技术专家做直播以外,我们同样也会邀请开发者做直播。我们所有的优秀开发者都需要在抖音上做直播的答辩,去分享他们与MindSpore的故事。同样,MSG组织者也需要经过答辩,如果成为MSG组织者需要做哪些内容、有哪些经验等,并且所有直播我们都会公开放在B站上面。 课程这块,21天集训营是面向初中级开发者的趣味性课程。很多课程,尤其深度学习课程,第一堂课大多数是手写数字识别,对于很多开发者来说会有“审美疲劳”。如果我要学习MindSpore,第一课也是要学手写数字识别,就会觉得很没劲。我们当时就想第一课能不能用一种比较新的课程实践。当时微博有个热搜,一个云南的小伙子误食了毒蘑菇,出现了幻觉。于是我们就想,能不能够用MindSpore去做毒蘑菇识别,帮开发者或者日常生活中的人们检测蘑菇到底有没有毒。我们马上就研发了模型,找了蘑菇的数据集,去做了案例。没想到反响还挺好,大家最后做出来之后会拿各种各样的蘑菇图片,包括超级玛丽的那种蘑菇去测试。这非常能够拉近开发者对于框架技术本身的联系。此外还有两日集训营,从去年开始,我们每个月月末会做一次迭代并发布新版本,新版本会有新的特性。除了刚刚讲到的用技术视频让圈外的人了解新特性以外,圈内的人或开发者更希望知道这些特性能不能够运用在实际生产过程当中。所以我们做了两日集训营,专门让这些特性研发的技术专家来讲特性到底做了什么内容,做一些技术直播的干货分享。 下面是MindCon 极客周。MindCon 极客周是去年底做的活动,活动成本非常低,几乎没有花什么成本,但最后的效果非常好。我们最后整体收获了我1万多名D0级开发者参与贡献,合入了20多条bugfix。我们怎么做的呢?当时我们创建了一个组织MSG,MSG是MindSpore Study Group的简称,即MindSpore学习小组,我们去年做的是区域性的组织,在各个城市,包括上海、北京、深圳以及苏州、杭州、天津等都会做这么一些区域型的组织。让所有城市组织者来做比拼:哪个城市的人解决的bug越多,积分就会越高。最后得到积分最高的,我们会有一个物质激励。虽然激励不多,但是会非常激发开发者的兴趣,到最后他们来解bugfix的时候,他们已经被解bugfix、参与开源的过程给吸引住了,而不是仅仅说为了得到这个奖励才参加活动。所以即使没有获得第一,那也参与到开源贡献中了,从0成为开源转化的贡献者。 刚刚提到了一个词:MSG。其实大家看到TensorFlow、PyTorch都会有各自的区域型组织,TensorFlow的组织叫TFUG。我们完全可以做自己的城市化组织,MSG就是各个不同的区域组织一些线下活动。去年我们主要做的是区域型的组织,年底的时候做了一些高校型的,今年我们把它更为系统地梳理了一下,包括区域型、高校型和企业型。从去年七月份到现在,不到一年的时间,我们国内做了13个城市,海外做了七个城市(当然海外都是线上的),做了五场校园行,最后是做企业是一个尝试,我们联合白玉兰开源、云启资本、Julia社区、Graviti等一些初创公司,做了一个初创企业MSG,去了解他们公司,尤其是做开源的初创公司,到底有哪些是我们这边可以提供的。企业行对投资方来说是非常有收益的,因为它们在当中可以发现一些优秀的初创开源企业;对于我们来说也很有帮助,可以了解到现在市场上对于开源社区到底是怎么样的衡量标准,从而指导我们的工作,更好的去理解工作;对于参与的企业来说,他们也可以学习到优秀的开源社区到底应该怎么去做。所以是一个三方互赢的一件事儿,未来我们会做更大更多的探索,在下半年会围绕昇腾创新中心,做核心区域的企业行活动,给企业提供算力并赋能,持续拓展。 在技术比赛这块,我们面向学生、面向开发者、面向高校都有不同的活动。举例来说,面向学生的比赛是暑期2021开源软件供应链点亮计划,让大家参与社区做一些具体的任务;面向开发者做一些TinyMS模型复现赛。当时我们做的时候,TinyMS 0.1版本是3月31号发布的,我们发布了四个模型,让大家去复现。就是你用其他的框架做的模型,能不能用TinyMS再去复现一下。大家知道第一个提交复现的是多少时间吗?17小时内就有开发者基于TinyMS做出了第一个模型的复现。非常意外和惊喜!到现在,我们发布了一个月之后,四个模型都已经提交完成了。我们比赛设置的是三个月,开发者的积极性和对于产品的认可度已经远超我们当时的预期。 社群运营这块就不细说了,我们包括QQ群、微信群、Slack群,整体社群人数目前已经达到了2万+。很多群刚开始的时候比较火热,但是做一段时间就死了或者大家不说话了,这其实是很有问题的。如果大家不说话,我们会持续地丢一些技术问题,或者一些亮点的东西,激发开发者的兴趣,让大家持续在群里面进行讨论。还可以把活跃的开发者分散在各个不同的群里,这样就不用全部都是由官方的工作人员去运营。 这个是我们去年尝试的新的运营活动,朋友圈的话题运营。朋友圈有个新的功能:加上#号,带上话题,点击进去可以看到你的朋友圈里面用这个话题的有哪些朋友圈。我们给开发者提供MindSpore Lite的apk,这个apk安装到安卓手机上之后,你可以用它直接来拍照,去检测你现在拍到的物体是什么东西。于是我们策划了「MindSpore搞笑嘉年华」——找到最鬼畜的东西,带上这个话题发朋友圈。这对于很多开发者来说并没有任何难度,只是为了让大家能够更快地接触到这款产品,体验它的检测速度、准确率。整体来看,我们收获了非常多的搞笑的图片。并且有的开发者不满足于只用官方提供的apk做扫描,还基于自己的数据重新训练了模型来检测街上各种不同的人等等。 高校拓展 第三块是高校拓展。今年我们和教育部联合做了智能基座的项目,签了72所高校,会在学校里开课,以及MSG高校行的活动。学生是用户源,希望同学们能在学校里就养成在开源社区贡献的习惯、多接触到优质项目,持续提升技术能力。 企业落地 最后一块是企业。企业这块对于很多开源社区来说其实不太好做,尤其是对新的开源社区。我们采取的策略是先打头部用户,除了我在PPT上展示的,今年在HTC(4月23号)我们和鹏程实验室合作出了中文版的GPT-3模型——盘古大模型,它也是国内发布的首个最大中文GPT-3模型。还有深圳湾实验室,深圳湾实验室其实是来自于社区的线索。我们去年7月20号做的第一场深圳MSG,当时深圳湾实验室的张老师过来跟我们分享分子动力学的内容,听了MindSpore的分享后,在想是不是可以用MindSpore来做他们的训练框架,因为分子动力学模拟有非常多的高阶导数需要计算。他们尝试着用TensorFlow,当时用的是一点几的版本,对于分布式训练以及高阶导数的计算支持得并不是那么好。后来又转到PyTorch,发现很好用,但是性能却没有TensorFlow好,这两个就很矛盾。后来来到我们MindSpore社区之后,发现MindSpore在性能方面是有足够优势的,于是就用MindSpore去做,目前进展顺利。此外还有和京东联合创立了NLP标杆算法,在智能客服场景里去应用等等。 社区治理 最后是开源社区的治理。我们采取的态度是完全开源开放的态度。目前的技术委员会TSC成员都来自于各个不同的高校或者企业。除了专家委员会以外,我们还有一些SIG组,可以让对某个模块比较感兴趣的同学加入到SIG组里具体地做一些参与开发的工作。 大家可以看左边这张图,目前有包括akg图算融合的、data数据增长与处理的,以及scurity安全的等等。其实还有很多SIG组。我们今年和上海交大的曹老师新增了一个用户体验DX-SIG组,收集用户使用产品的问题和建议,再去改进。SIG组的开发方式,大家可以看一下,就不细讲了。提交issue之后,我们会有committer进行任务指派,开发完成就可以提交PR直到合入闭环。 我们整个基础设施包括CI系统、CI-CLA机器人与同步机器人。大家可以在Gitee上开发,也可以去GitHub上去贡献。 最后是数字化的运营看板。它包括很多,包括目前的star、fork、watch,以及你的每个层级的开发者。MindSpore的核心指标的变化趋势,以及下载量的组成,用户的留存,项目的健康度等等,所有这些都会集中在数字化运营看板里面。数字化运营看板可以及时帮我们复盘每一次活动带来的收益,即除了我们自己会统计,我们也需要有第三方平台帮我们统计,这样的话,双方验证就能知道你的活动到底实际带来的增量是多少,用户的拉新和留存的情况,再进一步分析。这些都可以帮助你来去反思,让你明白你的社区现在应该采取什么样的策略才能更好成长。 开源合作 开源合作这块,我们与Apache TVM、CNCF基金会、LFAI&Data基金会等均有合作,同时在AIIA开源开放推进组也有一些具体的开源合作内容,未来会一一跟大家见面。原文链接:https://blog.csdn.net/sD7O95O/article/details/119336721?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163045765116780265487900%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163045765116780265487900&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v29_ecpm-2-119336721.pc_search_result_control_group&utm_term=MindSpore&spm=1018.2226.3001.4187
  • [技术干货] 【BoostKit大数据】业界趋势、鲲鹏大数据组件增强特性和典型配置
    BoostKit大数据整体体介绍一、鲲鹏应用使能套件BoostKit——释放倍级性能优势      华为早在2004年开始拥抱并积极建设ARM开源生态。2019年发布鲲鹏计算战略,鲲鹏作为ARM生态的重要组成内容,华为进一步聚焦发展鲲鹏生态。2020年发布鲲鹏BoostKit应用使能套件,全方位使能开源、贡献开源,繁荣鲲鹏的软件生态。      目前,鲲鹏BoostKit已经使能超过90%主流开源软件支持鲲鹏平台,覆盖大数据、分布式存储、数据库、虚拟化等主流场景。未来三年内,鲲鹏BoostKit将聚焦使能主流开源软件支持鲲鹏平台发挥高性能提供全栈优化的应用加速能力应用加速:应用性能倍级优势基础加速:性能超越业界水平开源使能:开源软件可用、好用二、面向八大场景,提供场景化BoostKit鲲鹏BoostKit,面向大数据、分布式存储和数据库等主流应用场景,提供加速数据处理、优化存储访问和提升算力部署密度的场景化使能套件。1、BoostKit大数据      “新基建”下,大数据等关键技术高速发展,对关键参数及相关组件的调整,使作业运行效率达到最优。      聚焦大数据查询效率低、性能优化难等挑战,提供大数据组件的开源使能和调优、IO智能预取等基础加速软件包、Spark算法加速库等应用加速软件包,开源openLooKeng查询引擎,提升大数据分析效率。了解详细:https://www.hikunpeng.com/developer/boostkit/big-data2、BoostKit分布式存储      聚焦Ceph性能低、成本高等挑战,提供Ceph参数优化、MD5摘要算法、IO直通等特性提升系统性能,并通过压缩算法、Zlib压缩、EC Turbo等特性降低存储成本,提供高性价比存储方案。了解详细:https://www.hikunpeng.com/developer/boostkit/sds3、BoostKit数据库      针对开源MySQL OLAP查询效率低、OLTP场景锁性能问题等挑战,提供MySQL AP性能加速和TP锁性能优化等基础加速软件包,深度优化了OLAP查询分析效率和OLTP在线交易事务处理能力,充分发挥多核算力。了解详细:https://www.hikunpeng.com/developer/boostkit/database4、BoostKit虚拟化      聚焦虚拟化性能低、网络损耗大、资源碎片严重等痛点,提供虚拟化开源使能调优指南,通过V-Turbo和OVS加速等特性提升系统性能,使用NUMA内存交织等特性减少资源碎片,充分发挥鲲鹏多核优势。了解详细:https://www.hikunpeng.com/developer/boostkit/virtualization5、BoostKit ARM原生      支持移动应用无损上云,完整方案包括硬件、Host OS、ExaGear、虚拟化方案(Kbox /Robox/QEMU)、Guest OS、端云协同引擎。(1、端云协同引擎端云协同引擎包含手机端侧和服务器侧两部分,提供用于业务二次开发的核心引擎,引擎本身是动态链接库,不是一个完整的软件系统,不能独立运行,必须被客户或者ISV集成到程序中才具备软件系统的能力。(2、基础云手机在Ubuntu系统上部署不同虚拟机软件(Kbox/Robox/QEMU),实现在Linux系统上启动Android系统的基础云手机的参考方案,用于Android的应用和游戏运行。(3、硬件平台基于TaiShan 200服务器(型号2280),增加专业的GPU和编解码卡,提供高性价比的硬件平台。(4、云游戏/云手机APK客户或者ISV基于手机端侧的端云协同引擎开发的云游戏和云手机的APK。(5、云手机管理系统提供对云游戏和云手机业务运营进行管理,如终端用户的管理、云游戏/云手机实例管理、计费模式等。因不同客户对管理诉求各有不同,所以,由客户或者ISV根据具体的业务诉求进行开发。了解详细:https://www.hikunpeng.com/developer/boostkit/arm-native6、BoostKit Web        聚焦Web应用HTTPS连接性能和Web开源组件可用性等问题,提供开源Web组件使能调优指南,通过使能鲲鹏RSA加速引擎,帮助客户提升Web网站的安全性,并实现用户HTTPS访问的极致体验。了解详细:https://www.hikunpeng.com/developer/boostkit/web7、BoostKit CDN      鲲鹏BoostKit CDN使能套件聚焦CDN开源组件可用性和CDN缓存节点吞吐量低、时延大等问题,提供CDN主流组件的开源使能和性能调优指南,通过使能鲲鹏处理器内置的RSA加速引擎,对RSA2048算法进行硬件卸载,同时提供了NUMA优化等手段,以便充分发挥鲲鹏处理器多核优势,助力客户CDN缓存节点提供更大吞吐量,实现更低时延。8、BoostKit HPC      鲲鹏BoostKit HPC使能套件聚焦资源调度效率低、应用性能优化难等关键挑战,通过全栈架构创新、软硬件自研、底层基础软件优化和行业应用性能调优等技术构建全栈高性能计算基础平台,帮助客户释放平台算力,缩短产品上市周期,提升企业产品竞争力。架构简介:鲲鹏BoostKit HPC使能套件(简称鲲鹏BoostKit HPC)总体架构由:基础设施、硬件平台、基础软件行业应用层组成。(1、行业应用当前可以支持并应用的行业,包含气象、制造、EDA、政府HPC等;对于开源行业应用,可以通过鲲鹏代码迁移工具迁移适配后在鲲鹏平台上运行。(2、基础软件提供统一高效的集群计算套件CCSuite,包括集群管理平台CCPortal、作业调度器CCScheduler、通信库Hyper MPI,同时提供或兼容鲲鹏GCC编译器,鲲鹏KML数学库和CentOS操作系统。(3、硬件平台提供多样化的计算资源、高性能存储及主流高速网络。(4、基础设施提供模块化的数据中心。   高性能开源组件——华为高性能通信库 Hyper MPI      Hyper MPI是整个高性能计算解决方案的关键组件,它实现了并行计算的网络通讯功能,可以用来支持制造、气象、超算中心等应用场景,同时该通信库也可扩展应用于AI、大数据等通用领域。Message Passing Interface(MPI)是支持多编程语言编程的并行计算通讯应用接口,具有高性能、大规模性、可移植性、可扩展性等特点。      华为高性能通信库(Hyper MPI)是基于Open MPI 4.0.3和Open UCX 1.9.0,支持MPI-V3.1标准的并行计算API接口,新增了优化的集合通信框架。同时,Hyper MPI对数据密集型和高性能计算提供了网络加速能力,使能了节点间高速通信网络和节点内共享内存机制,以及优化的集合通信算法。Hyper MPI的COLL UCX通信框架能够支持的最大数据包长度为2^32字节。了解详细:https://www.hikunpeng.com/developer/boostkit/hpc/hypermpi三、鲲鹏BoostKit大数据——聚焦大数据关键挑战,让数据处理更快、更简单      鲲鹏BoostKit大数据使能套件针对大数据组件优化数据处理流程,提升计算并行度,充分发挥鲲鹏系列处理器的并发能力,给客户提供更高的大数据业务性能。1、常见问题分析多样化查询无法统一,效率低数据分析组件性能无法满足要求磁盘IO存在瓶颈,HDFS性能提升困难多样化数据来源,跨数据源用数难数据非共享。跨数据中心取数难2、鲲鹏BoostKit大数据解决方案(1)跨源跨域查询加速openLooKeng统一数据入口支持跨源、跨域分析,查询性能倍级提升(2)spark性能加速原生机器学习/图算法深度优化Spark性能倍级提升(3)HDFS性能加速IO智能预取,高效取数Spark/Hbase性能提升20%3、鲲鹏BoostKit大数据方案架构及优势      从大数据的发展趋势可以看出,大数据对于计算能力的要求越来越高,需要有更适配大数据技术特征的计算硬件来提供更高的计算能力。TaiShan服务器的鲲鹏916系列处理器提供32核2.4GHz,鲲鹏920系列处理器提供24核2.6GHz、32核2.6GHz、48核2.6GHz、64核2.6GHz四种规格,均高于业界主流平台,鲲鹏系列处理器可以高度匹配大数据这类高并发的典型业务场景。      鲲鹏BoostKit大数据使能套件针对大数据组件优化数据处理流程,提升计算并行度,充分发挥鲲鹏系列处理器的并发能力,给客户提供更高的大数据业务性能,支持TaiShan服务器与业界其他架构服务器混合部署,保护客户已有投资,不捆绑客户的服务器架构选择。      鲲鹏BoostKit大数据总体架构主要由硬件平台、操作系统、中间件、大数据平台构成,其中大数据平台支持华为自研的FusionInsight大数据平台以及开源Apache、星环、苏研大数据平台。鲲鹏BoostKit大数据总体架构组件说明名称说明硬件基础提供基于华为鲲鹏处理器的TaiShan服务器,高速缓存场景支持使用SSD进行加速。操作系统支持主流的商用、开源操作系统和国产化操作系统。加速特性支持鲲鹏指令加速Erasure Code编解码,芯片自带加解密加速器,提供算法与指令优化的KAL机器学习加速库。编译器JDK、GCC、LLVM等常用的大数据编译器中间件均支持鲲鹏产业生态。大数据组件支持开源众多大数据组件,包括核心的Hadoop、HBase、Spark、Hive、Flink、Elasticsearch等。大数据平台支持华为自研的FusionInsight大数据平台以及开源Apache、星环、苏研大数据平台等。鲲鹏BoostKit大数据基于TaiShan服务器,端到端打通硬件、操作系统、中间件、大数据软件的全堆栈,支持多个主流的大数据平台。主要价值如下:高性能鲲鹏BoostKit大数据提升计算并行度,充分发挥华为鲲鹏处理器的多核能力:TaiShan 200服务器(2*华为鲲鹏920 5220处理器)对比业界主流中端双路服务器:计算业务性能持平,BoostKit主推型号TaiShan 100服务器(2*华为鲲鹏916 5130处理器)业务性能对比业界主流低端服务器:性能持平,BoostKit主推型号TaiShan 200服务器(2*华为鲲鹏920 5250处理器)对比业界主流高端双路服务器:计算业务性能提升15%TaiShan 200服务器(2*华为鲲鹏920 3210处理器)对比业界主流低端双路服务器:计算业务性能提升10%安全可靠鲲鹏BoostKit大数据支持处理器内置加密硬件,更安全可靠:华为鲲鹏920处理器支持国密算法加速,联合FI构建国产化安全可信大数据。CPU内置硬件加速器,更安全。加密对业务性能的损耗低于10%。开放生态鲲鹏BoostKit大数据拥有成熟的大数据生态:支持开源Apache组件,支持苏研、星环等多个第三方大数据平台。支持大数据组件TaiShan服务器与其他架构服务器混合部署。四、在鲲鹏社区上一站式获取BoostKit所有加速软件和文档鲲鹏应用使能套件内容导航1、初识BoostKitBoostKit整体介绍:https://www.hikunpeng.com/developer/boostkit鲲鹅BoostKit定义覆盖八大应用场景介绍2、了解方案整体能力BoostKit大数据整体介绍:https://www.hikunpeng.com/developer/boostkit/big-dataBoostKit大数据架构优势介绍应用迁移向导典型业务场景帮助文档开发者资源3、进阶知识&成长BoostKit文档:https://support.huaweicloud.com/wtsnew-kunpengbds/index.htmlBoostKit大数据成长地图:https://support.huaweicloud.com/kunpengbds/kunpengbds.html方案介绍移植工具及移植指南开源组件部署指南调优指南关键特性4、实践交流平台:https://bbs.huaweicloud.com/forum/thread-143349-1-1.html鲲鹏BoostKit论坛鲲鹏BoostKit大数据论坛汇聚技术大咖分享行业技术趋势技术问题解决与建议      使能开源的同时,鲲鹏BoostKit还持续贡献开源,将众多关键的性能优化成果回馈至开源社区。目前鲲鹏BoostKit已有190+关键Patch包、14项关键特性例被开源社区采纳。       鲲鹏BoostKit向C语言库Glibc 2.31版本提交了重要的优化Patch,使得memcpy, memcmp, memchr, strcpy,strlen等常用函数在鲲鹏和ARM平台上的性能提升超过20%,并让众多以C语言为编程语言的软件受益。       鲲鹏BoostKit向MariaDB 10.6版本,提供锁优化、NUMA Aware、Global Counter等关键优化改进,实现MariaDB数据库在鲲鹏和ARM平台的性能提高超过40%。 BoostKit大数据开源使能一、BoostKit全面支持开源大数据&推动开源社区引入ARM CI鲲鹏镜像仓: https://repo.huaweicloud.com/kunpeng/     迈入多样性计算时代,ARM已经成为业界主流的计算架构之一。当前,越来越多数据中心用户选择迁移到ARM架构平台,这得益于日益繁荣的ARM软件生态。      开源软件作为最重要的软件开发模式之一,是软件生态的核心。让开源软件与ARM平台进行充分的软硬件适配和性能优化,并打造可用、好用的开源软件,显得尤为关键。      CI(Continuous Integration,持续集成)是现代软件开发流程的重要手段,从软件的开发、构建到测试、打包全流程,确保与技术架构充分适配,实现高质量的软件代码。       以往主流开源社区基于传统架构建设CI开源开发流程,如果ARM用户直接使用该开发流水线发布的软件包,常常面临着很多问题。只有在开源社区开发流程中引入ARM架构开发流水线,才能从源头解决问题,并且实现一次开发投入,长期受益。       华为致力于推动主流开源社区引入ARM CI,并将相应的ARM版本开源软件汇聚到鲲鹏BoostKit,简化开发者的下载、部署工作。以Apache Hadoop社区为例,华为发起倡议并开展历时超过半年的工作准备与技术沟通。       最终,华为成功主导推动Apache Hadoop社区于2020年初正式启用了ARM CI, 对主干开发代码进行每日周期验证。在开展验证半年后,社区正式发布了提供ARM支持的第一个版本3.3.0版本。       目前已经有Hadoop、Spark、TensorFlow、PyTorch、MariaDB等60+个开源社区在华为的主导推动下已经引入ARM CI,显著提升主流开源社区对ARM和鲲鹏架构的技术支持。 二、openLooKeng统一高效的大数据SQL分析引擎      openLooKeng是一种“开箱即用”的引擎,支持在任何地点(包括地理上的远程数据源)对任何数据进行原位分析。它通过SQL 2003接口提供了所有数据的全局视图。openLooKeng具有高可用性、自动伸缩、内置缓存和索引支持,为企业工作负载提供了所需的可靠性。openLooKeng 架构:https://www.hikunpeng.com/zh/developer/openLooKeng应用系统openLooKeng北向涵盖各种应用,包括大数据分析平台、BI类分析应用以及用户自主开发的各种应用APP。统—数据访问接口openLooKeng提供统—的数据访问接口,使得应用系统访问各类数据源变得更简单,提供兼容标准SQL2003语法的JDBC、ODBC以及REST内核引擎内核引擎包含了openLooKeng的各种关键技术,包括性能提升、可靠性增强等方面的诸多特性模块,例如动态过滤、启发式索引等统—数据源连接框架提供数据源和数据中心的连接能力。数据源/数据中心数据的存储地,包含各类异构数据源,也包括有地理距离的数据中心。 想要了解更多openLooKeng信息,请前往openLooKeng开源社区:https://openlookeng.io/zh-cn/统一SQL入口,高效访问高性能的交互式查询能力多源异构数据源融合分析跨域跨DC融合分析软件包下载:https://download.openlookeng.io/1.3.0/hetu-server-1.3.0.tar.gz服务器类型      openLooKeng服务器有两种类型:协调节点和工作节点。下一节将解释这两者的区别。协调节点      openLooKeng协调节点是负责解析语句、规划查询和管理openLooKeng工作节点的服务器。它是openLooKeng安装的“大脑”,也是客户端连接以提交语句执行的节点。每个openLooKeng安装必须有一个openLooKeng协调节点,以及一个或多个openLooKeng工作节点。对于开发或测试目的,可以配置openLooKeng的单个实例来执行这两个角色。      协调节点跟踪每个工作节点上的活动,并协调查询的执行。协调节点创建了一个查询的逻辑模型,其中包含一系列阶段,然后将其转换为在openLooKeng工作节点集群上运行的一系列相互连接的任务。      协调节点使用REST API与工作节点和客户端进行通信。工作节点      openLooKeng工作节点是openLooKeng安装中的服务器,负责执行任务和处理数据。工作节点从连接器获取数据,并相互交换中间数据。协调节点负责从工作节点获取结果,并将最终结果返回给客户端。      当openLooKeng工作节点进程启动时,它会将自己通告给协调节点中的发现服务器,这样openLooKeng协调节点就可以使用它来执行任务。      工作节点使用REST API与其他工作节点和openLooKeng协调节点进行通信。1、助力华为消费者云服务平台提供秒级查询能力,性能提升10+倍业务场景/需求      交互式查询场景,目标是为数据分析人员提供方便快捷的即席查询能力,性能要求较高,秒级查询当前业务痛点      通过Hive引擎来构建即席查询任务,查询时间太长(5分钟~2小时)性能不满足客户需求openLooKeng价值      openLooKeng提供秒级查询能力,结果准确率高,增强了用户对海量数据的分析能力POc查询性能对比【效果】CBG即席查询平台采用openLooKeng后:不影响当前业务,实现查询加速提升至秒级,性能提用户查询效率大大提升2、为某省级项目提供跨地域协同分析能力,实现从天级到分钟级跨越业务场景/需求打通跨省市两级数据中心数据访问,跨地市数据协查无需出差到当地办案当前业务痛点手动数据批量抽取数据到省中心,效率低,数据分析耗时长;重大事件需协查需要出差到当地办案openLooKeng价值openLooKeng跨地域协同分析能力强,可实现跨地域数据分析性能从天级缩短到分钟级【效果】为某省级项目提供跨地域协同分析能力,实现从天级到分钟级跨越,实现无需出差即可实现跨地市数据协查跨源异构查询场景      RDBMS(如MySQL、Oracle等)、NoSQL(如HBase、ES、Kafka等)等数据管理系统广泛用于客户的各种应用系统中。随着数据量的增加,数据管理越来越完善,客户逐步基于Hive或MPPDB建立数据仓库。这些数据存储系统往往相互隔离,形成相互独立的数据孤岛。数据分析师经常遇到以下问题:面对海量数据,如果不知道数据用在哪里,怎么用,就无法基于海量数据构建新的业务模型。查询不同的数据源,需要不同的连接方式或客户端,运行不同的SQL方言。这些差异导致额外的学习成本和复杂的应用开发逻辑。如果数据没有聚合,则无法对不同系统的数据执行联合查询。      可以使用openLooKeng实现RDBMS、NoSQL、Hive、MPPDB等数据仓库的联合查询。利用openLooKeng的跨源异构查询能力,数据分析师可以快速分析海量数据。跨域跨DC查询      在二级或多级数据中心场景中,例如省-市数据中心或总部-分部数据中心,用户经常需要从省(总部)数据中心或市(分部)数据中心查询数据。跨域查询的瓶颈是多个数据中心之间的网络问题(例如带宽不足、高时延、丢包等)。因此,查询时延高,性能不稳定。openLooKeng是专为跨域查询设计的跨域跨DC解决方案。openLooKeng集群部署在多个DC中。DC2中的openLooKeng集群完成计算后,通过网络将结果传递给DC1中的openLooKeng集群,在DC1中的openLooKeng集群完成聚合计算。在openLooKeng跨域跨DC方案中,计算结果在openLooKeng集群之间传递。这避免了网络带宽不足和丢包带来的网络问题,在一定程度上解决了跨域查询的问题。存储计算分离      openLooKeng本身没有存储引擎,但可以查询存储在不同数据源中的数据。因此,该系统是一个典型的存储计算分离系统,有利于独立扩展计算和存储系统。      openLooKeng存储计算分离架构适用于动态扩展集群,实现资源快速弹性伸缩。快速数据探索      客户拥有大量数据。为了使用这些数据,他们通常会构建专用的数据仓库。但是,这将带来额外的数据仓库维护人力成本和数据ETL时间成本。对于需要快速探索数据,但又不想建设专用数据仓库的客户,复制数据并加载到数据仓库费时费力。openLooKeng可以使用标准SQL定义一个虚拟数据市场,通过跨源异构查询能力连接各个数据源。这样,在虚拟数据市场的语义层中就可以定义出用户需要探索的各种分析任务。借助openLooKeng的数据虚拟化能力,客户可以快速构建基于多种数据源的探索分析服务,无需建设复杂、专用的数据仓库。三、大数据平台支持混合部署——支持鲲鹏与x86混合部署,现网集群实现平滑扩容      鲲鹏BoostKit大数据支持Apache开源大数据组件,同时支持多个商业第三方大数据平台,针对FusionInsight以及HDP平台,支持TaiShan服务器和x86服务器混合部署。FusionInsightFusionInsight平台以下组件支持单组件内部TaiShan与x86混合部署:基于YARN与HDFS的组件:HDFS、Yarn(MR)、Hive、Spark、Flink。分布式存储HBase、全文检索Elasticsearch、流处理Storm/Kafka/Flume、GraphBase、Elk。不建议混合部署的组件:Redis、Solr、Hue、Loader、Oozie、SmallFS。FusionInsight大数据平台支持混合部署的限制约束如下:FusionInsight HD 6.5.1版本支持混合部署,原有FusionInsight软件版本需要升级至6.5.1。支持RedHat 6.8/7.4-x86 + CentOS7.6-TaiShan;Suse 11.4/12.4-x86 + Suse 15.1-TaiShan混部,其他OS混部请提需求给FusionInsight团队验证。不支持管理控制节点混合部署,需要全x86或全TaiShan。x86与TaiShan服务器除CPU外建议保持其他硬件配置一致。混合部署方案的操作步骤如下:确认x86的OS与TaiShan选型OS的混部是否在FusionInsight HD 6.5.1版本支持列表,不在则提需求给FusionInsight团队验证。原有x86的FI集群升级至FusionInsight HD 6.5.1版本:需要申请购买FusionInsight升级专业服务,业务软件需要与FusionInsight 6.5.1版本对接适配。TaiShan服务器上架组网,FusionInsight集群启动扩容:按FusionInsight标准的交付流程申请交付服务。Hortonworks HDPHortonworks HDP大数据平台组件可通过软件移植运行在TaiShan服务器,并通过提供不同平台的RPM包,实现Ambari混合部署x86与TaiShan服务器。Hortonworks平台以下组件支持单组件内部TaiShan与x86混合部署:基于YARN与HDFS的组件:HDFS、Yarn(MR)、Hive、Spark、Flink。分布式存储HBase、全文检索Elasticsearch、流处理Storm/Kafka/Flume。不建议混合部署的组件:Redis、Hue、Sqoop、OozieHortonworks大数据平台支持混合部署的限制约束如下:x86与TaiShan需保证JDK版本一致,例如均为1.8。x86集群要求:RedHat/CentOS 6.4及以上、SUSE 11.1及以上、EulerOS 2.1及以上、NeoKylin 6.9及以上。TaiShan集群要求:Redhat/CentOS/SUSE/openEuler/NeoKylin,OS版本以TaiShan服务器兼容性列表为准。支持x86集群和TaiShan集群不同类型OS不同版本的混合部署。不支持Ambari Server节点混合部署,需要全x86或全TaiShan。x86与TaiShan服务器除CPU外建议保持其他硬件配置一致。混合部署方案的操作步骤如下:https://openlookeng.io/zh-cn/docs/docs/installation/deployment.html确认x86集群与TaiShan集群的OS、JDK等版本满足混部需求。Ambari及所需大数据组件移植为TaiShan版本。通过Ambari页面操作,配置YUM源地址,扩容增加节点。备注:FusionInsight、东方国信、星环、金山等商业大数据软件均支持混合部署四、鲲鹏性能优化十板斧,释放鲲鹏硬件算力1、提升CPU利用率,优化内存配置CPU预取开关调整定时器机制调整线程并发数优化NUMA优化内存页大小调整2、IO数据读写优化,降低CPU等待时延脏数据刷新策略磁盘文件系统预读参数调整磁盘IO调度策略优化文件系统参数优化异步文件操作libaio3、优化网卡性能,卸载CPU压力网络中断绑核网络小包聚合参数调整TSO/LRO开启内核CRC32优化4、软硬协同,优化代码编译选项优化文件缓冲极致选择执行结果缓存内存拷贝减少锁优化性能调优五步法1建立基准在进行优化或者开始进行监视之前,首先要建立一个基准数据和优化目标。这个基准包括硬件配置、组网、测试模型、系统运行数据(CPU/内存/IO/网络吞吐/响应延时等)。我们需要对系统做全面的评估和监控,才能更好的分析系统性能瓶颈,以及实施优化措施后系统的性能变化。优化目标即是基于当前的软硬件架构所期望系统达成的性能目标。性能调优是一个长期的过程,在优化工作的初期,很容易识别瓶颈并实施有效的优化措施,优化成果往往也很显著,但是越到后期优化的难度就越大,优化措施更难寻找,效果也将越来越弱。因此我们建议有一个合理的平衡点。2压力测试与监视瓶颈使用峰值工作负载或专业的压力测试工具,对系统进行压力测试。使用一些性能监视工具观察系统状态。在压力测试期间,建议详细记录系统和程序的运行状态,精确的历史记录将更有助于分析瓶颈和确认优化措施是否有效。3确定瓶颈压力测试和监视系统的目的是为了确定瓶颈。系统的瓶颈通常会在CPU过于繁忙、IO等待、网络等待等方面出现。需要注意的是,识别瓶颈是分析整个测试系统,包括测试工具、测试工具与被测系统之间的组网、网络带宽等。有很多“性能危机”的项目其实是由于测试工具、测试组网等这些很容易被忽视的环节所导致的,在性能优化时应该首先花一点时间排查这些环节。4实施优化确定了瓶颈之后,接着应该对其进行优化。本文总结了笔者所在团队在项目中所遇到的常见系统瓶颈和优化措施。我们需要注意的是,系统调优的过程是在曲折中前进,并不是所有的优化措施都会起到正面效果,负优化也是经常遇到的。所以我们在准备好优化措施的同时,也应该准备好将优化措施回滚的操作指导。避免因为实施了一些不可逆的优化措施导致重新恢复环境而浪费大量的时间和精力。5确认优化效果实施优化措施后,重新启动压力测试,准备好相关的工具监视系统,确认优化效果。产生负优化效果的措施要及时回滚,调整优化方案。如果有正优化效果,但未达到优化目标,则重复步骤2“压力测试与监视瓶颈”,如达成优化目标,则需要将所有有效的优化措施和参数总结、归档,进入后续生产系统的版本发布准备等工作中。      在性能调优经验比较少或者对系统的软硬件并不是非常了解时,可以参考使用五步法的模式逐步展开性能调优的工作。对于有丰富调优经验的工程师,或者对系统的性能瓶颈已经有深入洞察的专家,也可以采用其他方法或过程展开优化工作。      这几步骤描述鲲鹏芯片常用的性能优化方法和分析工具。分别从CPU与内存子系统,网络子系统,磁盘IO子系统和应用程序优化4个方面阐述了常用的性能优化方法和分析工具,主要适用于执行性能优化的研发工程师和技术支持工程师。五、BoostKit基础加速库:支持3种、7类加速库,KAE和HW265加速性能超越业界鲲鹏加速库:对软件基础库做深度性能优化,构建常用软件库在鲲鹏平台上的性能竞争力,硬件加速+软加速库,已完成18个加速库      备注:KAE (Kunpeng Accelerator Engine)鲲鹏加速引擎; HPRE(High Performance RSA Engine)高性能RSA加速引摩;SEC(Security Engine)硬件安全加速引擎六、openEuler+毕昇JDK——计算组件相比CentOS平均性能提升15%100%开源            基于鲲鹏芯片深度优化大数据解决方案TOP优化点磁盘/网卡队列调度策略优化Neon指令优化/编译优化AppCDsGC算法优化注意:关于毕昇JDK的介绍,小伙伴们可以看另一篇博客的详细介绍:【毕昇编译器】编译优化与软硬协同释放鲲鹏澎湃算力:https://bbs.huaweicloud.com/blogs/289527BoostKit大数据应用加速BoostKit机器学习/图算法,基于原生算法深度优化,Spark性能倍级提升      业务场景延伸,数据量爆发式增长,使得开源大数据机器学习算法的应用场景广泛而多样。但随之也带来了更大的挑战,开源算法收敛速度慢,硬件匹配度不足,导致很多场景算不了、算不快、算得贵。       鲲鹏应用使能套件BoostKit提供基于开源算法深度优化的机器学习算法,为开发者提供极致性能的大数据分析体验。      使用简单,无需修改上层应用,类和接口定义与原生保持一致,目前已优化8类27个算法鲲鹏算法亲和性优化多核并行访存时延优化内存数据结构优化为了充分匹配和发挥鲲鹏架构的硬件优势,鲲鹏BoostKit从访存时延、多核并行等方面进行算法亲和性优化。       在访存时延优化方面,鲲鹏BoostKit充分利用鲲鹏Cache(高速缓存)块特点,通过优化矩阵分块技术,保持访存和计算的连续性,有效提升Cache命中率,降低时延。 在同等计算精度下,Covariance(协方差算法)、Pearson(皮尔逊相关系数)、Spearman(斯皮尔曼等级相关系数)等机器学习算法的性能提升超过50%以上。       在匹配鲲鹏多核能力方面,鲲鹏BoostKit通过设计并行优化方案,消除通信瓶颈,提高计算并行度,实现RF(Random Forest,随机森林)、GBDT(Gradient Boosting Decision Tree,梯度提升决策树)算法等机器学习算法性能最高提升2.5倍。 算法共性原理创新分布式优化求解线性代数运算集成学习分布式矩阵乘法      矩阵计算是机器学习算法的核心组成部分,覆盖数据输入、算法描述、算法训练等计算过程。然而,在当前开源算法中,矩阵计算通常会成为计算瓶颈。鲲鹏BoostKit针对不同数据分布和规模下的矩阵计算场景,开展共性原理创新,在同等计算精度下,实现计算性能大幅度提升。      以特征降维算法PCA(Principal component analysis,主成分分析)为例,经分析99%的计算耗时在于底层调用和运行SVD(Singular value decomposition,奇异值分解)算法,如果不进行SVD算法优化,会导致个性化推荐、关键对象识别、冗余信息缩减等场景的数据分析困难。       因此,鲲鹏BoostKit通过优化重启技术、减少迭代轮次等优化手段,加快SVD算法的收敛速度,提升SVD算法对奇异值不分离和奇异值范围大,以及对高维数据场景的适应性。 在同等计算精度下,鲲鹏BoostKit的SVD算法能够将数据分析性能提升1.2倍以上。 此外,鲲鹏BoostKit还对采用优化后的SVD算法选择求解最大的一些奇异值,相比开源算法的全部奇异值求解,可以显著降低PCA算法的计算量。 在同等数据集和同等计算精度下,鲲鹏BoostKit的PCA算法不仅实现10倍以上的性能提升,甚至能够使能一些开源算法无法计算的超大规模数据集场景。       鲲鹏BoostKit机器学习算法对接主流生态框架,保持与原生Spark算法完全一致的类和接口定义,无需上层应用做任何修改,就可平滑迁移至鲲鹏计算平台,并获得性能加速。       目前鲲鹏社区已经发布了鲲鹏BoostKit的18个机器学习和21个图分析算法,覆盖主流的大数据算法应用场景。
  • [热门活动] MindCon | 高能回顾第二届MindCon极客周15天15城战绩
    MindCon极客周是MindSpore社区为AI爱好者精心打造多城市互动参与的极客狂欢活动!各城市战队的小伙伴们通过解锁城市任务,挑战自我,为城市赢取积分进而获得专属奖励。第二届MindCon极客周活动自2021年6月25日开启,于2021年7月10日圆满落幕。15个城市参与挑战,通过解锁5个城市任务赢取积分刷新MindCon城市排名。恭喜天津城市战队总积分排名榜第一名、长沙城市战队总积分排名榜第二名,老规矩下一届将于天津作为主场开启MindCon极客周城市狂欢活动,接下来我们来一起回顾第二届MindCon极客周活动中的高能时刻~ 第二届MindCon极客周活动累计3500+位开发者参与,活动期间每个城市战队的小伙伴按照接力的时间表为所在城市点star、提issue,据不完全统计本届城市徽章下载量是去年的3倍,感谢徽章的设计者小猫子,我们一起欣赏下美美哒城市徽章设计图吧~除了接力为城市赢取积分还有专门为Bugfix任务而准备的直播课,每天和小伙伴们一起来B站「MindSpore官方」观看Bugfix专题直播,学新知识轻松解决社区bug!感谢小孢子们15天的陪伴,感谢Bugfix直播分享的讲师、MSG组织者和支撑活动的小助手,还有高频出现的老朋友之鹏老师,为我们带来的直播分享,有想要之鹏老师直播间的课件可以在公众号对话框发送‘课件’领取哦。第二届MindCon极客周不仅有老规矩新玩法,还联合了两大超强阵营:WAIC和昇腾CANN训练营,为各城市战队的小伙伴赋能,针对不同课题开设直播教学课,辅导大家专业知识的同时培养大家的团队协作能力。在这里恭喜南京战队的「ShineWorld」团队在MindCon极客周期间参加『2021 世界人工智能大会(WAIC)黑客松』获得了「基于 Volcano 容器批量计算平台进行 MindSpore LeNet 模型训练挑战赛」的冠军,为南京战队赢取了积分与荣誉。感谢『昇腾CANN训练营』的老师们声情并茂的分享、对同学们提出疑问的耐心讲解以及为大家贡献的表情包~ 感谢积极参加『昇腾CANN训练营』萌新赛段的小伙伴们为所在城市付出的努力,截止目前(7月27日),CANN训练营萌新赛段已经结束。 萌新赛段积分名单公布如下:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=143403&fromuid=446160CANN训练营高玩赛段进行中,感兴趣的小伙伴可继续报名参与,荣誉证书、高额华为云代金券和外星人键盘、万代高达模型、大疆无人机、数码暴龙手办、PS5手柄、Switch游戏卡带超多炫酷极客的大奖等你赢取!再次感谢一直以来支持MindSpore社区的小孢子们,希望参与MindSpore社区活动的小伙伴们都有所收获与成长,第二届MindCon极客周的礼品将陆续寄出,任何疑问可以咨询小助手(微信号:mindspore0328),期待第三届MindCon极客周有你参与~如果你希望下一届MindCon极客周由你组织,并且想带领自己的城市战队赢取荣誉,可以报名MindSpore开源社区MSG组织者的招募活动!只要你对组织活动感兴趣,想结识更多开源大咖,有志于对开源社区做出贡献,那么就赶紧扫码报名吧!MSG组织者将获得华为线下参观与实习offer机会免费参与华为开源各类大会机会优秀组织者证书及官网名单展示节假日定制MindSpore礼包→ MindCon | 来今晚直播间观战MSG城市组织者答辩→ MindCon | 第二届极客周狂欢活动:找茬也能赢大奖!
总条数:176 到第
上滑加载中