华为面向开发者的十大技术

更新日期: 2019-09-23阅读: 1.7k标签: 技术

随着社会的发展,科技的进步,5G 落地、AI 爆发、大数据持续突破、云计算已然成为新时代的水电煤。日益增多的新兴技术,为开发者带来机遇的同时也带来了不少挑战。尽管开发者们经常身处历史性事件的前沿,但由于很多技术学习门槛较高,且没有相对完整的配套技术生态,开发者们其实很难时刻保持良好的学习曲线。

在简化开发、降低技术门槛、提高研发效率等方面,华为每年投入大量的资金和人力,而小编将为大家介绍的这十大硬核技术,正是华为加速技术发展、构建产业生态的助燃剂。小编看来,作为开发者,了解学习到这十大技术,不仅可以了解技术产业前沿趋势,也是为未来职业生涯发展打基础。


Top 1 达芬奇架构

毋庸置疑,AI 技术正成为各行业数字化转型的发动机,大到智慧城市,小到 IoT 等,都少不了 AI 的身影。那么多的应用场景,如何才能实现 AI 在多平台、多场景之间的协同?

华为用达芬奇架构给出了答案。作为华为自研的面向 AI 计算特征的全新计算架构,达芬奇架构具备高算力、高能效、灵活可裁剪的特性。

具体说来,达芬奇架构采用 3D Cube 针对矩阵运算做加速,大幅提升了单位功耗下的 AI 算力,同时还集成了向量、标量、硬件加速器等多种计算单元,辅以最小的计算代价增加矩阵乘的算力,来提升 AI 计算的完备性和不同场景的 AI 能效。

而灵活可裁剪的特性则让达芬奇架构能够满足端侧、边缘侧及云端的应用场景,可用于小到几十毫瓦,大到几百瓦的训练场景,解锁 AI 的无限可能。

以华为昇腾芯片为例,昇腾系列芯片就采用了统一的、可扩展的达芬奇架构,是全球第一个覆盖全场景的人工智能芯片系列,无论在低功耗的边缘场景,还是大算力的数据中心场景,昇腾系列都将提供出色的性能和能效比。

此前,华为推出的目前算力最强 AI 处理器昇腾 910 就可应用于自动驾驶、平安城市、智能制造、运营商、金融等应用场景。不仅如此,华为还基于达芬奇架构提供了高性能的人工智能计算平台 Atlas。通过 Atlas 200 DK AI 开发者套件,开发者可以在 30 分钟内完成开发环境搭建,内置的图形化编程环境,将极大地提升开发效率。并且,得益于昇腾芯片的全栈全场景能力,基于开发者套件开发的程序只需一次开发,即可实现端、边、云全场景部署。

依托采用达芬奇架构的华为昇腾系列 AI 芯片提供的超强算力和全场景需求覆盖,Atlas 已实现算力、边界两大突破。可以说,达芬奇架构满足了人工智能领域对高算力和低功耗的需求,是专为人工智能算力需求而设计的芯片架构。


Top 2 A-Tune 智能调优技术

对开发者来说,要想软件获得更好的体验,手动调优是个必不可少的过程。不过现在计算机硬件结构越来越复杂,丰富多样的应用对资源的需求也各不相同,这也导致调优过程异常复杂。

为了减少开发者在软件调优上消耗的时间,华为 A-Tune 智能调优技术,可以在程序运行中实时感知应用的运行特征,使系统主动调整底层资源;还可以通过学习引擎对特征进行建模,根据业务负载去匹配最佳资源模型,通过负反馈持续优化。

简而言之,A-Tune 技术相当于在现有系统上加装了大脑,让系统“懂”业务场景,给出最合适的资源模型,使得系统运行更加智能,达到应用性能加速的目的。

由于不必考虑硬件和系统的底层细节,即使是入门开发者,也能达到调优效果,高阶开发者更可针对具体的业务场景进行定制,实现更细粒度的调优。通过将应用 & 系统性能做到最优,A-Tune 技术可以从总体上降低成本。比如,以前你可能需要购买 10 台服务器才能完成的工作,现在可能需要 7-8 台服务器就能实现。

目前,应用了 A-Tune 技术的华为服务器操作系统,其内核源于 Linux,支持华为 Kunpeng 及其它多种处理器,能够充分释放计算芯片的潜能,具有高效、稳定、安全特点,适用于数据库、大数据、云计算、人工智能等应用场景。


Top 3 S2S 自动微分

第三个技术我们来说说自动微分。

资深的深度学习开发者应该都体会过手动求解的痛苦,不仅求导过程复杂,结果还很容易出错,好在现在有深度学习框架,可以利用自动微分技术轻松解决这个复杂又关键的过程。

