天天看點

雲原生大資料、湖倉一體、AI for Data,未來“誰主沉浮”?

作者:InfoQ

作者 | 魯冬雪

從大資料發展的曆史長河來看,谷歌的“三駕馬車”—— 《GFS》、《MapReduce》和《BigTable》,加上亞馬遜的一篇關于 Dynamo 系統的論文奠定了大資料時代發展的基礎。從“大資料之父”道格·卡丁創造了 Hadoop 到現在許多廠商開始單獨造輪子、做開源,大資料的發展首先是獲得了大規模資料的處理能力,然後再解決了資料的分析與挖掘問題,到如今又開始解決“如何實時查詢資料”的問題,從近 20 年的發展中基本可以看出,這些演進的背後都是由企業需求和業務發展驅動的。

英特爾院士、大資料技術全球 CTO 戴金權曾提出,未來大資料的發展主要有三大方向:大資料平台雲原生化;湖倉一體;大資料與人工智能重塑資料價值,本文将對三大方向逐一展開解讀。

大資料平台雲原生化是必然趨勢

衆所周知,大資料系統是一個複雜性很高的系統,傳統的大資料系統運維成本很高,比如處理資源配置設定、進行容錯等這些工作其實并不能對終端業務産生直接價值。然而,如今的大多企業都面臨着日益增長的資料量、各種類型資料的實時化和智能化處理的需求,企業亟需降低運維成本,并希望能夠通過對資料的挖掘産生支撐業務側的洞見與預測!

于是,雲原生大資料平台因為其高彈性擴充、多租戶資源管理、海量存儲、異構資料類型處理及低成本計算分析的特點,受到了企業的歡迎,這也是大資料系統的必然發展趨勢,将大資料運作在雲上,以雲服務的形式提供給使用者,能大大提高企業服務化能力,使用者可以直接在雲上進行價值挖掘。而且,當廠商通過雲服務提供大資料技術後,很多新能力也變得很透明,企業無需經過摸索和內建,就可以将自己的服務無縫提供給使用者。

但另外一方面,雲原生大資料也有非常多的技術挑戰。許多大資料系統最初并不是為雲原生架構而設計的,比如開發者在做資料的 Shuffle 時,思考的是如何利用本地 IO 能力來提高效率。

企業為了能夠讓業務更好地運作在雲的體系架構之上,目前一般采用的都是架構層的解決方案,融合了高性能計算(HPC)強大算力和雲服務安全性、易用性的雲原生超級計算似乎是目前最佳的有效方案。但事實上,軟體層的更新多少還是會受硬體層的影響。是以,不如換個方向,思考一下如何利用硬體能力來提高資料處理效率。

廠商在硬體層提升性能的方式往往是,通過使用伺服器來響應對高性能計算 (HPC) 叢集的需求,通過對 CPU 更新來處理更大規模的高性能計算 (HPC) 應用。像英特爾® 至強® 可擴充處理器提供業界領先、經工作負載優化的性能,具有内置人工智能加速功能,可提供無縫性能基礎,就是許多企業的選擇。

應對業務側日益增長的需求和不斷演變的資料服務模式,企業可利用英特爾® 至強® 可擴充處理器上內建的英特爾® 進階矢量擴充 512(英特爾® AVX-512)來繼續進行工作負載優化創新。英特爾® 進階矢量擴充 512(英特爾® AVX-512)是一組指令集,可以加速工作負載和用例的性能,如科學模拟、金融分析、人工智能 (AI) / 深度學習、3D 模組化和分析、圖像和音頻 / 視訊處理、密碼學和資料壓縮等。英特爾® AVX-512 可以處理苛刻的計算任務,借助兩個 512 位融合乘加 (FMA) 單元,應用程式在 512 位矢量内的每個時鐘周期每秒可打包 32 次雙精度和 64 次單精度浮點運算,以及八個 64 位和十六個 32 位整數,大大地提高了資料處理效率。

