Data+AI 一體架構(gòu)的產(chǎn)品創(chuàng)新
目前 Data+AI 已經(jīng)成為數(shù)據(jù)架構(gòu)領(lǐng)域的最火熱的技術(shù)方向。Data+AI 一體架構(gòu)可以從縱向和橫向的兩個(gè)方向來拆解,一個(gè)方向是 Data for AI,另一個(gè)方向是 AI for DataWarehouse。大數(shù)據(jù)與 AI 的融合應(yīng)用中面向海量的結(jié)構(gòu)化、半結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)的多場景處理。Data for AI 方向是指如何將海量數(shù)據(jù)與 AI 深度學(xué)習(xí)與大模型進(jìn)行深度數(shù)據(jù) AI 協(xié)同,其中存在大量的技術(shù)協(xié)同挑戰(zhàn);AI for DW 方向主要是指通過 AI 智能技術(shù)來改進(jìn)數(shù)據(jù)倉庫的核心能力,而數(shù)據(jù)治理成為了大家最關(guān)注的產(chǎn)品能力之一,是否能夠通過 AI 的能力來促進(jìn) AI for DW 的實(shí)現(xiàn)是另一個(gè)重要挑戰(zhàn)。
本文將分享阿里云在 Data+AI 一體架構(gòu)的產(chǎn)品創(chuàng)新。
一、Data+AI 一體趨勢
1. Data+AI 市場主要趨勢
目前,Data+AI 一體化趨勢可以分開理解成兩個(gè)主要技術(shù)方向:
- Data for AI
- AI for DataWarehouse
在 Data for AI 產(chǎn)品層面,當(dāng)前更多是大數(shù)據(jù)為 AI 賦能的應(yīng)用,針對結(jié)構(gòu)化、半結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù),探索數(shù)據(jù)預(yù)處理如何與 AI 深度學(xué)習(xí)與大模型數(shù)據(jù)訓(xùn)練的協(xié)同場景。在這一層面,我們提供了一個(gè)基于 MaxCompute 的分布式 Python 開發(fā)框架 MaxFrame 和分布式機(jī)器學(xué)習(xí)平臺 PAI,MaxFrame 涵蓋了鏡像管理與 AI 平臺的數(shù)據(jù)整合與銜接,以實(shí)現(xiàn) MaxCompute + PAI 的一體化產(chǎn)品能力。
而在 AI for DataWarehouse 層面,更多是應(yīng)用在智能數(shù)倉的場景上。其中,數(shù)據(jù)治理是大家當(dāng)下比較關(guān)注的能力,能否運(yùn)用更多 AI 智能的能力來實(shí)現(xiàn) AI for DataWarehouse 之上的智能數(shù)據(jù)管理能力是。在智能數(shù)倉層面,我們構(gòu)建了分層存儲推薦、資源管理優(yōu)化、查詢計(jì)劃優(yōu)化、物化視圖推薦以及自然語言生成 SQL 的 AI 能力。
2. Data+AI 開發(fā)的全生命周期
Data + AI 開發(fā)的全生命周期涵蓋了數(shù)據(jù)分析、數(shù)據(jù)預(yù)處理、模型創(chuàng)建、模型訓(xùn)練、模型評估、模型預(yù)測以及部署發(fā)布等諸多流程,涉及業(yè)務(wù)人員、數(shù)據(jù)工程師、數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家等不同角色。
3. Data+AI架構(gòu)的開發(fā)痛點(diǎn)
在 Data + AI 的全生命周期中,存在成本、效率、運(yùn)維三方面的核心技術(shù)挑戰(zhàn)。在成本方面,包括高效完成 Data + AI 的一體化工作以及相關(guān)的學(xué)習(xí)成本。效率方面,包含了性能、開發(fā)效率以及訓(xùn)練效率等。運(yùn)維方面,由于 Data + AI 一體屬于技術(shù)創(chuàng)新架構(gòu),處于從探索到成熟的持續(xù)發(fā)展階段,還沒有形成行業(yè)標(biāo)準(zhǔn),而運(yùn)維本身就是一個(gè)極為復(fù)雜的技術(shù)領(lǐng)域,Data+AI 的運(yùn)維更甚之。我們圍繞這三個(gè)維度,提煉出了以下四個(gè)主要痛點(diǎn):
- 數(shù)據(jù)類型多,數(shù)據(jù)管理能力差。
- 數(shù)據(jù)開發(fā)與模型開發(fā)脫節(jié)。
- 性能擴(kuò)展能力差,訓(xùn)練效率低。
- 工程化實(shí)現(xiàn),缺少統(tǒng)一運(yùn)維管理。
總體來說,目前在尚未出現(xiàn)行業(yè)統(tǒng)一標(biāo)準(zhǔn)的 Data + AI 一體化技術(shù)的當(dāng)下,我們的技術(shù)產(chǎn)品實(shí)踐都是在不斷地嘗試解決與優(yōu)化在成本/效率/運(yùn)維三個(gè)維度的痛點(diǎn)與問題。
二、MaxCompute Data + AI 能力
第二部分,其主要分享阿里云 MaxCompute 產(chǎn)品在 Data+AI 一體架構(gòu)上的所做的產(chǎn)品架構(gòu)實(shí)踐。
1. MaxCompute Data+AI 分層架構(gòu)
首先是 Data+AI 分層架構(gòu)。底層的數(shù)據(jù)層提供了統(tǒng)一的元數(shù)據(jù)服務(wù)、分布式存儲以及對象存儲。其中,在半結(jié)構(gòu)化數(shù)據(jù)存儲領(lǐng)域中,JSON 半結(jié)構(gòu)化數(shù)據(jù)的優(yōu)化處理頗具挑戰(zhàn)。中間層的計(jì)算層包括數(shù)據(jù)處理、模型開發(fā)、訓(xùn)練與管理。該平臺還提供了交互式開發(fā)的 Notebook、統(tǒng)一開發(fā)調(diào)度平臺的 DataWorks、可視化建模的 PAI Designer 等功能。其中,該平臺創(chuàng)新性地提供分布式計(jì)算框架 MaxFrame 與自定義鏡像管理,其主要支持統(tǒng)一的 Python 編程接口,支持構(gòu)建對 LLM 大模型應(yīng)用的數(shù)據(jù)預(yù)處理算子、分布式高效計(jì)算以及第三方包管理和模型鏡像管理能力等。
2. MaxCompute Data+AI 核心功能
MaxCompute Data + AI 產(chǎn)品架構(gòu)的核心功能可大致分為四大功能組件,包括統(tǒng)一數(shù)據(jù)管理、分布式計(jì)算框架、交互式開發(fā)環(huán)境、鏡像管理等。
第一,統(tǒng)一數(shù)據(jù)管理 OpenLake 平臺之上提供了基于統(tǒng)一數(shù)據(jù)湖倉的能力,支持對結(jié)構(gòu)化、半結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù)的管理。
第二,分布式 Python 計(jì)算框架 MaxCompute MaxFrame 則通過提供統(tǒng)一 Python 編程接口,提供了分布式計(jì)算能力,在數(shù)據(jù)預(yù)處理過程中提供更高效的計(jì)算, 為后續(xù) AI 訓(xùn)練提供完備數(shù)據(jù)。
第三,交互式開發(fā)環(huán)境即開箱即用的 Notebook,提供了更便捷的交互式大數(shù)據(jù)與 AI 開發(fā)體驗(yàn)。
第四,自定義鏡像管理 Compute Image 通過內(nèi)置第三方依賴包/通用模型及其他,提供了便捷高效的自定義鏡像管理。
3. MaxCompute One Env+One Data+One Code 用戶體驗(yàn)
MaxCompute 支持統(tǒng)一數(shù)據(jù)管理,通過 Maxframe 進(jìn)行數(shù)據(jù)預(yù)處理,并將結(jié)果直接集成在 PAI 的機(jī)器學(xué)習(xí)平臺上,進(jìn)行模型開發(fā)。之后使用 PAI-DLC 分布式 AI 訓(xùn)練平臺進(jìn)行對 AI 深度學(xué)習(xí)模型進(jìn)行分布式訓(xùn)練優(yōu)化,并通過 PAI 的鏡像管理能力實(shí)現(xiàn)各類 AI 模型的管理。最后由 PAI-EAS 自動(dòng)化推理組件來實(shí)現(xiàn)在線模型部署與發(fā)布。
4. 交互式開發(fā)環(huán)境-MaxCompute Notebook
關(guān)于第一個(gè)核心能力是交互式開發(fā)環(huán)境 MaxCompute Notebook。其為相關(guān)人員提供 Web 交互式開發(fā)環(huán)境,支持多引擎與 MaxCompute 集成,將結(jié)果輸入到機(jī)器學(xué)習(xí)平臺中,內(nèi)置豐富的函數(shù)庫,且數(shù)據(jù)安全有保障。
5. 分布式計(jì)算框架-MaxFrame
關(guān)于第二個(gè)核心能力是自研的分布式計(jì)算框架 MaxFrame。能夠支持統(tǒng)一的 Python 編程接口,提供更多且靈活的算子兼容。另外是支持大數(shù)據(jù)、離線和AI的任務(wù)統(tǒng)一編排的 Data+AI一體化Pipeline。最后是開箱即用的開發(fā)體驗(yàn),在可復(fù)用 MaxCompute 計(jì)算資源和數(shù)據(jù)接口以及海量數(shù)據(jù)的支撐下,面向大規(guī)模數(shù)據(jù)處理,數(shù)據(jù)可視化,科學(xué)計(jì)算以及 ML/AI 開發(fā)等多種開發(fā)場景。
6. 面向海量數(shù)據(jù)預(yù)處理場景-性能提升
在此我們分享一下通過 MaxFrame 框架計(jì)算對開源大模型項(xiàng)目 RedPajama 所提供的數(shù)據(jù)集進(jìn)行預(yù)處理工作,包括數(shù)據(jù)預(yù)處理,文檔去重,水印去除,數(shù)據(jù)過濾等。使用 MaxFrame 框架比使用基于開源算子的數(shù)據(jù)預(yù)處理整體耗時(shí)節(jié)省了 97.8%。
7. 深化 AI 非結(jié)構(gòu)化數(shù)據(jù)管理-Object Table
關(guān)于第三個(gè)核心能力是非結(jié)構(gòu)化數(shù)據(jù)處理能力。當(dāng)前國內(nèi)外數(shù)據(jù) AI 領(lǐng)域都非常關(guān)注對非結(jié)構(gòu)化數(shù)據(jù)的接入與處理。因?yàn)?Data+AI 重要的數(shù)據(jù)需求之一是對非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行處理與應(yīng)用管理。比如我們可以把對象存儲中的數(shù)據(jù)在上層做相關(guān)映射的抽象,把非結(jié)構(gòu)化數(shù)據(jù)抽象成表的格式,通過 Python 編程接口或者 SQL 語法能夠便捷查詢或檢索非結(jié)構(gòu)化數(shù)據(jù)。對于非結(jié)構(gòu)化數(shù)據(jù)的緩存加速,查詢優(yōu)化以及列式數(shù)據(jù)裁剪,是把在智能數(shù)倉的 AI 智能特性應(yīng)用在非結(jié)構(gòu)化數(shù)據(jù)的管理上面。
8. MaxCompute+PAI 產(chǎn)品組合-Data+AI 一體化應(yīng)用
關(guān)于第三個(gè)核心能力是目前應(yīng)用最多的 Max Compute 與 PAI 的 Data+AI 的一體化產(chǎn)品應(yīng)用。其中包括多類型數(shù)據(jù)存儲、統(tǒng)一元數(shù)據(jù)管理、數(shù)據(jù)分析/AI 數(shù)據(jù)預(yù)處理等。MaxCompute 可以為經(jīng)典機(jī)器學(xué)習(xí)場景提供了通用機(jī)器學(xué)習(xí)算法。標(biāo)紅部分為 PAI 機(jī)器學(xué)習(xí)平臺產(chǎn)品套件,面向 PAI-DLC 分布式訓(xùn)練,PAI 模型倉庫,PAI-EAS 推理服務(wù),及 AI 鏡像的管理。能夠?qū)?Data+AI 的一體化應(yīng)用非常順暢地串聯(lián)在一起。
三、MaxCompute AI for DW 探索
第三部分,主要分享如何通過 AI 來讓云原生數(shù)倉智能化的能力,即在 AI for DW 方向的技術(shù)與產(chǎn)品探索。
1. 分層存儲推薦-按場景分層優(yōu)化
其一,分層存儲是業(yè)內(nèi)數(shù)倉類產(chǎn)品的典型功能,在標(biāo)準(zhǔn)存儲功能之外嘗試提供智能推薦/存儲自動(dòng)分層等更智能的產(chǎn)品體驗(yàn)。比如數(shù)據(jù)在自動(dòng)存儲之上能夠根據(jù)數(shù)據(jù)的訪問量來推薦冷存或者歸檔的數(shù)據(jù)形態(tài)。另外,根據(jù)數(shù)據(jù)存儲的時(shí)間與使用場景在冷存和熱存之間做自動(dòng)轉(zhuǎn)化,通過優(yōu)化存儲來不斷降低客戶數(shù)據(jù)存儲成本。
2. 物化視圖智能化
其二,要介紹的能力是物化視圖智能化。物化視圖本質(zhì)上是一種預(yù)計(jì)算,能夠把一些耗時(shí)操作(JOIN,AGGREGATE)的結(jié)果保存下來,以便在查詢時(shí)直接復(fù)用,從而實(shí)現(xiàn)加速計(jì)算的目的。AI 開始深度改造物化視圖,提供物化視圖推薦等智能化能力。
3. AI for DW 智能數(shù)倉新創(chuàng)新
其三,是關(guān)于智能數(shù)倉包括基于 AI 的數(shù)據(jù)治理能力。包括統(tǒng)一的元數(shù)據(jù)管理,以及作業(yè)計(jì)算統(tǒng)計(jì)分析能力來助力 SQL 提速等。在作業(yè)管理優(yōu)化方面,目標(biāo)是最多跑一次,確保同樣的計(jì)算在面對新的數(shù)據(jù)時(shí)能根據(jù)已有的數(shù)據(jù)結(jié)構(gòu)之下進(jìn)行自動(dòng)加速或路由分發(fā),無需每次進(jìn)行海量數(shù)據(jù)加載與重新計(jì)算。還包括資源分配以及查詢計(jì)劃的優(yōu)化。其中比較重要的一環(huán)為基于 learning-based query optimizer,基于大模型或者傳統(tǒng)機(jī)器學(xué)習(xí)的 AI 能力提供更強(qiáng)的 Auto 計(jì)算查詢優(yōu)化的用戶體驗(yàn)。
另外,在大數(shù)據(jù)層面中數(shù)據(jù)分布的傾斜是一個(gè)重要的問題,需要通過智能數(shù)據(jù)重分布來實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)分布優(yōu)化,減少數(shù)據(jù)傾斜。最終實(shí)現(xiàn)智能數(shù)倉全面自動(dòng)化。
4. 成本優(yōu)化器-智能資源配置
其四,MaxCompute 成本優(yōu)化器是為用戶提供智能資源配置的產(chǎn)品組件。其基于近 30 天內(nèi)預(yù)付費(fèi)資源請求情況,依據(jù)設(shè)定評估時(shí)間模擬現(xiàn)狀預(yù)付費(fèi)資源配置下的滿足度與作業(yè)延遲,并生成推薦變配方案。
其五,DataWorks Copilot 智能助手是阿里云一站式數(shù)據(jù)開發(fā)治理平臺 DataWorks 所打造的 AI 助手。可輔助用戶完成數(shù)據(jù)開發(fā)與數(shù)據(jù)分析工作,提高效率。目前與 MaxCompute 進(jìn)行了一些整合,基于 MaxCompute 之前的 SQL 和數(shù)據(jù)進(jìn)行相關(guān)訓(xùn)練,提供 Copilot 的能力。舉例來說,通過輸入“統(tǒng)計(jì)一下今天的銷售額”,就可以生成相關(guān)的 SQL,實(shí)測準(zhǔn)確率在 80+% 以上。
四、MaxCompute 大模型應(yīng)用最佳實(shí)踐
第四部分,也是在最后,為各位分享一下 MaxComputer 在大數(shù)據(jù)+大模型應(yīng)用的最佳實(shí)踐。
1. LLM 數(shù)據(jù)處理-文本去重
實(shí)踐一是關(guān)于文本去重。在 Data+AI 領(lǐng)域應(yīng)用最多的是數(shù)據(jù)預(yù)處理,文本去重又是其中最重要的一環(huán),能夠在紛繁的數(shù)據(jù)中找出有價(jià)值的內(nèi)容。具體場景包括了數(shù)據(jù)讀取、文本分詞、計(jì)算 Hash、近似最近鄰搜索以及原始文本去重。
2. 自定義鏡像構(gòu)建
在文本去重的場景過程的第一步,可以使用一些開源或自定義的鏡像部署到 MaxFrame 機(jī)器學(xué)習(xí)平臺,在平臺之上會加載相應(yīng)的分布式模型。
3. 基于 MaxFrame 完成 LLM 數(shù)據(jù)處理
在文本去重的場景過程的第二步,MaxCompute Notebook 對大模型所需的裸數(shù)據(jù)進(jìn)行清洗,文本分詞,Hash 計(jì)算等能力,并將任務(wù)提交至 MaxCompute MaxFrame 上分布式執(zhí)行。整個(gè)鏈路在交互式開發(fā)環(huán)境即可實(shí)現(xiàn)。
4. 與開源算子性能對比
其中開源算子的性能對比參考如下,對8億條原始數(shù)據(jù)進(jìn)行處理,包含多個(gè)算子,MaxCompute 處理性能較開源算子在性能層面提升 70% 以上,在環(huán)境準(zhǔn)備效率上提升 10%-30%。
5. LLM 數(shù)據(jù)處理-大規(guī)模圖片處理
實(shí)踐二,是基于大規(guī)模圖片的處理更多是對于非結(jié)構(gòu)化數(shù)據(jù)的處理,此過程中包括基于 MaxCompute 創(chuàng)建彈性資源池,通過 MaxFrame 并發(fā)讀取 OSS 數(shù)據(jù),調(diào)用第三方算子進(jìn)行圖片渲染,并實(shí)現(xiàn)分布式數(shù)據(jù)讀取和計(jì)算處理。
6. MaxCompute 4.0 Data+AI
最后,在此分享總結(jié)基于 MaxCompute 4.0 的 Data+AI 的整體產(chǎn)品架構(gòu)與應(yīng)用。架構(gòu)的底層是統(tǒng)一的元數(shù)據(jù)管理,能夠提供接入結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的存儲服務(wù)。中間層是圍繞著 MaxFrame 的分布式 AI 數(shù)據(jù)計(jì)算框架,其中包括不同的 DAG 分別處理數(shù)據(jù)預(yù)處理、智能數(shù)倉、對接 AI 分布式訓(xùn)練 PAI-DLC 以及多類型鏡像管理,這些 subDAG 均可由在 MaxFrameDAG driver 框架中統(tǒng)一調(diào)用和編排。上層是統(tǒng)一使用交互式開發(fā)平臺 MaxCompute Notebook 進(jìn)行全棧大數(shù)據(jù)+AI 開發(fā)處理操作。通過底層-統(tǒng)一開放平臺架構(gòu)/中間層-多場景 AI 計(jì)算訓(xùn)練/上層-統(tǒng)一交互開發(fā)的三層架構(gòu)來實(shí)現(xiàn) Data+AI 一體產(chǎn)品協(xié)同能力,我們也相信這樣的產(chǎn)品架構(gòu)隨著不斷的業(yè)務(wù)實(shí)踐,會逐步成為未來 Data+AI 領(lǐng)域的行業(yè)技術(shù)標(biāo)準(zhǔn)。我們共同拭目以待!
五、Q&A
Q:目前用大模型+RAG 的技術(shù)架構(gòu)處理非結(jié)構(gòu)化文本,在不了解業(yè)務(wù)屬性的情況下如何把文本的知識塊分割的更好,保證拆分的知識塊未來是有價(jià)值的,語義是不被拆開的,能在未來做檢索和查詢的時(shí)候準(zhǔn)確率更高呢?比如上傳一個(gè)政策文件,但是不知道文件中哪些內(nèi)容是需要讓用戶看到的,是否需要對文本進(jìn)行標(biāo)注呢?
A:由于每一次拆分跟面向的數(shù)據(jù)本身的特征是相關(guān)的,比如基于 NLP 的大模型,所使用的文本是否有價(jià)值是直接可以看到的。如果要過濾的話,去重是比較明確的,不懂業(yè)務(wù)也可以去重(包括去水印等)。但是哪些數(shù)據(jù)真的與業(yè)務(wù)相關(guān),目前阿里云會加載一套標(biāo)準(zhǔn)清洗算法,每次根據(jù)業(yè)務(wù)屬性作出調(diào)整。比如與金融相關(guān)的業(yè)務(wù),模型會加載一個(gè)與金融相關(guān)的算法來提供處理金融類型數(shù)據(jù)的能力。另外,文本的標(biāo)注是必要的,但是只有文本標(biāo)注是不夠的。我們是在數(shù)據(jù)存入向量數(shù)據(jù)庫之前,在數(shù)據(jù)清洗的時(shí)候加入算法,做一些相關(guān)的過濾,這其實(shí)是一個(gè)迭代的過程??偟膩碚f,第一,對于特定行業(yè)都會要構(gòu)建對應(yīng)專門的知識庫,這些知識庫會根據(jù)行業(yè)通過 RAG 加載到 AI 算法模型中。第二,每次處理完之后,都會進(jìn)行人工審查,然后經(jīng)過微調(diào)之后重新再清洗數(shù)據(jù)。第三,在訓(xùn)練過程中也會針對性地進(jìn)行調(diào)優(yōu)與微調(diào)。由于目前清洗的算法不算先進(jìn),所以在 Data+AI 中 Data 處理這部分的智能化是很關(guān)鍵的。另外,在云計(jì)算服務(wù)中,我們常常遇到一個(gè) AI 大模型用戶一周的計(jì)算資源處理量比十個(gè)典型大數(shù)據(jù)用戶的資源使用都要多,這就存在極致彈性波峰波谷的技術(shù)問題,因此如何對整體資源消耗的優(yōu)化也是一個(gè)非常重要的工作。