Stories

Detail Return Return

ODPS 十五週年實錄 | Data + AI,MaxCompute 下一個15年的新增長引擎 - Stories Detail

ODPS 十五週年實錄 | Data + AI,MaxCompute 下一個15年的新增長引擎

本文根據 ODPS 十五週年·年度升級發佈實錄整理而成,演講信息如下:

於得水(得水):阿里雲智能集團計算平台事業部資深技術專家 

活動:【數據進化·AI啓航】ODPS 年度升級發佈

此次演講內容共分為三個部分:

第一部分,介紹 MaxCompute 面向 Python 和 AI 生態計算的演進歷史。從最初的 SDK Library 到表示層計算,再到面向 AI 場景的新一代原生 Python 引擎。

第二部分,介紹 MaxCompute 多年構建起來的 Data + AI 領域的核心能力,包括分佈式計算框架 MaxFrame 以及面向 SQL 和 Python 引擎的 AI Function 功能。

第三部分,分享 MaxCompute 在 Data + AI 核心能力構建後,在該領域的核心應用及客户成功案例,包括在大模型預訓練領域的海量數據處理場景以及在自動駕駛領域的數據預處理場景。

MaxCompute 面向 Python & AI 計算的演進

MaxCompute 面向Python\&AI計算的演進歷程

MaxCompute 於 2010 年對外發布。2015 年,隨着 Python 生態的用户羣體越來越多,我們正式發佈了 PyODPS 組件。最初,它是一個 Python SDK Library,用户可以在 Python 的接口上對 MaxCompute 對象進行操作並提交作業,滿足了 Python 生態用户提交 MaxCompute 作業的需求。

2017 年,由於社區中 DataFrame 表示層越來越流行,也有類似於 Pandas 的社區版數據處理庫在發佈,所以 PyODPS 也提供了類似於 Pandas 接口的 DataFrame 表示層。用户可以在 DataFrame 表示層上調用算子執行作業,底層也會變成 MaxCompute SQL 作業提交。

2019 年,我們開源併發布了分佈式計算框架 Mars,它支持 NumPy、Pandas、Scikit-learn 的分佈式計算。在發佈之後,Mars 在開源社區得到了普遍的好評和熱烈的反響,特別是在螞蟻內部的 MaxCompute 集羣,Mars 在大規模金融領域得到了廣泛應用。

2023 年,隨着生成式 AI 的熱潮到來,MaxCompute 推出了新一代分佈式計算框架 MaxFrame,並在 2023 年雲棲大會上正式對外發布。MaxFrame 是面向 Data +AI 領域的新一代分佈式計算方案,全面兼容 Pandas 接口的 DataFrame 語義,支持模型開發、離線推理等場景的 Data + AI 計算,滿足了用户對 Data + AI 領域分佈式計算的需求。

2025 年,也就是今年,MaxCompute 推出了 Python 原生計算引擎 DPE(Distributed Python Engine)。它是面向 AI 場景的新一代 MaxCompute 引擎,支持原生的 Python UDF 運行,支持異構資源調度和計算,還支持基於開源大模型部署的 AI Function 能力。同時支持進行多模態數據計算。
幻燈片3.png

大數據平台在 AI 時代面臨的挑戰

近年來,生成式 AI 的井噴式發展給傳統大數據平台帶來了一系列挑戰,同時也為我們提供了前所未有的面向客户場景和大規模計算的發展機遇。

首先,由於大模型能力不斷增強,生成式 AI 能力成為大數據領域客户的普遍訴求,並且推理成本不斷降低,我們觀察到每一個組織和客户都希望可以把生成式 AI 能力快速應用到他們的生產環境中,對商業數據進行更智能化的洞察和分析。

其次,隨着大模型預訓練的興起,數據處理的計算規模越來越大,對 Data For AI 領域的計算要求也越來越高。數倉平台需要能夠很好地支撐大模型預訓練場景中的數據預處理需求,包括海量彈性計算能力和對多種數據類型(結構化、半結構化、非結構化)的一體化處理能力。

第三,隨着 AI 能力越來越強,傳統大數據平台需要借用 AI 能力來增強自身的數據治理能力,即 AI For Data。這包括通過 AI 優化查詢計劃生成和執行,提供更智能的作業診斷和改進建議,以及使用更智能的物化視圖幫助用户進行作業調優。

