NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

关于大规模机器学习与云原生架构,我们与谷歌云聊了聊

  • 2019-08-30
  • 本文字数:3795 字

    阅读完需:约 12 分钟

关于大规模机器学习与云原生架构,我们与谷歌云聊了聊

最近五年来,人工智能引起了全世界的广泛关注。随着基础理论与算法层面准备就绪、硬件算力持续攀升、政策与投资不断倾斜,人工智能正在多个维度上重构现有的互联网基础设施,进而席卷整个技术世界。


而在人工智能时代,云计算同样重要。将模型构建与训练工作转移至云端,既降低了 AI 的算力成本,同时也降低了 AI 的技术门槛,因此极大的拓宽了 AI 技术的应用边界,使得更多技术企业投资 AI、加码 AI 的战略成为可能。


在这一领域,谷歌云的技术成就让人瞩目,无论是 AutoML 还是 TensorFlow,皆是在云端提供服务的“技术明星”。为此,我们特别举办“Hello 谷歌云——云·AI·原生技术畅聊之夜”晚场活动,并邀请七位来自谷歌云的工程师分别就云计算与 AI 领域的话题,与参会者展开深度交流和知识共享。


这七大议题分别是:


  • 多云平台部署和管理实现

  • 云端海量数据智能分析

  • 云原生架构设计与实现

  • 云游戏的现在与未来

  • AutoML 自定义机器学习模型

  • Tensorflow 大规模机器学习

  • AI 快速实现应用智能


那么,在这个与谷歌云深度对话的技术交流之夜,现场究竟碰撞出了怎样的火花呢?下面我们一一来看。

1、构建混合云及多云管理平台的具体方案

当传统业务开始大规模向云上迁移,混合云、多云架构即成为不可或缺的构建方案。混合云同时满足了企业对私有云的保密性与公有云的计算资源的双向需求;多云业务则主要是为了让企业在具有不同技术特点、不同价格方案的云服务中灵活选择。


那么谷歌云是如何构建混合云及多云管理平台的呢?


在混合云管理方面,谷歌云主要采用了分层混合的架构模式。分层混合是指将现有前端应用部署到公有云,现有后端应用保留在私有计算环境中,可以视具体情况调整。此处的前端应用是指对最终用户或设备直接公开的应用,对性能要求较高、迭代频繁、往往是无状态的,所以部署在公有云;而后端应用通常专注于管理数据,关注数据的批量处理和安全保护,所以保留在私有云。


而要满足多云管理需求,则需依赖几个重要组件的协作,分别是Google Kubernetes Engine(GKE)GKE On-PremIstio on GKE,它们各自提供了可以随时使用的容器化托管式环境、方便的 Kubernetes 集群管理以及微服务治理工具,以便与不同的云环境解耦。


至此,平台不但具备了混合云及多云的管理能力,同时也具备了云原生特征,为敏捷开发打下了基础。


2、在云端对海量数据进行智能分析的技术关键

随着数据规模的增长,业务对数据分析速度的要求逐渐提高,在云端进行数据分析工作的难度越来越大。在 IoT 场景下,海量智能终端的数据将涌入数据中心,云端数据分析工作面临着前所未有的压力。


可对海量数据的智能分析,不能只依赖硬件算力,算法和文件系统也是相当重要的组成部分。


谷歌云的BigQuery就是一个很好的例子。BigQuery 一直在担负谷歌生态内部的数据分析工作,后来开始对外商用。它在执行查询命令时请求的是 Dremel 查询引擎,Dremel 会把 SQL 查询转换成执行树,这棵树的叶子结点叫做“slots(插槽)”,分别执行数据的检索和必要的计算。树的分支叫做“mixers(混合器)”,负责执行数据的聚合操作。


BigQuery 使用分布式文件系统 Colossus 完成数据的存储和快照(快照可以用于数据恢复)。在进行数据存储时,BigQuery 会采用 ColumnIO 列式存储格式和压缩算法进行存储,以便提高读写效率同时降低成本。


正是这些在查询算法和文件系统上的优化,最终让 BigQuery 成功支撑起了业务的数据分析需求。


3、如何打造云原生架构,践行云原生思想?

虽然如今云原生已经被频繁提及,但很多开发者仍对云原生概念的理解有所偏差。谷歌对云原生的最新定义为:


“云原生技术帮助公司和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、 服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术可以使开发者轻松地对系统进行频 繁并可预测的重大变更 。”