我们都知道,深度学习框架的自动微分根据实现原理的不同,分为以 Google 的 TensorFlow 为代表的图方法,以 Facebook 的 PyTorch 为代表的运算符重载,以及以华为自研的 MindSpore 为代表的源码转化方法(Source To Source,S2S)。

前不久,华为刚发布了自研的全场景 AI 计算框架 MindSpore,而在 MindSpore 中的自动微分就采用了 S2S 形式。在性能和可编程性上,S2S 自动微分显著优于业界图和运算符重载方式,开发者无需重新学习一套新的表达逻辑(图逻辑),用原生 Python 就能实现 AI 算法。

同时,S2S 自动微分能够实现任意算子的微分表达和编译优化,同时实现反向算子自动生成,极大地方便模型开发,为开发者的代码带来更佳性能。在软件硬件协同方面,支持自动优化,无需像其他两种方式需要手动定制。

此外,S2S 自动微分还有着丰富的调试手段。开发者可以使用可视化接口,方便观察程序运行时的状态,同时支持动态执行,帮助开发者在程序运行时进行代码调试。

基于此项技术,华为 MindSpore 不仅可以支持端、边、云独立的和协同的统一训练和推理,同时支持华为提出的全场景。通过这款完整的软件堆栈,华为正在实现一次性算子开发、一致的开发和调试体验,以此帮助开发者实现一次性开发,应用在所有设备端、边缘及云端平滑迁移的能力。

值得一提的是,MindSpore 预计将在 2020 年 Q1 开源。


Top 4 分布式深度学习技术

通常,深度学习训练过程涉及大规模参数的网络间传递。TensorFlow 使用中心化的网络参数服务器(Parameter Server)来承担梯度的收集、平均和分发工作,对 server 节点的访问会成为瓶颈,带宽利用率低。

为了提高深度学习训练效率,华为采用了 AllReduce 算法进行梯度聚合来优化带宽,这样可以同时利用多个工作节点,分布式地、高效地训练出性能优良的神经网络模型。

同时对传输的梯度进行融合,对小于阈值大小的梯度多次传输合并为一次,提升带宽利用率;另外在通信底层采用 NVIDIA 的 NvLink、P2P 等技术来提升节点内和节点间通信带宽,降低通信时延。

一般情况下,在衡量分布式深度学习的加速性能时,主要有吞吐量和收敛时间两个重要指标。而对开发者而言,最关心的指标也是收敛时间。内置的分布式深度学习技术使得华为云 ModelArts 训练速度有了很大的提升,同时以全栈优化极大地缩短了训练收敛时间。2019 年 5 月在斯坦福大学 DAWNBench 榜单中,华为云 ModelArts 就以 2 分 43 秒的成绩获得图像识别训练世界第一。


Top 5 图神经网络

现实世界中,大量数据都能被图建模,但当前的深度学习还是以 CNN、RNN 等技术(对应图像识别、文本挖掘等领域)为主。然而,这些技术其实并不能有效地处理图结构数据,尤其是涉及到基因网络、社交网络、商品推荐等复杂应用场景。

而图神经网络(GNN)则可以解决这个问题,它借鉴了深度学习中卷积网络、循环网络和深度自编码器的思想,进行表征学习(如节点嵌入和子图嵌入),或者利用标签和属性信息,以半监督或纯无监督的方式在端到端学习框架中训练。

图数据的复杂性对现有机器学习算法提出了重大挑战,因为图数据是不规则的。每张图大小不同、节点无序,一张图中的每个节点都有不同数目的邻近节点,使得一些在图像中容易计算的重要运算(如卷积)不能再直接应用于图。

为此,华为提供了更易用的图神经网络平台。据了解,该平台在反欺诈、营销推荐、3D 视觉方面的商业潜力不可小觑。

作为华为云 ModelArts 的关键新特性之一,ModelArts 图深度学习的核心就是图神经网络技术,这也使得华为云 ModelArts“视力”优良,同时在 ModelArts 的高效神经网络训练算子的基础上,结合 GES 既有的高性能图计算框架平台能力,充分利用图引擎高并发、低延时的特点,将 GNN 的训练过程高度并行化;使用统一架构实现了非监督的大规模图嵌入(例如 DeepWalk, Node2Vec)和半监督的图卷积(例如 GCN, GraphSage)等多类 GNN 算法,降低了系统的维护成本,也降低了开发者使用 GNN 算法的门槛。


Top 6 轻量级的云化集成开发环境

有了平台,有了算法,开发者还缺少什么呢?当然是开发环境,而且还是随时随地可以 Code 的环境,华为轻量级的云化集成开发环境(Cloud IDE)正是满足开发者 Code anywhere anytime 的法门。

