PCon全球产品创新大会最新日程上线,查看更多 了解详情
写点什么

硬核盘点,华为面向开发者的十大技术

  • 2019 年 9 月 24 日
  • 本文字数:5844 字

    阅读完需:约 19 分钟

硬核盘点,华为面向开发者的十大技术

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


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


Top 1 达芬奇架构

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


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


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



3D Cube


而灵活可裁剪的特性则让达芬奇架构能够满足端侧、边缘侧及云端的应用场景,可用于小到几十毫瓦,大到几百瓦的训练场景,解锁 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 的智能数据标注技术及高性能大规模模型训练,大幅度提高模型开发效率、缩短模型开发周期(从月到天)。



ModelArts 全流程可视化管理


Top 8 多模分布式数据库

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


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


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

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


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


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


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


Top 10 LiteOS IoT Stack 技术

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


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



华为 LiteOS IoT 方案


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


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


结语

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


9 月 18-20 日,华为面向 ICT 产业的全球年度旗舰级大会——2019华为全联接大会(HUAWEI CONNECT 2019)在上海世博中心开幕。9 月 20 日,以开发者为主角的 Keynote 演讲及百场 Session,都提到了上述华为面向开发者的十大技术,技术大咖们全方位的解读,让现场开发者们更多的了解到了华为关于前沿技术的最新理论与实践。


2019 年 9 月 24 日 17:361866

评论

发布
暂无评论
发现更多内容

我们,让9300万人办事少跑一趟

数据君

阿里P9跪求的一份禁阅实战笔记:SpringBoot2精髓

互联网架构师小马

spring springboot Spring Boot 2

交易系统架构演进之路:服务治理

比伯

Java 编程 程序员 架构 技术宅

姐夫深夜不睡觉就在看spring+mybatis这两份源码资料,吸引力就这么强大吗?

荒芜

Java spring 源码 mybatis spring Boot Starter

Spark底层原理详细解析(深度好文,建议收藏)

五分钟学大数据

大数据 spark

Elasticsearch Bulk API 批量增删改查

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

如何为多元化的产品场景选择完美的色彩组合?

百度Geek说

产品 设计

【得物技术】无侵入式mock平台在得物的实践

得物技术

测试 数据 得物技术 Mock hulk

就这?Object类一点不难理解

后台技术汇

28天写作

《程序员修炼之道》- 务实的方法(4)

石云升

程序员 28天写作

加速AI边云协同创新!KubeEdge社区建立Sedna子项目

华为云原生团队

人工智能 开源 边缘计算 边缘技术

在世界球场一球成名:HMS 生态为游戏开发者送出的助攻

脑极体

Cisco路由器调试命令大全,看完就全部学会!

webpack | plugin机制详解

梁龙先森

大前端 webpack 28天写作

架构师训练营第 2 期 第 6 周 作业一:CAP原理.md

老坛酸菜

架构师训练营第2期

28天瞎写的第二百三十二天:转角遇到蚵仔煎

树上

28天写作

管理笔记[1]:成为管理者的开端“以人文本“

俊毅

滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台

滴滴云

kafka 运维 监控 滴滴Logi

2021首次分享面试阿里P6心得:1000字超全面试题答案解析

比伯

Java 编程 程序员 架构 面试

快速了解云原生架构

阿里巴巴云原生

架构 容器 微服务 云原生 k8s

线程有哪些状态,彼此之间如何切换

武哥聊编程

Java 多线程 28天写作

开发质量提升系列:系统建起来就能解决项目的困难?

罗小龙

最佳实践 方法论 28天写作

半导体芯片小白基础知识(1) (28天写作 Day22/28)

mtfelix

芯片 半导体 集成电路 28天写作

《王者荣耀》背后的数据秘密

数据君

Git操作文档

Paul

全球首例银行“大型机”下移背后

数据君

驶向数字智能的瀚海,“懂行人”助力石油人乘风破浪

脑极体

使用nodejs构建Docker image最佳实践

程序那些事

Docker nodejs 程序那些事 docker image nodejs和docker

CSS(八)——CSS盒模型

程序员的时光

程序员 大前端 七日更 28天写作

程序员面试时一定要注意这五个陷阱!你记住了吗?

Java架构师迁哥

JS 防抖与节流

旗袍码农

硬核盘点,华为面向开发者的十大技术-InfoQ