AI-AIoT

深度學習這檔事絕對不是運算效能夠大就能搞定

by GIGABYTE
人工智慧是一個相當巨大的學術領域,現在主流探討的層級,由上而下依序是:人工智慧→機器學習→人工神經網路→深度學習(深度的人工神經網路)→卷積神經網路。
近三十年來,爭奪「世界最快超級電腦」桂冠的「Top500聖杯戰爭」,不僅是科技能力的重大指標,更是混雜了民族自尊和國家狂熱的國力象徵,甚至連上榜的數量,在某種意義上可用來定義一個國家的興衰。

但如同軟體定義網路(SDN)的精神著重於應用與改進現有網路架構的效率,而不在於是否支援完整的OpenFlow標準,只要稍微改良現有網路交換晶片,融入部份SDN元素,即可滿足大多數的應用需求,超級電腦空有帳面上的理論效能運算能量是一回事,能不能更快速的被建造、更有效的被佈署、被更容易的投入在具有生產力的工作,才是真正的「真金白銀」。眾多實際操作超級電腦的使用者,多半是研究單位或研發人員,不見得具備完整的IT營運知識,打造出讓他們可以輕鬆管理並易於使用的環境,更是重中之重。《詞彙學習:什麼是軟體定義網路(SDN)?

也因此,我們可以觀察到超級電腦的主流規格,漸漸地從需搭配特殊作業系統、應用程式與開發工具,轉向隨處可見的泛用型處理器與電腦平臺,不僅降低製造成本,擴展供應商選擇彈性,並藉由更開放化的軟體選擇,加速高效能運算社群的知識交流,促進技術演進,所以今日在Top500上榜上有名的超級電腦,絕大多數都來自Intel的X86處理器,而更多的新增浮點運算能量更來自於NVIDIA的GPU。

超級電腦如此,人工智慧亦同,過去一向跟超級電腦無關連的Google,其第三世代Cloud TPU也號稱具有100 Peta flops的理論運算效能。換言之,企業可在雲端上租用到超級電腦,將人工智慧視為超級電腦近年來最重要的應用趨勢,亦不為過。《詞彙學習:什麼是人工智慧(Artificial Intelligence)?
深度學習:處理龐大且複雜的資料
人工智慧是一個相當巨大的學術領域,現在主流探討的層級,由上而下依序是:人工智慧→機器學習→人工神經網路→深度學習(深度的人工神經網路)→卷積神經網路。
深度學習的兩個階段和三個層次
機器學習可分成兩個階段:「學習/訓練」和「推論/預測」,前者經由機器學習技術,利用大量樣本數據,對演算法進行訓練;後者則執行演算法,在終端應用之處,解讀並辨識現實世界的數據,極度適合矩陣乘法並普及於特徵辨識的卷積神經網路 (Convolutional Neural Network,CNN),是深度學習中最為知名且最熱門的技術。

舉個簡單的例子。建立一個自動辨識「貓」的人工智慧辨識系統,首先,我們先讓這套系統開始去學習特徵,例如貓有尾巴、有尖耳、會一直舔爪子等,藉由被稱為卷積 (Convolution) 的提取特徵機制,將特徵資訊轉變成票數,這個過程將由多層人工神經網路組成,像第一層是辨識輪廓,第二層是判斷外型邊緣的組成,第三層尋找特徵資訊,再由池化層 (Pooling) 減少圖像參數,保留所有重要的特徵資訊,以提高運作效率。

接著,透過反向傳播 (Backpropagation),事先準備大量的圖片訓練這個神經網路,經由反覆的試誤(Trial and Error),讓人工神經網路的各層根據猜測到的正確答案,調整出不同特徵值的權重 (Weights),也就是某個特徵值可以投下的票數,經投票後,決定這張圖是不是貓。最後,這個具有適當權重值的人工神經網路,就是一個用來作推論與預測的資料庫,可用來預測眼前的小小哺乳動物,究竟是貓還是狗還是其他的不知名生物。