可以说,华为 Cloud IDE 服务定义了一种新的在线编程体验。基于开源的华为自研内核,Cloud IDE 结合代码编辑器的轻量极速、快速文件和目录访问操作和多语言高亮显示等特性和 IDE 的代码调试和代码理解的能力。

开发者可以在任意联网的浏览器中快速开始编码、测试和调试等开发活动,体验和本地 IDE 一样拥有高性能和快速的表现。同时内核还集成了华为的代码分析、检查能力和 AI 辅助编码能力。尤其 AI 辅助编码把传统 IDE 的智能联想功能提升到了智能的新高度,通过机器学习算法训练特定语言模型,用户的代码上下文作为模型输入,模型给出预测结果作为输出,让开发者编码效率和代码质量能得到海量提升。

简单地说,借助 Cloud IDE 服务,开发者可以随时随地可以进行编程,即便是身在国外度假,即便没有带工作电脑,只要有一个能访问浏览器的终端,即可随时随地解决线上生产环境紧急故障,避免临时取消休假回去救火的窘境发生。

毫不夸张地说,Cloud IDE 正在成为广大开发者云端开发的秘密武器。基于此项技术,华为云 DevCloud 作为一站式云端 DevOps 平台,能面向开发者提供更便捷的研发工具服务,让软件开发变得更加简单高效。


Top 7 可视化全流程 AI 开发工程化技术

开发者都知道,在 AI 开发过程中,需经历 AI 开发数据集准备、模型训练、参数调整等一系列步骤,而当面临调优迭代情况时,就很容易造成实验过程难以追踪、流程难以追溯等问题。

为了解决开发者从数据集管理到模型构建产生的诸多问题,全流程可视化就很有必要了。华为可视化全流程 AI 开发工程技术可实现对千万级模型、数据集以及服务等对象的管理,无需人工干预,自动生成溯源图,换句话来说,便是选择任一模型,就能找到对应的数据集、参数、模型部署在哪里,你可以一目了然地将可视化训练任务及结果进行比对。

作为搭载可视化全流程 AI 开发工程化技术的一站式 AI 开发平台,华为云 ModelArts 提供 AI 开发全生命周期管理,从原始数据、标注数据、训练作业、算法、模型、推理服务等,统统提供全流程可视化管理服务,大幅降低开发门槛、提升开发效率。

目前,华为云 ModelArts 已经适用于建筑、互联网、医疗等诸多行业场景。例如, 在建筑业,ModelArts 能够赋能质检、巡查等场景, 如产品缺陷检测、合规检测、异常识别、安全穿戴等 ; 在互联网行业,ModelArts 的智能数据标注技术及高性能大规模模型训练, 大幅度提高模型开发效率、缩短模型开发周期 (从月到天)。


Top 8 多模分布式数据库

随着数字化转型的深入,企业亟待解决的是数字化能力的提升。而企业如何提升数字化能力,或许就在于数据挖掘与数据处理的能力是否强劲。当大企业的数据存储需求日益增长,单机数据库无法满足大企业的业务需求时,分布式数据库便成了行业首选,为开发者提供以 100% 兼容开源接口、多模型一致运维,具备高性能、低成本、高可靠、高安全、易管理的特点。

华为云 Taurus 作为新一代企业级分布式数据库,在解决海量存储与极高并发性能场景上有着极具竞争力的技术优势。而作为业界超强性能的分布式多模 NoSQL 数据库,华为云 GeminiDB 则具备高性价比的优势,为大企业级业务保驾护航。


Top 9 智能化的软件开发技术

经过几十年的软件开发,人们对软件质量与效率需求正在不断提升。高质量与高效率的开发要求之下,开发相关的数据(例如:代码、文档、检视意见、测试用例、问题单等等)便显的尤为重要。

如何才能获得数据价值?工作重心便是通过利用机器学习技术对这些数据进行挖掘、清洗,并进一步将其与语法树、数据流、控制流等基本分析技术,以及符号执行、抽象解释等高级软件分析技术,甚至是自然语言技术相结合,并且还能在这个过程中将其中包含的各种开发知识复用起来。这样就不简单了。

经过几十年的软件开发实践,华为积累了与开发相关的大量数据,通过各种具体工具的支持,华为智能化的软件开发技术可以帮助开发者降低开发过程中低价值、重复性的劳动,例如自动发现常见的编码错误,对部分错误给出修复好代码,自动对多人编码过程产生的冲突进行消解,在某些场景下,甚至自动生成一些高价值的代码,帮助定位运行错误等等。

