今天跟大家講講雲計算、大數據和人工智能。爲什麽講這三個東西呢?因爲這三個東西現在非常火,並且它們之間好像互相有關系:一般談雲計算的時候會提到大數據、談人工智能的時候會提大數據、談人工智能的時候會提雲計算……感覺三者之間相輔相成又不可分割。但如果是非技術的人員,就可能比較難理解這三者之間的相互關系,所以有必要解釋一下。
1.管理數據中心就像配電腦
什麽叫計算、網絡、存儲資源?
比如你要買台筆記本電腦,是不是要關心這台電腦是什麽樣的CPU?多大的內存?這兩個就被我們稱爲計算資源。
這台電腦要上網,就需要有個可以插網線的網口,或者有可以連接我們家路由器的無線網卡。您家也需要到運營商比如聯通、移動或者電信開通一個網絡,比如100M的帶寬。然後會有師傅弄一根網線到您家來,師傅可能會幫您將您的路由器和他們公司的網絡連接配置好。這樣您家的所有的電腦、手機、平板就都可以通過您的路由器上網了。這就是網絡資源。
所以僅僅憑虛擬化軟件所能管理的物理機的集群規模都不是特別大,一般在十幾台、幾十台、最多百台這麽一個規模。
這一方面會影響時間靈活性:雖然虛擬出一台電腦的時間很短,但是隨著集群規模的擴大,人工配置的過程越來越複雜,越來越耗時。另一方面也影響空間靈活性:當用戶數量多時,這點集群規模,還遠達不到想要多少要多少的程度,很可能這點資源很快就用完了,還得去采購。
所以隨著集群的規模越來越大,基本都是千台起步,動辄上萬台、甚至幾十上百萬台。如果去查一下BAT,包括網易、谷歌、亞馬遜,服務器數目都大的嚇人。這麽多機器要靠人去選一個位置放這台虛擬化的電腦並做相應的配置,幾乎是不可能的事情,還是需要機器去做這個事情。
二、大數據擁抱雲計算
在PaaS層中一個複雜的通用應用就是大數據平台。大數據是如何一步一步融入雲計算的呢?
1.數據不大也包含智慧
一開始這個大數據並不大。原來才有多少數據?現在大家都去看電子書,上網看新聞了,在我們80後小時候,信息量沒有那麽大,也就看看書、看看報,一個星期的報紙加起來才有多少字?如果你不在一個大城市,一個普通的學校的圖書館加起來也沒幾個書架,是後來隨著信息化的到來,信息才會越來越多。
最終的階段是很多商家都想要的。你看我收集了這麽多的數據,能不能基于這些數據來幫我做下一步的決策,改善我的産品。例如讓用戶看視頻的時候旁邊彈出廣告,正好是他想買的東西;再如讓用戶聽音樂時,另外推薦一些他非常想聽的其他音樂。
三、人工智能擁抱大數據
1.機器什麽時候才能懂人心
雖說有了大數據,人的欲望卻不能夠滿足。雖說在大數據平台裏面有搜索引擎這個東西,想要什麽東西一搜就出來了。但也存在這樣的情況:我想要的東西不會搜,表達不出來,搜索出來的又不是我想要的。
例如音樂軟件推薦了一首歌,這首歌我沒聽過,當然不知道名字,也沒法搜。但是軟件推薦給我,我的確喜歡,這就是搜索做不到的事情。當人們使用這種應用時,會發現機器知道我想要什麽,而不是說當我想要時,去機器裏面搜索。這個機器真像我的朋友一樣懂我,這就有點人工智能的意思了
然而人類的語言就沒這麽簡單了。有些時候同一句話在不同場合表達的意思是不一樣的,這個時候就只有人能夠理解,機器是無法理解的。
3.教給機器知識
因此,僅僅告訴機器嚴格的推理是不夠的,還要告訴機器一些知識。但告訴機器知識這個事情,一般人可能就做不來了。可能專家可以,比如語言領域的專家或者財經領域的專家。
語言領域和財經領域知識能不能表示成像數學公式一樣稍微嚴格點呢?例如語言專家可能會總結出主謂賓定狀補這些語法規則,主語後面一定是謂語,謂語後面一定是賓語,將這些總結出來,並嚴格表達出來不就行了嗎?後來發現這個不行,太難總結了。
4.人工智能需要大數據
人工智能可以做的事情非常多,例如可以鑒別垃圾郵件、鑒別黃色暴力文字和圖片等。這也是經曆了三個階段的:
第一個階段依賴于關鍵詞黑白名單和過濾技術,包含哪些詞就是黃色或者暴力的文字。隨著這個網絡語言越來越多,詞也不斷地變化,不斷地更新這個詞庫就有點顧不過來。 第二個階段時,基于一些新的算法,比如說貝葉斯過濾等,你不用管貝葉斯算法是什麽,但是這個名字你應該聽過,這個一個基于概率的算法。 第三個階段就是基于大數據和人工智能,進行更加精准的用戶畫像和文本理解和圖像理解。 由于人工智能算法多是依賴于大量的數據的,這些數據往往需要面向某個特定的領域(例如電商,郵箱)進行長期的積累,如果沒有數據,就算有人工智能算法也白搭,所以人工智能程序很少像前面的IaaS和PaaS一樣,將人工智能程序給某個客戶安裝一套,讓客戶去用。因爲給某個客戶單獨安裝一套,客戶沒有相關的數據做訓練,結果往往是很差的。