博客 / 詳情

返回

走近 AI Infra 架構師:在高速飛馳的大模型“賽車”上“換輪子”的人

如果把大模型訓練比作 F1 比賽,長凡所在的團隊就是造車的人,也是在比賽現場給賽車換輪子的人。1% 的訓練提速,或者幾秒之差的故障恢復時間,累積起來,都能影響到幾百萬的成本。長凡説:“大模型起來的時候,我們非常興奮,因為 DLRover 天生就是為大模型訓練的場景設計的。”

目前業界普遍認為數據、算力、算法是大模型訓練的三大核心要素,AI 工程的價值似乎還沒有得到足夠的重視,我們和螞蟻 DLRover 開源負責人長凡深入聊了聊,聊到了他為何在大模型出現前就選擇了 AI Infra 的賽道,他參與開源的經歷,也聊了 DLRover 誕生背後的故事。

AI Infra+開源, 一個通信畢業生的非主流選擇

畢業於盛產程序員的北京郵電大學,雖然本科和研究生專業都是通信相關的,但長凡還是機緣巧合邁入了 AI 的大門,如果你也走在職業發展的路口,或許長凡的故事也能給你帶來啓發。

Q:首先請介紹下自己,為什麼會選擇在螞蟻做 AI Infra 方面的工作?

長凡: 我本科在北交大的理科實驗班,研究生在北郵做 5G 移動通信的研究。大四的時候,我去了中國移動研究院實習,做機器學習在醫療領域的應用探索,算是入門了大數據和機器學習。我自己對概率統計和編程也比較感興趣,發現自己所學的知識可以解決真實問題了。後來在研究生期間,課餘時間會打打 Kaggle 比賽,邊實踐邊學習。

畢業之前我來螞蟻做暑期實習,做 ML Infra 相關的項目。相比打 Kaggle 用算法解決具體業務問題,Infra 的工作能幫助更多的同學來用 ML 解決更多的問題。再加上螞蟻在大力發展 AI,我所在的螞蟻人工智能部有很多 AI 方向的資深技術大拿,所以我畢業後選擇了留在螞蟻。

ChatGPT 出來後,大模型一下子火了,大模型相比之前的 AI 訓練對 Infra 的需求要高得多,對我們做 Infra 的是一個非常大的機遇。大模型訓練和推理的成本非常高,Infra 在提升效率和降低成本上大有可為。

Q:是什麼契機讓你開始參與開源的?參與開源對你的職業道路產生了哪些影響?

長凡: 在螞蟻工作一年後,我加入到 ElasticDL 團隊,跟着王益老師(原百度 PaddlePaddle 技術負責人)一起做開源項目。在開發 ElasticDL 過程中,王益老師教會了我很多開源思想、開源工作方式和開發習慣。比如新功能需要先寫設計文檔,然後拆解成 issue,最後是開發測試;PR 要儘量小,小 PR 可以降低 Review 成本;代碼質量需要有工具來保障等等。

這段經歷對我現在做 DLRover 幫助很大。在 DLRover 項目剛啓動時,我就在代碼倉庫了設置了很多代碼質量相關的檢測,比如 DLRover 的代碼 CI 覆蓋率約 80%。後來,張科老師接手帶領 ElasticDL,一直給我們強調開放合作。這也使得我在主導 DLRover 的開源過程中對架構設計更加開放。這裏説的開放不僅僅指使開源的開放代碼,更多的是指我們的架構和接口設計的開放,以便讓更多的人能進來擴展相關功能滿足各自的業務需求。比如,我們的故障機檢測功能當前支持 NVIDIA GPU 和 Ascend NPU,如果用户在其他的芯片上訓練,可以自定義檢測腳本。

Q:隨着大模型的興起,許多技術人也感受到了前所未有的挑戰。作為 AI Infra 領域的架構師 ,你如何評估大型模型或 AI 對傳統技術架構師的影響?針對當前的技術趨勢,你對於這些架構師有哪些建議?

長凡: 大模型或者 AI 將會改變我們的產品形態和業務模式,而且很多創新可能都是當前看不到或者很難預料的。作為技術架構師,我們的目標其實很簡單,利用技術幫助業務發展。我覺得最好的方式就是從業務中來,到業務中去。比如我們做 AI Infra 的,經常和訓練算法同學一起盯着訓練作業,review 訓練代碼並分析訓練性能,這樣從中發現很多訓練對 Infra 的實際需求。然後將這些需求抽象出來,利用自己的技術經驗來設計項目解決業務問題。

隨着大模型技術的發展,不管是對計算、存儲等硬件領域,還是對訓練框架、分佈式系統等軟件領域,對於 AI Infra 的架構師都有非常大的需求。如果想從事 AI Infra 領域,可以結合自前的經驗深入到 AI 應用中去,一定能做出成果。

