人工智慧與雲端計算的一點感觸

就是為了好玩發表於2021-06-09

你可能會經常看到各種關於人工智慧、雲端計算、大資料方面鋪天蓋地的報導,對於“雲”的報導也似乎讓人產生了一種什麼都是雲的感覺,以前叫網盤的東西,現在也能叫雲了。雲無處不在了?

人工智慧

先來看一下什麼是人工智慧?人工智慧是一個更寬泛的表達,它包含機器學習、深度學習,並且又與神經網路應用密不可分。

人工智慧

人工智慧:人類通過直覺可以解決的問題,如:自然語言理解,影像識別,語音識別等,計算機很難解決,而人工智慧就是要解決這類問題。

機器學習:機器學習是一種能夠賦予機器學習的能力以此讓它完成直接程式設計無法完成的功能的方法。但從實踐的意義上來說,機器學習是一種通過利用資料,訓練出模型,然後使用模型預測的一種方法。

深度學習:其核心就是自動將簡單的特徵組合成更加複雜的特徵,並用這些特徵解決問題。

神經網路:最初是一個生物學的概念,一般是指大腦神經元,觸點,細胞等組成的網路,用於產生意識,幫助生物思考和行動,後來人工智慧受神經網路的啟發,發展出了人工神經網路。

在人工智慧興起以前,很容易找到一些連世界上最好的程式設計師也無法通過程式設計解決的簡單問題,比如識別一張圖片中有沒有貓。聽起來好像很簡單,只需要編個影像處理程式,通過一定的演算法,對照片進行判斷,如果有貓,那就輸出“真”,沒有就輸出“假”。但令人驚訝的是,即使是世界上最優秀的電腦科學家和程式設計師也不懂如何編寫這樣的程式。

我們該從哪里⼊手呢?我們先進一步簡化這個問題:若假設所有影像的高和寬都是同樣的400畫素大小,一個畫素由紅綠藍三個值構成,那麼一張影像就由近50萬個數值表示。那麼哪些數值隱藏著我們需要的資訊呢?是所有數值的平均數,還是四個⻆角的數值,抑或是影像中的某一個特別的點?事實上,要想解讀影像中的內容,需要尋找僅僅在結合成千上萬的數值時才會出現的特徵,如邊緣、質地、形狀、眼睛、鼻子等,最終才能判斷影像中是否有貓。

一種解決以上問題的思路是逆向思考。與其設計一個解決問題的程式,不如從最終的需求入手來尋找一個解決方案。事實上,這也是目前的機器學習和深度學習應⽤共同的核⼼思想:我們可以稱其為“用資料程式設計”。與其枯坐在房間裡思考怎麼設計一個識別貓的程式,不如利用人類肉眼在影像中識別貓的能力。我們可以收集一些已知包含貓與不包含貓的真實影像,然後我們的目標就轉化成如何從這些影像入⼿得到⼀個可以推斷出影像中是否有貓的函式。這個函式的形式通常通過我們的知識來針對特定問題選定。例如,我們使⽤用一個二次函式來判斷影像中是否有貓,但是像二次函式係數值這樣的函式引數的具
體值則是通過資料來確定。

通俗來說,機器學習是一門討論各式各樣的適用於不同問題的函式形式,以及如何使用資料來有效地獲取函式引數具體值得學科。深度學習已逐漸成為處理影像、文字語料和聲音訊號等複雜高維度資料的主要方法。

我們現在正處於一個程式設計得到深度學習的幫助越來越多的時代,這可以說是電腦科學歷史上的一個分水嶺。舉個例子,深度學習已經在你的手機裡:拼寫校正、語音識別、認出社交媒體照片裡的好友們等。得益於優秀的演算法、快速而廉價的算理、前所未有的大量資料以及強大的軟體工具,如今大多數軟體工程師都有能力建立複雜的模型來解決十年前連最優秀的科學家都覺得棘手的問題。

雲端計算

雲端計算通俗來說就是輸入/輸出和計算不在一個主機上。計算要用到計算裝置,計算裝置一般是指CPU、記憶體和硬碟,輸入/輸出裝置一般是指鍵盤、滑鼠、顯示器、耳機、音響、話筒等外設。而我們的個人計算機是使用主機板將這些東西連線到一起來協調工作。

一個軟體在執行以完成某項任務的時候,如果用到的計算裝置和輸入/輸出裝置不是通過主機板連線,而是通過網路連線,那麼這個過程就叫雲端計算。

雲端計算運營商組建雲端並對外出租計算裝置,型別包括IaaS(Infrastructure as a server,基礎設施即服務)、PaaS(Platform as a Server,平臺即服務)、SaaS(Software as a Server,軟體即服務)、DaaS(Data as a Server,資料即服務)。

IaaS