不難理解,學習和訓練極度消耗運算資源,也需要較高的資料運算精度,而推論與預測就簡單很多,一堆滿滿的短整數,這也是為什麼從資料中心一路到邊緣運算會有不同的資料精度,但說到底都是密集的矩陣乘積運算 (D = AB +C)。

再深入一點,由遠到近,機器學習的應用架構可再細分成三個層次:
● 資料中心的學習訓練:用於訓練模型,需要以較高的運算精確度,一般使用32位元浮點格式 (FP32),或著犧牲一點精確度,減少資料容量,如Google的第二代及第三代Cloud TPU,和NVIDIA GPU同時支援FP16和FP32的4x4 Tensor Core。
● 資料中心的推論預測:在雲端進行即時連續運算,可再進一步犧牲精確度 ,以換取更快的速度、更低的功耗與更少的資料,像Google第一世代Cloud TPU。
● 邊緣運算的推論預測:這類應用的核心是低功耗的內嵌式ASIC,例如Google的Edge TPU,Int8和Int16短整數就很夠用了。

如此一來,各位就不難判斷所謂的「人工智慧晶片」應該屬於那個範圍,能做到哪些事情,又作不到哪些任務。

了解更多:
《 談起人工智慧,你可以同時了解深度學習產業現況與應用案例
《詞彙學習:如果你想知道什麼是機器學習(Machine Learning)
人工智慧晶片有幾種?
這年頭晶片廠商無不絞盡腦汁企圖踏上人工智慧晶片浪潮,從傳統CPU、特化型CPU(Intel Xeon Phi)、行動式CPU(或SoC內建類神經輔助處理器)、GPU、FPGA(微軟Project BrianWave與Xilinx積極推廣的相關應用)、特製ASIC(Google的眾多TPU)連記憶體式運算都可以沾上邊,更不用講像IBM TrueNorth和人造神經元之類的尖端研究。

而在Top500上越來越有存在感、且多年累積大量開發資源與應用案例的NVIDIA GPU,就是最好的選擇。
一窩蜂人工智慧晶片前你需要知道GPGPU的幾件事
GPU這個名詞起始於1999年8月31日NVIDIA首度發表GeForce 256 (代號NV10),至今演進了近二十年,所謂的GPGPU,中途歷經了微軟DirectX 9定義可程式化著色器模型(Programmable Shader)的醞釀期(1999-2006年),微軟DirectX 10帶來統合著色器架構(Unified Shader)並催生兼具SIMD與MIMD優點的SIMT運算模型的開創期(2006-2009年),因應微軟DirectX 11支援IEEE 754浮點運算格式而讓GPU更加適合高效能運算的熟成期(2009-2010年),眾多GPGPU相關應用程式界面開始成熟的實用期(2010-2016年),直到2016年開始邁向人工智慧的漫長旅程,NVIDIA的GPU均無役不與,而奠定GPU全面浮點運算化的NVIDIA G80微架構與CUDA程式設計模型,更是在2006年問世。

今天Top500上滿滿的NVIDIA GPU和單機箱超級電腦DGX-2等重大成就,並非一蹴可及,而是十多年來持續努力累積下來的成果,而這些都充分反應在應用案例與市場佔有率的數字上。
人工智慧伺服器並不是只有插滿GPU就好
但相對於學術機構,對依賴高效能運算的企業而言,建造全新的人工智慧與高效能運算環境並非只需考慮運算效能,能否兼顧既有應用需求與便於IT人員管理,才會決定實際的「可用性」究竟能有多高。

所費不貲的運算環境,往往非一人獨享的康寶獨享杯,而是眾人所共用的大眾公共設施,勢必面臨資源分配的問題,不僅需要更大的運算能量,更希望可依據不同的運算資源需求,隨時調整組態,如切割成不同規模的使用情境,同時做不同的事情,強化運算資源的使用彈性與利用效率,以及保留日後擴充規模的餘裕。有鑑於此,雲端化人工智慧應用佈署,提供「AI計算雲」服務,乃不得不為的現實考量。