由此可见,打造云原生架构首先要进行容器化改造,具备微服务架构。容器化改造主要是为了保证资源的隔离、环境的一致性;而微服务架构将功能轻量化,变得易于扩展,易于维护且可以支持灵活的技术选型。因此,容器技术正是最适合微服务架构的技术手段之一,两者可谓天作之合。容器化的代表技术是 Docker,微服务的代表技术首推 Spring Cloud,两者如今都为开发者所熟知。


服务网格(Service Mesh)主要针对微服务治理方向的需求,属于抽象出来的基础设施层,主要工作是保证通信消息的可靠传递、负载均衡、服务熔断等,是微服务架构下必须的保障技术。Istio 是该领域的代表性作品。


不可变的基础设施实际上是指代码定义的基础设施,即使用声明式的定义随时构建一套基础环境用于开 发、测试、生产,任何时候基于相同代码定义在任何地方都可以获得相同的基础实施。


声明式 API 则指通过对服务接口的抽象(API)解决服务间调用的难题,协调上下游开发者之间的开发需求,搭建敏捷开发的基础。


可见云原生是一个抽象概念,是由众多技术组成的技术体系,是一套需要通过技术手段践行的思想,也需要我们技术群体的持续探索和改进。


4、揭开云游戏的面纱,并探索 5G 时代的服务运行模式

云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。


今年 3 月,谷歌发布STADIA云游戏平台,每个玩家将占用一个搭载了定制 x86 处理器和 16GB 内存的 Stadia 服务器模块,最终实现约 10.7 teraflops 的计算性能。相比之下,本世代最强游戏主机的计算性能只能达到 Stadia 的一半。


这意味着,终端设备不但会变的轻量化,而且云计算还会带来更好的体验。现任 Google 副总裁 Phil Harrison 说道:“未来的游戏机将不再是一个物理盒子,服务器就是你的平台。”当然,前提是 5G 商用,保证云端运算结果的高速传输。


以上听起来像是一个相对垂直的概念,只适用于游戏领域。但实际上,云游戏的运行模式可能恰恰是 5G 时代下诸多服务的运行模式,即将客户端的运算任务转移至云端,然后凭借高速网络将处理结果传输至客户端提供服务。这种模式可能会为带来很多前端设备带来翻天覆地的变革。


5、AutoML,只需你提供数据,剩下的交给系统

AutoML 面世时, 大家对其形容为“AI 的自我训练”,从技术的角度上,AutoML 实现了一种模式:你只需要提供数据,系统会为你搭建合适的训练模型。


这主要依赖于迁移学习技术以及神经架构搜索技术。


迁移学习是指基于一个已经训练好的神经网络模型,进行参数与知识的迁移,使新的模型无需重新设计即可使用。具体要迁移什么呢?比如共性特征数据与权重信息,即卷积层共性特征的迁移等。


而神经架构搜索技术脱胎于NASNet算法,目标是搜索出最适用的神经网络架构。最初该算法虽然成功,但效率低下,而后谷歌先后推出了渐进式神经架构搜索(PNAS)算法、高效神经架构搜索(ENAS)算法,不断改善着算法效率。最终与迁移学习技术结合,发布了 Cloud AutoML。


现在的 Cloud AutoML 在计算机视觉、文本类别鉴定、智能翻译等方向都有了成熟的使用经验,帮助相关 AI 开发者更关注业务本身,而非神经网络基础知识。


6、如何利用 TensorFlow 实现大规模机器学习

TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库,被广泛用于众多机器学习算法的编程实现,是机器学习领域绝对的“技术明星”。


利用 TensorFlow 实现机器学习算法大概可以分为四步:


(1)定义算法公式,也就是神经网络前向运行时的计算;


(2)定义 loss,选定 optimizer,使用优化器优化 loss;


(3)开启迭代的数据训练操作;


(4)计算准确率,做出评测。


而对于大规模机器学习,谷歌已经构建了一个基于 TensorFlow 的生产规模的机器学习平台:TensorFlow Extended(TFX)。它提供了一个配置框架来解释由 TFX 组件组成的 ML 管道,可以使用 Apache Airflow 和 Kubeflow Pipeline 进行编排。


无论是 TensorFlow 还是 TFX,都为机器学习的算法实现提供了方便好用的工具,我们可以通过详尽的文档进一步了解实践。


7、AI 可能在哪些领域快速实现智能化改造?

人工智能的高速发展不单纯局限于理论,在商业应用方面,也有很多非常不错的应用实践。比如机器翻译、语音识别、舆情勘测、智能驾驶等等。得益于如今日益进步的云端基础设施,人工智能在很多领域的改造工作并不那么复杂。