基于此,华为云 DevCloud 可以让开发团队随时随地在云端进行项目管理、代码托管、代码检查、编译构建、测试、部署、发布等,大幅提升了个人和团队的交付能力和效率,提升自动化运维质量,帮助软件企业提高竞争力。


Top 10 LiteOS IoT Stack 技术

不得不说,物联网的出现将以往人与物、物与物的连接方式重构。在 5G 浪潮的推动下,万物互联的世界将加速到来。但从目前的整体进程看,物联网产业仍处于成长阶段,技术突破、行业融合、规模应用等方面都还存在较大的发展空间。

面对物联网带来的巨大发展机遇和挑战,Huawei LiteOS IoT Stack 技术应运而生。

该技术遵循 BSD-3 开源许可协议,具备轻量级、低功耗、端云协同、即插即用、组件丰富、快速开发等关键能力,能够基于物联网领域业务特征打造领域性技术栈,为开发者提供“一站式”完整软件平台,有效降低开发者的开发成本和难度、缩短开发周期。

基于 Huawei LiteOS IoT Stack 技术,华为打造了 OceanConnect IoT 平台。简单来说,OceanConnect 是华为云核心网推出的以 IoT 联接管理平台为核心的 IoT 生态圈。基于统一的 IoT 联接管理平台,通过开放 api 和系列化 Agent,它能够实现与上下游产品能力的无缝联接,为客户提供端到端的高价值行业应用。目前,LiteOS IoT Stack 通过开放生态快速打造了行业标杆,在智慧消防、智慧水务、智慧物流、智慧园区等场景都已有成功实践的案例。


结语

AI、5G、云计算、大数据等技术都在快速发展,华为也一直未停下创新的步伐。在为千行百业打造技术底座这件事上,华为无疑是最用心的企业之一。现在,基于这 10 大技术,华为势必能为开发者以及各行业构建出更强大、高效的技术产品与解决方案矩阵,为万物互联的智能世界持续赋能。

原文 https://www.infoq.cn/article/1vY4Ipt1d298fIrIQGd4

链接: https://www.fly63.com/article/detial/5503

技术开发,如何与领导谈涨薪

归根结底,涨薪其实是达到自己价值与薪资的最佳匹配. 好比你就是一只股票,公司当然会选择那些估值远高于股指的股票. 所以唯有不断增长自己的价值,才会成为你在涨薪谈判中的重要筹码.

bt种子简介与magnet磁力介绍

BT下载相信老司机们都接触过,为什么BT种子会慢慢被磁链取而代之?它们都可以用于BT下载,除了文件和字符串这表面上的区别,背后的技术上又有何不同?

WebService的两种方式SOAP和REST,之间的区别与优缺点

SOAP用于在Web Service中把远程调用和返回封装成机器可读的格式化数据。REST形式上应该表述为客户端通过申请资源来实现状态的转换,在这个角度系统可以看成一台虚拟的状态机。

工作了四五年,感觉技术上依旧长进不大

技术精进是一个持续增长的过程,而非一朝一夕,即便你在最短时间的掌握了大量的技术点,如何不及时应用到实际问题中,也很容易被遗忘。有朋友会说,我平时也挺努力的,一直不间断的学习

在阿里做了五年技术主管,我有话想说

今天的文章,他将继续深入探讨这一话题,从管理的角度分享技术TL的核心职责,主要包括团队建设、团队管理、团队文化、沟通与辅导、招聘与解雇等,希望与大家共同探讨、交流。

你和阿里员工的技术水平到底差几个等级

根据近年数据,中国现有程序员500万左右,其中P1、P2数量占据了近100万,P8及以下程序员约有490万,P9及以上仅有10万。80后是企业的技术支柱,90后已开始逐步成为企业的中坚力量

程序员常逛的技术社区

技术的成长路上,少不了跟一些志同道合的人交流,阅读一些技术前辈们的经验分享。这一路走来,还是要感谢有技术社区的陪伴,让码字之余,在技术、以及技术以外,都有不少收获。

未来,哪些技术在前端开发的地位会越来越高?

过去的这段时间里,不论是互联网巨头还是初创企业,都纷纷进行了一波优化。渐趋理智的资本淘汰了一批不能适应市场的业务,而业务的紧缩也淘汰了一批不能适应市场的程序员。

合格PHP程序员应该掌握哪些技术?

除了能够完成基本的PHP业务开发,还能够解决大部分深入复杂的技术问题,并且可以独立设计完成中大型的系统设计和开发工作;自己能够独立hold深入某个技术方向,在这块比较专业

技术追求的误区[观点与思考]

认识的一个 10 人左右的团队,本来是用 PHP 的,这些年看到网上很多用 / 转 Go 的消息,于是团队里有不少人就焦虑了,希望找一个合适的切入时间,能够试一把 Go

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!