技嘉科技所推出的AI混合雲平台正是這樣使用需求下的最好解答,偕同InfinitiesSoft的CloudFusion混合雲管理平台,可同時整合管理AWS、阿里雲、Microsoft Azure、Google Cloud、Softlayer (IBM Cloud)、VMware、XenServer、HyperV、OpenStack、Kubernetes等30多種公有雲和私有雲平台,具有高度靈活的開放API接口,可協助開發人員增強雲生態系統以確保未來擴張性,能夠同時管理不同時區、不同來源的供應商或不同虛擬化技術的虛擬機,並將所有雲資源和最常用的管理功能合併到一個統一的介面,企業可以專注於真正的業務,而不是花費龐大的時間與資源來分別管理複雜的雲。
深度神經網路(Deep Neural Network, DNN)的發展
在最近這一波的人工智慧進展裡,最重要的技術驅動是來自深度神經網路(Deep Neural Network, DNN),透過台灣工業技術研究院 (ITRI)資訊與通訊研究所闕志克所長的一段話可以重新理解其精神:

「深度神經網路,也就是機器學習中的一種深度學習方法,透過模仿生物神經系統的數學模型,進行不同階層與架構的多次運算和訓練,找出最佳化、最有效的深度學習模型。和過去機器學習需要由人來提供規則的方式相較,DNN只需要在設計好的神經網路中,藉由訓練資料與參數的微調設定,機器就能自行學習、找出特徵,演算出最好結果。」

發展DNN的關鍵在於不斷地提供高品質資料並進行運算訓練,以產出更好的 DNN模型,因此要提高訓練的品質,除了取得高品質且大量的資料、並搭配神經網路(演算法)以提升精準度外,再來是要加快整體的訓練速度,除了利用更高效能的運算平台導入先進的硬體如GPU,另一方面則改善軟體,縮短每一回合的訓練時間,以及減少整個訓練所需的回合數。
提高AI學習效率以促進AI產業化到產業AI化
在創新開發出更多的AI技術以促進產業的使用及導入AI產業化後,更將邁進趨向應用面的產業AI化,即各行各業都能夠學習如何利用AI技術,有效的分析資料並預測未來,以提升營運的效率及價值。

換句話說,如果能有更高效率及高品質的DNN模型開發環境,就能讓更多人來運用AI,因此工研院開發深度學習訓練平台,串聯資料、演算法和硬體,能讓一般使用者也能快速上手,透過易於操作的圖形化介面,方便管理及快速開發訓練出自己需要的DNN模型,透過可自動設定微調系統參數來加速調校訓練模型,進行DNN模型的分析與訓練資料及除錯,協助提升DNN模型的精準度。

DNN的底層訓練技術亦不能含糊,工研院自主研發的高效能深度學習訓練系統,在2018年Open Compute Platform Japan研討會中,展現了在相同硬體組態時,透過減少多GPU資料同步的技術,超越現有開源軟體方案的圖片辨識效能及高性價比。
技嘉結合工研院現行深度學習訓練系統所開發的AI訓練解決方案(GIGABYTE DNN Training Appliance),以G481-HA1為基礎,研發出最佳化AI訓練框架的運算拓樸伺服器,除了優化批量運算量,也具備圖形化操作介面,提供更親切且無須專業軟體人員,仍得以隨時啟動的跨領域AI訓練專案平台。《了解更多:DNN Training Appliance解決方案的技術與優點
歡迎來到科技巨頭掌握眾人資料並深入企業IT的世界
有了良好的AI預測模型是一回事,要更加有效的佈署及應用又回到選擇IT架構這個原點,也許現在的市場主流當下會直覺性的反應「全部丟到雲端不就都沒事了」,但現實恐怕不是這麼的簡單。

2019年3月12日,Google與Gmail大當機。3月13日,Gmail與Drive等Google服務一起掛掉,3月14日,全球超過20億用戶的Facebook緊接著共襄盛舉,帶著Instagram Whatsapp一同殉情,受災區域幾乎涵蓋全球。