在谷歌云技术晚场上,本组导师就带领组员对可能快速实现智能化改造的领域进行了展望,其中有利用 OCR 文字识别技术实现“看图说话”应用,投放在少儿教育领域;也有在网络营销领域开发 AI 应用,帮助进行客户引流或做信息流优化;还有将 AI 应用于企业内部,智能定制员工 KPI、智能筛选简历。


最有创意的设想是“AI 实现垃圾分类”,通过计算机视觉技术自动进行的垃圾的分类、分拣,当能解决掉很多麻烦。


一个产业若想健康发展,至少需要两大支柱,一是基础技术准备充分、技术设施准备就绪;二是商业价值已经被发掘,实验性应用可以投放。两者互为补充,缺一不可。本组议题的讨论,也为众多开发者打开了新的思路。



七组议题涵盖了云计算与 AI 领域最引人瞩目的技术领域,在超过一个小时的深入交流后,每组都选派代表进行了总结性的分享。在这些分享的背后,是一次次固有知识的互相碰撞与新知识的糅合诞生。


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-08-30 18:0917001
用户头像
王一鹏 前 InfoQ 总编辑

发布了 151 篇内容, 共 88.5 次阅读, 收获喜欢 458 次。

关注

评论

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

RocketMQ高可用设计之同步刷盘

急需上岸的小谢

8月月更

spark实战之:分析维基百科网站统计数据(java版)

程序员欣宸

Java spark 8月月更

计算机网络(三、数据链路层)

计算机网络 8月月更

[极致用户体验] 我做的《联机五子棋》是如何追求极致用户体验的?(下)

HullQin

CSS JavaScript html 前端 8月月更

你以为的推荐系统,其实只是推荐模型

OneFlow

机器学习 推荐系统 推荐模型

消费大众网民的审丑心理,如何拯救扭曲化的自媒体行业

石头IT视角

阿里云携手卫宁健康发布WinCloud智慧医疗云联合解决方案,打造新一代智慧医疗系统

阿里云弹性计算

云服务器 分布式云 云盒 本地化部署

云原生(二十一) | Kubernetes篇之深入了解Ingress

Lansonli

云原生 8月月更

flstudio21版本有什么新功能?

茶色酒

FL Studio

从 Angular Component 和 Directive 的实例化,谈谈 Angular forRoot 方法的命令由来

Jerry Wang

typescript 前端开发 angular web开发 8月月更

MySQL数据库之数据查询

乌龟哥哥

8月月更

SAFe Day 2022 中国规模化敏捷大会即将开启

Scrum中文网

敏捷 safe 规模化敏捷 大规模敏捷 SAFeDay

【LeetCode】爱吃香蕉的珂珂Java题解

Albert

LeetCode 8月月更

在线诺基亚短信图片生成器工具

入门小站

工具

SpringMvc如何同时支持Jsp和Json接口?

xiaoxi666

一套优秀的直播系统源码是什么样的?起码要有这五个模块

开源直播系统源码

软件开发 直播系统 直播系统源码 钠斯直播系统

压力测试-JMeter常用插件、服务器硬件监控

程序知音

Java 程序员 后端 后端技术

那些你不知道的 CSS 自定义形状网格布局

南城FE

CSS 前端 布局

架构训练营毕业总结

joak

三个线程交替打印ABC100次问题思考

越长大越悲伤

面试 线程 后端 JUC

深度解读 | 关于SBOM最基础元素,你需要知道的(Part II)

安势信息

#开源 #SBOM 软件供应链安全 SBOM最基础元素 开源安全与治理

为什么程序员都不喜欢使用 switch ,而是大量的 if……else if ?

TimeFriends

8月月更

手摸手告诉 UI 妹子数据可视化 20 条优化细则【切图仔直接收藏】

掘金安东尼

前端 UI 8月月更

快速搞懂Mysql中BufferPool底层原理

知识浅谈

Buffer Pool 8月月更

《键值型数据库系统技术及节能要求》团体标准发布,腾讯、京东、北邮等联合发起

科技热闻

在线XML转TSV工具

入门小站

工具

leetcode 304. Range Sum Query 2D - Immutable 二维区域和检索 - 矩阵不可变(中等)

okokabcd

LeetCode 数据结构与算法

基于keil5新建STM32F10x寄存器版本工程

DS小龙哥

8月月更

flstudio21水果软件更新内容V21版本

茶色酒

FL Studio

​DTSE Tech Talk丨第3期:解密数据隔离方案,让SaaS应用开发更轻松

华为云开发者联盟

SaaS 企业 华为云

Spring进阶(五):Spring事务管理(详解+实例)

No Silver Bullet

spring 事务管理 8月月更

关于大规模机器学习与云原生架构,我们与谷歌云聊了聊_AI&大模型_王一鹏_InfoQ精选文章