云计算、大数据和人工智能

参考:https://baijiahao.baidu.com/s?id=1603870236361690230&wfr=spider&for=pc

一、云计算最初的目标

1、理解网络资源、存储资源概念;

2、对于一台电脑是这个样子的,对于一个数据中心也是同样的。想象你有一个非常非常大的机房,里面堆了很多的服务器,这些服务器也是有CPU、内存、硬盘的,也是通过类似路由器的设备上网的。这时的问题就是:运营数据中心的人是怎么把这些设备统一的管理起来的呢?

3、物理设备的不灵活:时间、空间的不灵活;

4、虚拟化:

可以从物理的CPU、内存、硬盘中虚拟出一小块来给客户,同时也可以虚拟出一小块来给其他客户。每个客户只能看到自己的那一小块,但其实每个客户用的是整个大的设备上的一小块。两个客户看似隔离的,实际情况可能是在一个同样一个很大很大的存储上。而且如果事先物理设备都准备好,虚拟化软件虚拟出一个电脑是非常快的,基本上几分钟就能解决。

5、虚拟化的半自动和云计算的全自动

随着集群的规模越来越大,基本都是千台起步,动辄上万台、甚至几十上百万台。如果去查一下BAT,包括网易、谷歌、亚马逊,服务器数目都大的吓人。这么多机器要靠人去选一个位置放这台虚拟化的电脑并做相应的配置,几乎是不可能的事情,还是需要机器去做这个事情。

人们发明了各种各样的算法来做这个事情,算法的名字叫做调度(Scheduler)。通俗一点说,就是有一个调度中心,几千台机器都在一个池子里面,无论用户需要多少CPU、内存、硬盘的虚拟电脑,调度中心会自动在大池子里面找一个能够满足用户需求的地方,把虚拟电脑启动起来做好配置,用户就直接能用了。这个阶段我们称为池化或者云化。到了这个阶段,才可以称为云计算,在这之前都只能叫虚拟化。

6、总结1

云计算基本上实现了时间灵活性和空间灵活性;实现了计算、网络、存储资源的弹性。计算、网络、存储我们常称为基础设施Infranstracture, 因而这个阶段的弹性称为资源层面的弹性。管理资源的云平台,我们称为基础设施服务,也就是我们常听到的IaaS(Infranstracture As A Service)。

二、云计算不光管资源,也要管应用

2.1、云计算管理应用

人们在IaaS平台之上又加了一层,用于管理资源以上的应用弹性的问题,这一层通常称为PaaS(Platform As A Service)。这一层往往比较难理解,大致分两部分:一部分笔者称为“你自己的应用自动安装”,一部分笔者称为“通用的应用不用安装”。

云计算、大数据和人工智能

那么容器如何对应用打包呢?还是要学习集装箱。首先要有个封闭的环境,将货物封装起来,让货物之间互不干扰、互相隔离,这样装货卸货才方便。好在 Ubuntu中的LXC技术早就能做到这一点。

2.2、大数据拥抱云计算

大数据里面的数据,就分三种类型,一种叫结构化的数据,一种叫非结构化的数据,还有一种叫半结构化的数据。

其实数据本身不是有用的,必须要经过一定的处理。数据里面包含一个很重要的东西,叫做信息(Information)。经过梳理和清洗,才能够称为信息。从信息中将规律总结出来,称为知识(Knowledge)。有了知识,然后利用这些知识去应用于实战,有的人会做得非常好,这个东西叫做智慧(Intelligence)

所以数据的应用分这四个步骤:数据、信息、知识、智慧。

云计算、大数据和人工智能

2.3 数据如何升华为智慧

A、数据的收集。收集有两个方式:

(抓取或者爬取):

推送:如说小米手环,可以将你每天跑步,心跳等数据都上传到数据中心里面。

B、数据的传输:一般会通过队列方式进行

C、数据的存储

D、数据的处理和分析:需要清洗和过滤,得到一些高质量的数据。对于高质量的数据,就可以进行分析,从而对数据进行分类,或者发现数据之间的相互关系,得到知识。

E、数据的检索和挖掘:

通过各种算法挖掘数据中的关系,形成知识库,十分重要。