無法即時使用臉書動態分享生活點滴,已經足以讓全球哀聲震天,那麼假若越來越多企業將「為了聚焦業務發展」而不再自行採購軟硬體建置IT環境,全數外包給雲端服務業者,這些雲端科技巨頭哪天再發狀況,大量企業無法正常營運的災情,可就不像臉書當機這麼簡單了,甚至將遠超過動搖國本的程度。隨著雲端科技巨頭們的觸角,越來越深入企業IT服務的領域,如何分散風險,對企業來說就是一道不得不面對的大難題。
開源方案不等於萬靈丹
企業的自力救濟方案,不外乎自建私有雲或著同時採用多種公有雲或者乾脆雙管齊下,成為企業加速推出新服務的最佳選擇,但如同在5G環境中導入邊緣運算伺服器會衍生額外的管理複雜性,企業需要更完備的伺服器管理方案(像以DMTF Redfish為基礎的管理系統),當公司內部有大量的虛擬機器,或具有二種以上的異質雲平台時,很容易往往忽略雲端管理平台與自動化服務的重要性,也亟需統合的解決方案。

這些年來,整個IT產業一同經歷了無數開放源碼專案,包含被譽為雲端時代Linux的OpenStack,跨主機集群的自動部署、擴展以及運行應用程式的容器平台Kubernetes,以及諸多軟體定義儲存解決方案,但天底下沒有白吃的午餐,免費的往往就是最貴的(嚴謹的說,Open Source並不等同於Free Source),能充分主宰這些開源軟體並提供高品質的服務者,往往也都是大型的軟體廠商與企業,並非所有人都可輕易駕馭。

開放原始碼的作業系統與應用程式,固然享有高度彈性,但多數開放原始碼軟體並非由單一廠商及發展者集中維護,難以確保不同程式之間的互通性、相容性及匹配性,最終仍需具備系統整合能力的廠商驗證開放原始碼軟體,將其整合為實際可用的解決方案,而其背後更必備雄厚且悠久的實務經驗與客戶案例做為後盾,否則就像建在流沙上的城堡,隨時都有傾覆的危險。
將AI、雲端、容器與軟體定義儲存融為一體
數位無限(InfinitiesSoft)與技嘉科技共同打造了一個整合公、私有雲的CloudFusion混合雲平台,實現大數據、雲端應用程式、多雲工作負載與機器學習之間的無縫接軌,提供人工智慧模型訓練與大數據分析的應用。這一個平台能將用戶所擁有的硬體設備虛擬成具有高效能運算能力的資源池,藉由平台即時調配和部署用戶資源,以更彈性、有效率、且經濟的方式完成多重工作負載需求。

InfinitiesSoft CloudFusion並支援整合的人工智慧/資料科學雲平台:AI-Stack,將OpenStack Kubernetes和Bigtera VirtualStor Scaler集成到一個平台中,支援GPU和AI流程自動化,降低了用戶採用Tensorflow、Caffe和其他一些專注於深度學習工具的複雜性和學習曲線,用戶無需花費大量的時間進行系統維護、調整和部署,而是可以專注於人工智慧與機械學習等任務,可實現快速部署AI應用。其中Bigtera VirtualStor Scaler更能提供比一般開源軟體定義儲存方案,高出十倍的讀寫效能與多出40%的實際可用容量。
技嘉伺服器結合CloudFusion混合雲管理平台,支援超過10個雲平台,擁有單一管理介面、一致化特性、一次性部署的特性,不論企業用戶是使用混合雲或異質雲,皆能整合至同一平台,並進行有效的多平台自主管理,無論在運用於運算節點的虛擬機、容量工作節點與軟體定義儲存,100%由台灣設計、台灣製造的技嘉伺服器都有相對應的適合方案。《了解更多: 你能同步閱讀 Bigtera VirtualStor Scaler 解決方案
參考資料:
Mark Harris, Chief Technologist, GPU Computing UNC Ph.D. (2003). A Brief History of GPGPU
Hisa Ando (2017). GPUを支える技術 ――超並列ハードウェアの快進撃[技術基礎]
想要掌握最新科技動向?馬上訂閱!
訂閱電子報
想要掌握最新科技動向?馬上訂閱!
訂閱電子報