最後,隨着 AI 能力的增強,如 AI Coding 在開發者中的廣泛應用,開發者對開發節奏和效率有了更高的要求。這就要求大數據平台在 AI 時代提供更敏捷的開發體驗,從開發到測試,再到評估和部署,都需要提供更便捷、友好和高效的開發體驗和平台。
7A6939E6-4FCB-4466-98E7-A45BA1EEF5C6.png

MaxCompute 在 Data+AI 場景的解決方案

基於以上挑戰,MaxCompute 在 Data + AI 場景下提供了一系列解決方案。首先,提供了分佈式計算框架 MaxFrame,它兼容社區 Pandas 接口,以用户友好的方式提供框架計算。用户可以用熟悉的語言,統一 Python 接口提交作業。此外,內置的高效數據處理算子和模型開發算子,支持用户一站式進行數據和 AI 開發。

其次,針對開發體驗提升的需求,我們提供了交互式開發環境,包括開箱即用的 MaxCompute Notebook 產品和集成好的 Dataworks Notebook 產品。用户可以基於雲端 Studio 進行交互式腳本開發和作業調試。

第三,我們提供了自定義鏡像能力和管理功能。基於我們對客户的調研和走訪,客户普遍對於使用自定義鏡像啓動容器進行作業執行有着需求。比如,用户希望可以把第三方依賴包打到鏡像裏,也可以把自己的私有包、模型文件和其他數據文件打到鏡像裏。因此,MaxCompute 提供了自定義鏡像的管理和運行功能,用户可以提前把自己需要的依賴打到鏡像裏,就可以在 MaxCompute 的分佈式環境中進行類似本地開發環境、類似依賴的執行,極大地提升了開發和部署的效率。

最後,針對 AI 時代數據模式和形態越來越複雜的現狀,MaxCompute 也提供了多模態數據管理和運行的能力。我們可以在 MaxCompute 平台中對結構化、半結構化和非結構化數據進行統一管理,並用統一的計算引擎進行對接,滿足用户對多模態數據處理的需求。
image.png

MaxCompute Data+AI 核心能力

MaxCompute 發佈的新一代分佈式計算框架 MaxFrame ,可以顯著提高用户的作業運行處理性能。由於 MaxFrame 框架是直接運行在 MaxCompute 的集羣內部,可以直讀 MaxCompute 內表的數據,避免了無效的數據移動和數據泄露風險,極大地提高了用户作業的執行效率。

因為 MaxFrame 運行在 MaxCompute 集羣內部,可以利用 MaxCompute 海量彈性計算資源的能力,在短時間內快速拉起幾十萬 core 規模的計算資源來執行用户大規模的數據處理作業,極大地縮短了用户等待資源的時間,並且提升了作業處理的效率。

此外,MaxFrame 提供了更完善、用户更熟悉的算子支持。如剛才描述,MaxFrame 提供了社區兼容版的 Pandas 接口,用户可以以類似於本地編寫 Pandas 作業的體驗來去調用 MaxFrame 的 Pandas 兼容接口進行分佈式數據處理,比如 DataFrame 和 Tensor 結構的數據處理,以本地開發的體驗進行雲端大數據操作來提交作業,滿足用户使用一份 Python 腳本進行數據處理和 AI 開發的完整流程。

最後,MaxFrame 提供了更加便捷的開發體驗。剛才也提到,我們提供了 MaxCompute Notebook 產品,也與 Dataworks Notebook 進行了集成。使用雲端 Studio,用户無需進行復雜繁瑣的本地開發環境配置,所有配置保存在雲端,可以一站式地啓動開發環境進行作業開發。同時,我們支持用户的腳本運行在自定義鏡像啓動的容器中,確保用户本地開發環境和雲端生產環境運行時的依賴管理一致,方便用户進行作業提交和開發。
image.png