DLRover:發展靠機遇,持續發展靠技術判斷力

時間拉回到 2022 年 9 月,DLRover 剛剛開源,那時深度學習的訓練基本都是在單機多卡上完成的,作為一個分佈式訓練的智能調度系統,DLRover 的功能似乎有些過於強大,就好像開了一輛百米加速的超跑來上下班。

DLRover 的容錯和彈性擴縮容在單機多卡的訓練上幾乎沒有用武之地,團隊也很迷茫是否要針對 GPU 訓練做優化,所以當 2022 年底,ChatGPT 在全球引起廣泛關注的的時候,大規模分佈式訓練是大模型訓練的剛需,長凡一下子就興奮了。

Q:DLRover是如何誕生的?發展歷程中有哪些關鍵的轉折點或者故事?

長凡: DLRover 脱胎於螞蟻內部的一個項目,主要利用容錯和彈性擴縮容來提升搜推廣訓練的速度和資源利用率。2022 年 7 月,該功能上線後,集羣資源利用率提升了快一倍,訓練時間也縮短了約 20%。基於自動擴縮容,我們就想讓用户只寫模型代碼,系統能自動地將模型在集羣上高效、穩定地和經濟地訓練出來,從而大幅降低分佈式訓練的門檻和運維成本。基於這個願景,我們在 2023 年 3 月開源了項目,並取名 DLRover,Rover 代表火星車,我們把 DL 訓練作為火星車的乘客,DLRover 這個火星車的目的就是快速、穩定、節能地將 DL 訓練這位乘客送到目的地,即訓練出模型。

DLRover 剛開源的時候,發佈了 CPU 集羣上 TensorFlow 異步分佈式訓練的自動資源配置與自動擴縮容,該功能可以將算法工程師從作業資源調優上解脱出來。但是發佈後社區反響一般,主要原因是搜推廣的訓練已經比較成熟了,業界也主要在關注 GPU 訓練。為此,我們內部也在討論要不要在 GPU 訓練上做點東西。但那時 GPU 訓練主要還是 CV 和 NLP 領域,以單機多卡為主,DLRover 的容錯和彈性擴縮容好像在單機多卡 GPU 訓練上沒有用武之地。

正在我們迷茫時,2023 年初大模型火了。因為 GPU 本身的故障率較高,大規模訓練經常因為故障而中斷,嚴重影響了大模型訓練的進度和集羣的利用率。所以 DLRover 在 2023 年的重點方向就是降低故障對訓練的影響。後來,DLRover 針對大規模分佈式訓練的場景,發佈了故障自愈功能,該功能吸引了很多大模型訓練的同學,也吸引了很多國產 AI 芯片的公司的關注。

Q:DLRover 為什麼選擇開源?

長凡: DLRover 面向的用户主要使用的是開源技術,比如 TensorFlow 和 PyTorch 等訓練框架,Kubernetes 和 Ray 等分佈式集羣調度系統。開源可以讓我們接觸到領域裏更多的同行,擴寬我們的視野。當前很多公司都在做 AI 訓練,大家面臨的場景和問題可能都不一樣。通過開源交流,我們可以對 AI 訓練所面臨的問題與挑戰有更全面的瞭解,社區提出來的問題,未來我們也可能會遇到。我們希望 DLRover 不僅能滿足螞蟻內部大模型訓練的需求,也能滿足整個社區的普遍需求。

Q:如果內部需求和社區需求不一致怎麼辦?

長凡: 這其實是開源項目經常會遇到的問題,我覺得首先要有技術判斷力,判斷這個需求是不是一個普遍需求,公司未來是不是也可能用得到。比如,以前我們認為跑大模型訓練大多都用英偉達的 GPU 卡,但現在社區開始提出希望我們適配國產芯片的需求,很多國產芯片的公司也來找我們交流,也就是很多人已經開始在國產芯片上去跑訓練了,這就是對我認知的一個刷新。如果我們未來買不到 GPU 了,或者國產芯片能達到更好的效果了,我們已經提前做了國產芯片的支持,那這個需求就可以直接上了。

現在很多流行的開源項目,以前 Star 數可能是線性增長,在大模型出來之後是指數增長。就是因為他們兩年前就覺得這個事情是一個正確的方向,堅持在做,然後機遇一來,他們就起來了。


Q:開源社區在 DLRover 的發展過程中扮演着怎樣的角色?有沒有一些特別令你印象深刻的社區貢獻者或者故事?

長凡: 開源社區給 DLRover 貢獻了很多非常好的思路和有價值的需求。比如 DLRover 的 Flash Checkpoint 功能發佈後,社區同學的試用幫我們發現了一些沒有測試的 corner case,這幫助我們提高了 DLRover 的產品質量。還有,我們最近吸引了很多國產 AI 芯片公司的關注,社區也提出將我們的訓練故障自愈擴展到國產芯片的意願,這些都是來自一線從業同學的真實聲音,是我們發展 DLRover 的寶貴源泉和動力。