云计算、大数据和人工智能

2.4. 大数据时代,众人拾柴火焰高

对于数据的传输:一个内存里面的队列肯定会被大量的数据挤爆掉,于是就产生了基于硬盘的分布式队列

对于数据的存储:一台机器的文件系统肯定是放不下的,所以需要一个很大的分布式文件系统来做这件事情,把多台机器的硬盘打成一块大的文件系统。

对于数据的分析:分布式计算的方法,将大量的数据分成小份,每台机器处理一小份,多台机器并行处理,很快就能算完。

 

所以说什么叫做大数据?说白了就是一台机器干不完,大家一起干。可是随着数据量越来越大,很多不大的公司都需要处理相当多的数据,这些小公司没有这么多机器可怎么办呢?

2.54. 大数据需要云计算,云计算需要大数据

说到这里,大家想起云计算了吧。当想要干这些活时,需要很多的机器一块做,真的是想什么时候要就什么时候要,想要多少就要多少。

例如大数据分析公司的财务情况,可能一周分析一次,如果要把这一百台机器或者一千台机器都在那放着,一周用一次非常浪费。那能不能需要计算的时候,把这一千台机器拿出来;不算的时候,让这一千台机器去干别的事情?

谁能做这个事儿呢?只有云计算,可以为大数据的运算提供资源层的灵活性。而云计算也会部署大数据放到它的PaaS平台上,作为一个非常非常重要的通用应用。因为大数据平台能够使得多台机器一起干一个事儿,这个东西不是一般人能开发出来的,也不是一般人玩得转的,怎么也得雇个几十上百号人才能把这个玩起来。

所以说就像数据库一样,其实还是需要有一帮专业的人来玩这个东西。现在公有云上基本上都会有大数据的解决方案了,一个小公司需要大数据平台的时候,不需要采购一千台机器,只要到公有云上一点,这一千台机器都出来了,并且上面已经部署好了的大数据平台,只要把数据放进去算就可以了。

云计算需要大数据,大数据需要云计算,二者就这样结合了。

三、人工智能拥抱大数据

计算机自己学习,模拟人脑工作

人工智能需要大数据:

然而,神经网络包含这么多的节点,每个节点又包含非常多的参数,整个参数量实在是太大了,需要的计算量实在太大。但没有关系,我们有大数据平台,可以汇聚多台机器的力量一起来计算,就能在有限的时间内得到想要的结果。

人工智能可以做的事情非常多,例如可以鉴别垃圾邮件、鉴别黄色暴力文字和图片等。这也是经历了三个阶段的:

第一个阶段依赖于关键词黑白名单和过滤技术,包含哪些词就是黄色或者暴力的文字。随着这个网络语言越来越多,词也不断地变化,不断地更新这个词库就有点顾不过来。第二个阶段时,基于一些新的算法,比如说贝叶斯过滤等,你不用管贝叶斯算法是什么,但是这个名字你应该听过,这个一个基于概率的算法。第三个阶段就是基于大数据和人工智能,进行更加精准的用户画像和文本理解和图像理解。

由于人工智能算法多是依赖于大量的数据的,这些数据往往需要面向某个特定的领域(例如电商,邮箱)进行长期的积累,如果没有数据,就算有人工智能算法也白搭,所以人工智能程序很少像前面的IaaS和PaaS一样,将人工智能程序给某个客户安装一套,让客户去用。因为给某个客户单独安装一套,客户没有相关的数据做训练,结果往往是很差的。

终于云计算的三兄弟凑齐了,分别是IaaS、PaaS和SaaS。所以一般在一个云计算平台上,云、大数据、人工智能都能找得到。一个大数据公司,积累了大量的数据,会使用一些人工智能的算法提供一些服务;一个人工智能公司,也不可能没有大数据平台支撑。

但云计算厂商往往是积累了大量数据的,于是就在云计算厂商里面安装一套,暴露一个服务接口,比如您想鉴别一个文本是不是涉及黄色和暴力,直接用这个在线服务就可以了。这种形势的服务,在云计算里面称为软件即服务,SaaS (Software AS A Service)

 

于是工智能程序作为SaaS平台进入了云计算。