“湖倉一體”是解決實時性資料問題的新興架構

随着人工智能等技術的興起,資料規模越來越大,存儲的資料類型也越來越豐富,與文字相比,體積更大空間的圖檔、聲音和視訊存儲需求爆發。面對這些海量資料治理需求,資料倉庫、資料湖架構被企業廣泛應用。

目前許多人認為,面向領域主題的、內建的、穩定的、能夠反映曆史資料變化的資料倉庫,已經滿足不了 人工智能、機器學習技術的資料需求,開始逐漸走下坡路,資料治理架構正在逐漸從資料倉庫跨越到資料湖。他們認為,資料湖是多結構資料的系統或存儲庫,以原始格式和模式存儲,通常作為對象“blob”或檔案存儲,可以更好地解決企業資料需求,甚至有人認為資料湖就是下一代資料倉庫。

事實上,大多數企業目前至少有一個或者多個資料倉庫服務于各種下遊應用程式,而且把所有的原始資料都放到資料湖,可能會提升資料的使用難度,對于企業資料治理來說也不是一個小的挑戰;此外,從實時性方面,資料湖也做不到真正的實時。

然而,企業資料的使用場景如今已然發生巨大變化,需求從離線場景轉變到實時資料分析場景。資料規模發展到一定程度後,離線資料的缺點就會愈發凸顯,企業對于實時資料治理有了更高的要求,希望從業務端擷取到資料後,能夠立即被清洗處理,進而滿足基于資料的挖掘、預測和分析。

是以“湖倉一體”作為一種新興架構,結合了資料倉庫與資料湖的優點,在類似資料湖的低成本存儲上,實作了與資料倉庫中類似的資料結構和資料管理功能,在擴充性、事務性以及靈活度上都展現出了獨有的優勢,是解決目前企業資料治理需求的更優解。

火山引擎與英特爾在雲原生大資料領域深入合作,從使用者雲業務需求出發提升資料價值。從湖倉一體方面,英特爾技術團隊和火山引擎技術團隊聯合對 ClickHouse 軟體進行優化,通過對硬體指令等其他的優化,使 ClickHouse 核心代碼的性能有了 1.5 倍以上的提升,ClickHouse(Repartition-Block shuffle)性能加速 4.2 倍。

雲原生大資料、湖倉一體、AI for Data,未來“誰主沉浮”?

英特爾和火山引擎 ByteHouse 的合作優化

總體而言,湖倉一體是一種更開放的新型架構,有人做了一個比喻,“這種操作方式類似于在湖邊搭建了很多小房子,有的負責資料分析,有的運轉機器學習,有的來檢索音視訊等,至于那些資料源流,都可以從資料湖裡輕松擷取。”

Gartner 也釋出了湖倉一體的未來應用場景預測,“湖倉一體架構需要支援三類實時場景,第一類是實時持續智能;第二類是實時按需智能;第三類是離線按需智能。這三類場景将可以通過快照視圖、實時視圖以及實時批視圖提供給資料消費者,這同樣是未來湖倉一體架構需要持續演進的方向。”

“AI 與大資料一體化”重塑資料價值

如今各行各業都在探索怎樣讓 AI 在實際應用中提高工作效率或者體驗,但有資料表明,85% 以上的人工智能項目都是以失敗而告終的,并沒有真正地得到傳遞。歸其原因是,實驗室中正在跑的人工智能模型、算法和真正落地到生産環境或業務場景中的東西要求是不一樣的。這意味着,企業想真正地将算法、AI 模型運用到生産系統中,需要經過非常複雜的 AB 測試,但将 AI 模型算法和真實的業務資料流水線相結合是一個非常大的挑戰。

回想一下,在建構一些 AI 架構時,大家通常的做法是利用一個大資料處理平台,然後對資料進行處理,處理完後再将資料拷貝到另外一個 AI 叢集或是深度學習的叢集中進行訓練。顯而易見,資料拷貝的過程會産生一定的時間成本和移植成本,解決了這個問題,可以大大提高企業研發效率,快速實作降本增效。