除此之外,面向傳統數據分析師和數據工程師,我們也提供了低成本的 AI Function 能力。用户既可以通過熟悉的 Python 腳本調用 AI Function 執行數據分析,也可以使用 MaxFrame 提供的 Python 接口調用 AI Function 進行數據分析。正如之前提到的,隨着生成式 AI 的迅速發展,越來越多的用户希望利用大模型的智能化能力處理海量數據。然而,由於大模型的部署、運行和調試存在一定的門檻,許多用户在實際應用中受到了限制。為了解決這個問題,MaxCompute 提供了 AI Function 功能。我們在 MaxCompute 平台內部部署了很多內置模型,比如通義千問 3 系列的文本模型、Deepseek-R1 系列的蒸餾模型等。用户無需進行復雜的模型配置、部署和運行,只需要調用 AI Function 接口,就能以非常低的成本使用我們的 AI 能力進行推理,從而對數據進行洞察分析和內容生成。

AI Function可以處理多種形態的數據。用户可以使用 AI Function 來處理存儲在 MaxCompute 表中的結構化數據,也可以處理存儲在數據湖上的非結構化數據,通過外表和 Object Table 方式進行讀取。在執行端,用户只需進行簡單的接口調用,比如 ML\_GENERATE 和 PREDICT 接口,就可以進行 AI Function 執行。依賴於我們內置的通義千問 3 和 Deepseek-R1 蒸餾模型,以及用户自己訓練好的傳統機器學習模型,比如 Xgboost、Sklearn 和 Lightgbm 等框架訓練好的模型,用户可以使用模型能力對數據進行處理。應用場景包括傳統的文本生成、文本分類、結構化信息抽取、情感分析、風控,以及針對多模態數據領域的圖文解析、圖片物體識別等,具有廣泛的應用場景和生產價值。
image.png

MaxCompute 在Data + AI領域的應用

目前, MaxCompute 在 Data + AI 領域構建的各種能力和提供的產品及解決方案,已在多個關鍵行業成功應用,積累了很多成功的客户故事。接下來,我將分享三個我們在關鍵行業支撐的應用和客户案例。

多模態數據處理

第一個應用場景是多模態數據處理。我們的客户通義團隊,使用 MaxCompute 的 Data + AI 能力進行多模態數據處理。眾所周知,在多模態的大模型預訓練中需要處理海量的多模態數據。比如,可以把海量的視頻文件抽幀轉換成圖片文件,並保存在數據湖中(如 OSS) 。利用 MaxCompute Data + AI 能力,通義團隊藉助 MaxCompute 海量彈性計算資源以及 MaxFrame 提供的 Python 原生開發的運行體驗和接口,在很短時間內就完成了作業的編寫、調試和部署,得益於 MaxCompute 的彈性能力,可以在短時間內調動數十萬核的 CPU 資源進行視頻抽幀的作業執行。依賴於 MaxCompute 多年構建的 Serverless 高可用的平台,通義團隊提交的視頻處理作業運行得非常穩定、流暢。

下圖左側圖表展示了整個作業執行流程。首先,多模態數據(比如視頻數據)存儲在數據湖 OSS 中,通過用户編寫的 MaxCompute 作業提交到 MaxCompute 集羣中,我們可以從 OSS 或者是 CPFS 中讀取數據,通過調用 MaxCompute 提供的數據處理算子,用户可以非常高效地進行大模型預訓練中需要的數據處理作業比如視頻超幀、圖片渲染、文本清洗等。並且,我們有海量的計算資源池,可以提供非常好的彈性能力,按需進行計算。同時,經過 MaxFrame 計算之後的數據可以再存回數據湖,或者是分佈式文件系統 CPFS 中,供後續訓練使用。在圖中也顯示了,在後續的訓練中,我們可以利用阿里雲計算平台提供的 PAI 靈駿大規模智算資源池進行大規模、高彈性的模型訓練任務。經過應用了 MaxCompute 的 Data + AI 能力,客户取得了很明顯的效率提升,比如客户的千萬級視頻文件,可以在幾十小時內就完成全部的處理,相比於之前客户的方案,效率有了成倍的提升。
image.png

大模型預訓練海量 Web 文本去重