未來展望:幫助用户高效、穩定地訓練模型

提到對項目未來的規劃時,長凡説:“我們希望 DLRover 能幫助用户解決問題,高效、穩定地訓練模型。”也希望有更多對 AI 工程感興趣的開發者能加入到 DLRover 項目,一起推進 AI Infra 領域的發展。

Q:目前還有哪些項目也在做類似的事情嗎?和 DLRover 相比有什麼不同?

長凡: 分佈式訓練的彈性容錯一直是開源社區在探索的,比如 TorchElastic 和 Elastic Horovod 解決了訓練框架的彈性與容錯。大模型出來之前,大家訓練 NLP 或者 CV 模型主要還是單機或者小規模的集羣。小規模訓練因為使用的節點少,故障率較低,對彈性容錯需求不大。大模型訓練一下將訓練規模擴大到幾百上千卡,故障率就高了很多。同時實際訓練中,訓練容錯和故障自愈需要集羣調度、節點管理和訓練框架一起協作。所以 DLRover 是將現有的彈性訓練框架與節點管理、集羣調度相結合來實現快速的訓練故障自愈。

訓練自愈這塊其實很多雲廠商也在做,但是都是和自己的雲平台耦合的。最近幾個月也有好幾篇定會文章介紹相關工作。DLRover 是和雲平台解耦的,用户只要是在 kubernetes 集羣上做分佈式訓練,就可以使用 DLRover 的訓練故障自愈功能。除此之外,由於我們之前在這塊有過探索和積累,所以訓練穩定性這塊的功能開源得比較快。


Q:在 AI Infra 領域,海外有哪些做得比較好的開源項目,對於我們有哪些借鑑意義?

長凡: Flash Attention 和 vllm,這兩個框架大幅提升了大模型訓練和推理的性能,更重要的是,用户只需要安裝 Python 包即可使用。他們的特點就是利用創新解決了一個很難且很有價值的問題,但是又非常簡單易用,這對我們有很大啓發。比如,我們在設計 DLRover 訓練自愈的 Flash Checkpoint 的 API 時,也是儘量讓 API 簡單易用,用户儘量少改代碼就能使用 DLRover。

Q:對於 DLRover 未來的規劃,你有什麼願景或目標?

長凡: 我們希望 DLRover 在大模型時代能讓更多的用户高效地訓練大模型,降低 AI 訓練門檻。當前 AI 訓練有2個趨勢,一方面大家根據 Scaling law 來使用更大規模的集羣,來訓練越來越大的模型;另一方面很多工作在探索如何在小規模或者單機上微調模型。

不管是大規模預訓練還是微調,高效、穩定地訓練模型都有困難,需要根據經驗反覆調試。我們希望 DLRover 能幫助用户解決這方面的問題,也希望能支持到國內的 AI 發展。DLRover 未來在功能和接口設計上會做得更加開放,讓用户能在國產芯片上使用 DLRover 高效、穩定地訓練模型。當然,我們也非常歡迎更多的同學加入到 DLRover 社區,一起推進 AI Infra 的前進。

Q:最後,給我們預告下你在 GDC 上會分享哪些內容吧

長凡: GDC 上我將分享 DLRover 如何通過訓練故障自愈,來降低大規模 AI 訓練的成本,幫訓練省錢的。以及大家如何來使用 DLRover 來提升訓練的效率。


看完長凡的經歷和 DLRover 的故事,你是不是對 AI Infra 有了更多興趣呢?3 月 23 日下午,長凡將在 2024 全球開發者先鋒大會(GDC)分享《DLRover 訓練故障自愈:大幅提升大規模 AI 訓練的算力效率》,歡迎到現場和講師近距離交流。

關於 DLRover

DLRover(Distributed Deep Learning System)是螞蟻集團 AI Infra 團隊維護的開源社區,是基於雲原生技術打造的智能分佈式深度學習系統。DLRover 使得開發人員能夠專注於模型架構的設計,而無需處理任何工程方面的細節,例如硬件加速和分佈式運行等;開發深度學習訓練的相關算法,讓訓練更高效、智能,例如優化器。目前,DLRover 支持使用 K8s、Ray 進行自動化操作和維護深度學習訓練任務。更多 AI Infra 技術請關注 DLRover 項目。

加入 DLRover 釘釘技術交流羣:31525020959

DLRover Star 一下:https://github.com/intelligent-machine-learning/dlrover

在 GitHub 關注 DLRover:https://github.com/intelligent-machine-learning/dlrover

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.