将大資料分析與 AI 平台融為一體的模式成為了企業解決以上問題的方案,其也正在成為一種行業的新趨勢。建構一個端到端的大資料 AI 的流水線,将大資料 +AI 的流程從資料的獲得、讀取、資料的處理到特征的處理、模組化、訓練、部署、推理等流水線都統一起來,是實作 AI 真正落地的關鍵點。

雲原生大資料、湖倉一體、AI for Data,未來“誰主沉浮”?

為了支撐大資料的處理,英特爾在“AI+ 大資料”方面做的第一件事情就是建構統一的大資料 AI 平台、叢集——英特爾 BigDL ,其是用于 Spark 的分布式深度學習庫,可以直接在現有 Spark 或 Apache Hadoop 叢集之上運作,并可以将深度學習應用程式編寫為 Scala 或 Python 程式。

作為底層計算平台,英特爾 BigDL 針對分布式的英特爾® 至強® 處理器 CPU 叢集進行了大資料 AI 平台的建構,包括在硬體上的衆多優化,包括 CPU 本身對 AI 的支援。雖然英特爾® 至強® 處理器是一個通用處理器,但它提供了非常多的硬體指令及針對 AI 優化和加速的硬體支援,包括在低精度 INT8 上的 AVX512_VNNI , 以提升 DL 性能。其主要具有以下特點:

  • 豐富的深度學習支援:基于 Torch BigDL 為深度學習提供全面支援,包括數值計算(通過 Tensor 和進階神經網絡);此外,可以将預訓練的 Caffe * 或 Torch 模型加載到 Spark 架構中,然後使用 BigDL 庫運作推理應用他們的資料。
  • 高效的橫向擴充:BigDL 可以通過使用 Spark 以及同步随機梯度下降 (SGD) 和 Spark 中的 all-reduce 通信的有效實作,有效地向外擴充以執行“大資料規模”的資料分析。
  • 極高的性能:BigDL 在每個 Spark 任務中使用英特爾® 數學核心函數庫(英特爾® MKL)和多線程程式設計,BigDL 和英特爾® MKL 專為英特爾® 至強® 處理器設計和優化,可提供極高的性能。

萬事達卡在企業的資料倉庫建構在分布式大資料平台之上,便是直接用英特爾 BigDL 來建構 AI 應用,将大資料的資料處理與人工智能的處理直接統一起來,幫助平台支撐超過 20 億的使用者。平台上的幾千億的交易資料訓練了非常多的 AI 模型,其中最大的模型在一個任務運作在 500 台以上的英特爾伺服器上進行大規模分布式訓練,差不多在 5 小時之内訓練出一個大規模的 AI 模型,提高各種 AI 能力,實作了超大規模使用者量的支撐。

寫在最後

經過近 20 年的發展,大資料的技術棧逐漸成熟,“大資料”如今幾乎已經是程式員技術棧的标配,基本上大多數應用環境都會牽扯到資料治理、資料處理。

近年來,雲計算、人工智能等技術的發展,還有底層晶片和記憶體端的變化以及視訊等應用的普及,都給大資料技術帶來了新的要求。不管是應用基于資料還是要用資料改善應用,怎樣能夠把整個技術平台和軟體平台做得更加易用,這對于廠商來說是亟待解決的難題。此外,人工智能、大資料技術的應用場景都非常廣泛,但在具體應用開發的技術實作上還有很多缺陷,如何實作技術突破和技術創新,這是所有人都面臨的難點。

我們可以預測到的是,未來的大資料技術會沿着異構計算、雲化,AI 融合、記憶體計算等方向持續更疊,目前我們看到的這些難點應該都會被逐一解決,但當我們在進行算法、架構優化時,也要記得硬體是實作所有技術演進更新的基本盤。當在軟體層找不到解決方案的時候,也可以嘗試把目光放到硬體層。

繼續閱讀