第二個案例涉及大模型預訓練的海量 Web 文本去重場景,也是 MaxCompute Data + AI 能力支撐的另外一個關鍵行業應用。在這個案例中,某大模型實驗室,使用 MaxFrame 成功進行了海量 Web 文本的去重。眾所周知,大模型訓練的數據處理中,需要對訓練語料中的相似文檔進行語義去重,以提升訓練的效率並提高模型訓練的質量。因為過多的相似文本會導致處理效率很低。另外,過多的相似文本會嚴重干擾模型訓練過程,造成模型泛化能力的降低以及很低的模型質量。所以在大模型預訓練中,進行精確高效的語義文本去重是一個關鍵步驟。在這個過程中,包含大規模文本的 MinHash 生成、LSH Band 指紋計算以及非常複雜的聯通圖的構建、相似性傳遞和文本去重選擇等過程。在傳統方案中,用户往往需要搭建單獨的計算集羣,啓動專門的作業來進行上述步驟的計算,造成的效果就是計算效率比較低。因為需要分成很多步驟和迭代,同時集成資源利用率也很低。

針對這些問題,MaxCompute 的 MaxFrame 產品提供了定製化的文本去重算子,用户可以以參數的形式傳入一些關鍵參數,比如 MinHash 計算的參數、比如 LSH Band 的數量、比如在相似度計算中的相似度閾值的數值等等,可以高效率、更便捷地完成文本去重計算,不需要用户寫複雜的文本去重邏輯和參數配置。最終達成計算規模更大、速度更快的效果。以公開數據集 FineWeb-edu 30 億條數據、8 TB 數據規模的場景為例,我們使用 MaxCompute 4000 CU 可以在 3 小時內完成全部文本的去重計算,這是一個非常優秀的 Benchmark 結果。第二個效果是相比用户原有 IDC 自建方案,使用 MaxFrame 的文本去重算子,用户取得了兩倍的性能提升,客户對此表示非常滿意。
image.png

汽車自動駕駛數據預處理

最後一個案例展示了  MaxCompute Data + AI 能力如何支撐自動駕駛行業的數據預處理。某自動駕駛廠商,使用 MaxCompute MaxFrame 功能進行自動駕駛數據處理。在自動駕駛場景中,車端(比如量產車、研採車)會持續產生並採集海量數據,包括車載設備記錄的圖片、音視頻數據,包括汽車運行中設備生成的雷達數據,包括汽車行駛中的 GPS 軌跡數據等等。這些數據通常以 BAG 包文件的形式在數據湖上存儲。傳統的處理解決方案中,用户往往需要構建一系列複雜的 Pipeline,寫不同的腳本進行處理。基於 MaxFrame,客户對自己的 Pipeline 進行了改寫升級,完成了對車端採集的大量 BAG 包的處理工作。

從下圖中可以看到,使用 MaxFrame 腳本,用户不需要編寫複雜的 Pipeline,只需要編寫不同的邏輯,就可以完成對 BAG 包的解析、清洗、切包,以及最後訓練樣本的生成、切片和存儲等步驟,避免了傳統方式下要構建複雜的 Pipeline 才能完成的事情。經過使用 MaxFrame 進行的 Pipeline 改寫,用户也可以把車端採集數據處理流程中的結果,存在我們的 MaxCompute meta 表中,便於後續對車端數據進行進一步的挖掘和跟蹤。從客户側感知到明顯的效果提升。首先是海量的彈性計算規模,鑑於自動駕駛數據通常是按需產生的,用户往往需要進行數據補全和臨時作業提交操作,使用 MaxCompute 可以快速拉起並提供數十萬 CU 計算規模的彈性資源,滿足用户按需進行作業提交處理的需求。另外就是作業運行效率的提升,相比於用户之前的開源處理方案,基於 MaxFrame 高效的內置算子和更便捷的 Pipeline 構建,整體性能提升了 40%,得到了客户的高度認可。
image.png
以上就是MaxCompute 在 Data + AI 領域所做工作的介紹,包括面向 Python 生態和 AI 計算場景的演進歷史,包括 MaxCompute 在 Data + AI 領域構建的核心能力和相關解決方案,以及基於這些核心能力支撐的應用場景和成功客户案例。歡迎大家使用 MaxCompute Data + AI 產品。

user avatar nizi_60e514d097c9a Avatar xuri Avatar ververica Avatar
Favorites 3 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.