堵俊平
大數(shù)據(jù)的發(fā)展階段
大數(shù)據(jù)技術(shù)發(fā)展分為三個階段:
第一,起步階段。大數(shù)據(jù)的起步是在2003年左右,以Google的三篇大數(shù)據(jù)論文為標(biāo)志,從號稱“大數(shù)據(jù)的三駕馬車”開始。一篇論文解決的是分布式存儲問題,一篇論文解決的是分布式計(jì)算問題,還有一篇論文解決的是分布式數(shù)據(jù)庫訪問的問題。Google三篇論文發(fā)表之后,2006年hadoop就橫空出世了,從而開啟了整個大數(shù)據(jù)時(shí)代。
大數(shù)據(jù)發(fā)展的前提,是要有海量的數(shù)據(jù)產(chǎn)生。在這個前提之下,人們對于數(shù)據(jù)處理的能力、數(shù)據(jù)分析的能力,有著與數(shù)據(jù)大規(guī)模增長相適應(yīng)的需求,從而催生出新的技術(shù)。
第二,發(fā)展階段。Hadoop問世之后,以Hadoop為核心構(gòu)建的大數(shù)據(jù)開源生態(tài)系統(tǒng)也生機(jī)勃勃。后面像hbase,一個開源的NoSQL,加上后面出來的一些基于Hadoop的SQL引擎,從而讓整個大數(shù)據(jù)走向了數(shù)倉的時(shí)代。
再后來出現(xiàn)了storm,它是引領(lǐng)流計(jì)算的重要產(chǎn)品,包括Spark Streaming,都是一脈相承的。后面到Hadoop 2.0也就是YARN時(shí)代,計(jì)算執(zhí)行引擎跟資源管理進(jìn)行了剝離,從而誕生了統(tǒng)一的資源調(diào)度平臺,調(diào)度不同大數(shù)據(jù)的應(yīng)用,整個Hadoop或者大數(shù)據(jù)的生態(tài)圈在往前繼續(xù)的進(jìn)化,出現(xiàn)了像Spark這種大數(shù)據(jù)內(nèi)存計(jì)算非常優(yōu)秀的引擎,它的開源也進(jìn)一步推動了大數(shù)據(jù)技術(shù)快速發(fā)展。
第三,成熟階段。近兩年,大數(shù)據(jù)的重要發(fā)展期是Hadoop邁上了3.0后,開啟了大數(shù)據(jù)擁抱容器化、與云整合的過程。未來大數(shù)據(jù)跟AI會有更多樣的融合,因?yàn)檎w的技術(shù)趨勢是往“從數(shù)據(jù)到智能”這個方向發(fā)展的。
AI與大數(shù)據(jù)的關(guān)系
在大數(shù)據(jù)的技術(shù)生態(tài)圈里,看不到太多AI的影子。大數(shù)據(jù)解決什么問題?數(shù)據(jù)的處理、數(shù)據(jù)分析、數(shù)據(jù)的計(jì)算等相關(guān)的問題,在存儲方面,有新興的數(shù)據(jù)湖存儲;關(guān)于大數(shù)據(jù)分析,有SQL引擎,還有其他更多的選擇,每種引擎都有自己的特點(diǎn),這就是大數(shù)據(jù)的技術(shù)生態(tài)圈。
在AI技術(shù)生態(tài)圈,則是另外一番景象。不管是傳統(tǒng)的H2O機(jī)器學(xué)習(xí),還是TensorFlow, MxNet, PyTorch,,Caffee等深度學(xué)習(xí)的框架,看起來沒有太多大數(shù)據(jù)的影子。
由此看來,大數(shù)據(jù)的生態(tài)圈和AI的技術(shù)生態(tài)圈是相互獨(dú)立的,是沒有太多關(guān)聯(lián)依賴的兩個技術(shù)生態(tài)圈。但實(shí)際上,這兩個生態(tài)圈是有融合趨勢的。
那么,AI真的能夠脫離大數(shù)據(jù)嗎?傳統(tǒng)機(jī)器學(xué)習(xí)對數(shù)據(jù)處理規(guī)模的依賴相對還小一些,現(xiàn)在深度學(xué)習(xí)和超大規(guī)模的神經(jīng)網(wǎng)絡(luò)潮流興起之后, 人們會發(fā)現(xiàn):
第一,不管是受過模型的訓(xùn)練還是做模型的推理,都離不開大量的數(shù)據(jù),數(shù)據(jù)是最重要的生產(chǎn)資料,脫離了數(shù)據(jù),AI模型、算法都會成為無本之木、無源之水。
第二,有強(qiáng)大的數(shù)據(jù)預(yù)處理平臺,對AI模型本身的訓(xùn)練,包括后面的推理都會起到強(qiáng)大的促進(jìn)作用,相對于傳統(tǒng)的機(jī)器學(xué)習(xí),深度學(xué)習(xí)對于預(yù)處理的要求會更高。數(shù)據(jù)預(yù)處理的能力越強(qiáng),會加速整個深度學(xué)習(xí)的進(jìn)度,包括模型的精準(zhǔn)度,也會有一個提高。
第三,在技術(shù)層面上,兩個社區(qū)也開始相互對接融合。在深度學(xué)習(xí)方面,有一些數(shù)據(jù)處理、數(shù)據(jù)交換的標(biāo)準(zhǔn),還有新工具在不斷的產(chǎn)生,例如tf.data, tf.transform等;另外大數(shù)據(jù)領(lǐng)域也會更好地支持AI框架,比如像Intel 開源的BigDL、騰訊開源的Angel,以及包括Databricks提出來的氫計(jì)劃等,都是在大數(shù)據(jù)平臺做深度學(xué)習(xí),所以可以看到未來這兩個社區(qū)或者兩種技術(shù)在不斷進(jìn)行融合。
從整體來看,AI也好,大數(shù)據(jù)也好,會形成閉環(huán)。AI機(jī)器學(xué)習(xí)的過程從一開始原始數(shù)據(jù)的導(dǎo)入到進(jìn)行數(shù)據(jù)預(yù)處理,再到模型的訓(xùn)練,再把訓(xùn)練好的模型應(yīng)用到數(shù)據(jù)上做模型推導(dǎo),整個過程形成一個閉環(huán)。這里面既有AI算法相應(yīng)的參與,也有大數(shù)據(jù)平臺能力的體現(xiàn)。這對現(xiàn)有技術(shù)提出了很多新的要求,比如當(dāng)前的這些部署很多都存在CPU計(jì)算集群,做大數(shù)據(jù)的預(yù)處理或者做后面模型的推導(dǎo),而用GPU集群來做模型的訓(xùn)練。目前,這兩個集群在很多情況下是分散處理的,在閉環(huán)里形成了一個割裂的狀況。
首先是能有一個統(tǒng)一的平臺,在底層有調(diào)度的能力,能同時(shí)調(diào)度好AI模型訓(xùn)練、推理以及做數(shù)據(jù)預(yù)處理的任務(wù)。其次是在應(yīng)用層面上,大數(shù)據(jù)的這一套軟件棧跟AI訓(xùn)練框架之間要有一個高效做數(shù)據(jù)與模型交換的機(jī)制和協(xié)議,這兩塊也是近期技術(shù)的熱點(diǎn)和突破點(diǎn)。總體而言,當(dāng)前AI和大數(shù)據(jù)技術(shù)生態(tài)圈應(yīng)該是互相共生、共同推進(jìn)的狀況。
大數(shù)據(jù)技術(shù)發(fā)展趨勢
大數(shù)據(jù)技術(shù)的發(fā)展趨勢,是從傳統(tǒng)的數(shù)據(jù)倉庫向數(shù)據(jù)湖的方向演進(jìn)。下面談?wù)剶?shù)倉體系架構(gòu)的演進(jìn)歷史。
第一,傳統(tǒng)的數(shù)倉體系。最早出現(xiàn)的是數(shù)據(jù)庫一體機(jī),是由單獨(dú)的硬件軟件所構(gòu)成,這種數(shù)倉的問題也很明顯,它需要一個專有的硬件設(shè)計(jì),你只要用的不是通用的硬件,一般成本都會比較高。此外,它的擴(kuò)展性非常差,往前推十年、二十年是可以的,但是在這樣的大數(shù)據(jù)時(shí)代,大家都不想隨意地拋棄掉自己的數(shù)據(jù)和數(shù)據(jù)資產(chǎn),所以一體機(jī)模式的數(shù)倉肯定要被這個時(shí)代淘汰掉。
第二,分布式的數(shù)倉階段。這個階段也分兩部分,一部分是從分庫分表,從邏輯上把這個數(shù)據(jù)分成不同的模塊,放在不同的數(shù)據(jù)庫里;另外一個方式,整個過程是通過MPP架構(gòu),通過獨(dú)立的數(shù)據(jù)庫組建MPP數(shù)據(jù)庫,總體來說,MPP數(shù)據(jù)庫功能是非常強(qiáng)大的。但是MPP有一個限制,它不能支持海量的數(shù)據(jù),當(dāng)需要更多添加節(jié)點(diǎn)時(shí),尤其是當(dāng)它的擴(kuò)展規(guī)模超過100個節(jié)點(diǎn)以上的時(shí)候,會出現(xiàn)大的任務(wù)幾乎無法執(zhí)行的情況,因?yàn)樽盥墓?jié)點(diǎn)會拖累整個任務(wù)的執(zhí)行。
第三,云原生的數(shù)倉階段。adhoc分析的任務(wù)在業(yè)務(wù)不斷變化的情況下,包括經(jīng)歷波峰、波谷時(shí),對計(jì)算資源有不同的需求,這個時(shí)候云原生數(shù)倉就會越來越流行,因?yàn)樗且粋€多集群的,彈性可伸縮的,并且支持海量的高并發(fā)的系統(tǒng)。再看一下傳統(tǒng)的MPP數(shù)倉,還有個問題,就是SQL并發(fā)能力跟單機(jī)數(shù)據(jù)庫是一樣的,因?yàn)椴l(fā)的所有SQL都要在每一臺機(jī)器上去執(zhí)行,無法突破單機(jī)數(shù)據(jù)庫的并發(fā)限制。
這就是數(shù)據(jù)倉庫體系的發(fā)展過程。在技術(shù)流派方面,最早的一體機(jī)模式是共享存儲的模式,后面的分庫分表的模式是通過把數(shù)據(jù)庫按照它的邏輯進(jìn)行一些分布分表的操作,再發(fā)展到現(xiàn)在最流行的Share Nothing架構(gòu),分成了MPP架構(gòu)和以數(shù)據(jù)Shuffle為核心,以DAG任務(wù)為代表的SQL on Hadoop模式,現(xiàn)在最主流的就是MPP數(shù)據(jù)庫和SQL on Hadoop這兩種模式。
相關(guān)鏈接
大數(shù)據(jù)技術(shù)是人工智能發(fā)展的核心, 人工智能未來的布局和發(fā)展需要整個大數(shù)據(jù)產(chǎn)業(yè)鏈條的進(jìn)一步完善和優(yōu)化。而大數(shù)據(jù)包括數(shù)據(jù)存儲以及建立數(shù)據(jù)中心,同時(shí)也涵蓋對數(shù)據(jù)的分析和變現(xiàn),把不同的數(shù)據(jù)聚合在一起,通過算法以及算力的支持,最終掌握數(shù)據(jù)的“大腦”即數(shù)據(jù)核心價(jià)值,從而成就人工智能的發(fā)展。
在大數(shù)據(jù)的隱私問題上,利用人工智能對大數(shù)據(jù)進(jìn)行分析,也很容易觸及甚至泄露隱私與機(jī)密信息。因此,在當(dāng)前階段,相比較于對人工智能超越人類的擔(dān)心,大數(shù)據(jù)使用的安全隱患或許更需要引起重視。