IaaS是Infrastructure as a server的縮寫,意思是基礎設施即服務。又云端公司把IT環境的基礎設施建設好,然後直接對外出租硬體伺服器或者虛擬機器。消費者可以利用所有計算基礎設施,包括處理CPU、記憶體、儲存、網路和其它基本的計算資源,使用者能夠部署和執行任意軟體,包括作業系統和應用程式。消費者不管理或控制任何雲端計算基礎設施,但能控制作業系統的選擇、儲存空間、部署的應用,也有可能獲得有限制的網路元件(例如路由器、防火牆、負載均衡器等)的控制。如下圖所示:

img

雲端公司一般都會有一個自助網站,使用者可以向雲端公司簽訂租賃協議以獲取一個賬號,登入之後可以管理自己的計算裝置:開關機、安裝作業系統、安裝應用軟體等。

IaaS型租用方式對使用者來說優點很明顯,就是非常靈活,也是自由度最大的一種型別。使用者可以決定安裝什麼作業系統,以及是否需要安裝或者安裝什麼型別的資料庫,安裝什麼軟體等等。就像自己買了臺電腦,如何使用是你全權做主。

不過缺陷也很明顯,除了管理維護量大之外,還有一個缺陷就是:計算資源嚴重浪費。作業系統、資料庫以及中介軟體本身就要消耗大量的計算資源,而這些消耗對於租戶而已是必須的但是又是無用的,因為使用者只是想要執行軟體。

PaaS

PaaS****是Platform as a Server的縮寫,意思是平臺即服務,即把執行使用者所需的軟體的平臺作為服務出租。如下圖所示:

img

雲端公司要做事情就是執行軟體所需要的下7層部署完畢,然後再PssS上劃分小塊(習慣稱之為容器)對外出租,租戶只需要安裝和使用軟體就可以了。

平臺軟體層包括作業系統、資料庫、中介軟體和執行庫,但是並不是每一個軟體都需要這4部分的支援,需要什麼是由軟體決定的。所以PaaS又分為2種,半平臺PaaS和全平臺PaaS。

1)半平臺PaaS:只安裝作業系統,其他的租戶自己去解決。這樣會比較麻煩,因為你需要有較強的技術實力,而且需要耗費部分資源去安裝軟體執行需要的、的中介軟體、執行庫、資料庫。

2)全平臺PaaS:安裝應用軟體依賴的全部平臺軟體,也就是4部分全部準備完畢。不過大家也知道,世界上的應用軟體如此龐大,支撐他們的語言、資料庫、中介軟體、執行庫可能都不一樣,PaaS雲端公司不可能全部都去安裝,所以他們支援的軟體是有限的。

相對於IaaS來說,PaaS租戶的靈活性降低了,只能在雲端提供的有限平臺範圍內做軟體,但是有點也很明顯,能夠最大化利用租用的資源和不需要租戶有高深的IT技術。

SaaS

SaaS是Software as a Server的縮寫,意思是軟體即服務。把軟體租出去,使用者連安裝都不需要了。同樣來看圖:

img

對比PaaS略微有一點不同,應用軟體是雲端公司來安裝、運維的,租戶使用軟體,需要管理的是這些軟體產生的資料資訊。

一般來說SaaS適用的軟體都有如下的特點:

(1)複雜:軟體龐大、安裝複雜、使用複雜、運維複雜,單獨購買架構昂貴,例如ERP、CRM、BI等。

(2)模組化:按功能模組劃分,需要什麼功能就組什麼模組。

(3)多租戶:多個企業使用者同時操作,使用同一個軟體而不是互相干擾。當然,資料是邏輯隔離的,不同使用者的資料檢索欄位之一必然是使用者身份資訊。

(4)多幣種多語言多時區的支援。

DaaS

DaaS是Data as a Server的縮寫,意思是資料即服務。雲端公司負責建立全部的IT環境,收集使用者需要的基礎資料並且做資料分析,最後對分析結構或者演算法提供程式設計介面,讓資料成為服務。

如圖:

img

DaaS是大資料時代的象徵,能做DaaS服務的雲端公司需要從資料積累、資料分析和資料交付三方面積累自身的核心競爭力。

感觸

前幾天看了一篇報導,在今年的智源大會上,全球最大預訓練模型“悟道2.0”釋出,達到了1.75萬億引數,超過之前由谷歌釋出的Switch Transformer成為全球最大的預訓練模型。基於開創性的FastMoE,打破了分散式訓練的瓶頸。

雲端計算說的像用水用電一樣的基礎設施,在人工智慧領域就要推廣實現了。像在我們自己電腦上安裝執行的傳統軟體需要依靠自身裝置的運算能力,但像“悟道”這樣的軟體依靠平臺算力直接向終端使用者提供運算服務。人工智慧+雲端計算,已經在我們周圍帶來越來越多的變化,你我都正在經歷、見證這些!

歡迎關注我的公眾號,持續更新中~~~

人工智慧與雲端計算的一點感觸

相關文章