首頁|必讀|視頻|專訪|運營|制造|監(jiān)管|大數(shù)據(jù)|物聯(lián)網(wǎng)|量子|元宇宙|博客|特約記者
手機|互聯(lián)網(wǎng)|IT|5G|光通信|人工智能|云計算|芯片報告|智慧城市|移動互聯(lián)網(wǎng)|會展
首頁 >> 技術(shù) >> 正文

揭秘 watsonx 平臺構(gòu)建的幕后開源技術(shù)

2023年5月12日 07:25  網(wǎng)易科技  

Talia Gershon, IBM 研究院混合云架構(gòu)研究總監(jiān)

Priya Nagpurkar, IBM 研究院混合云平臺研發(fā)副總裁

Carlos Costa, IBM 研究院基礎(chǔ)模型和多云業(yè)務首席研究科學家

Darrell Reimer, IBM 研究院杰出工程師

基礎(chǔ)模型和生成式 AI 激發(fā)人類的集體想象力,推動我們發(fā)現(xiàn)改善生活和工作方式的新方法。 從通過自然語言實現(xiàn)更加無縫的技術(shù)交互,到自動生成代碼或其他數(shù)據(jù),再到跨科學各個領(lǐng)域的用例,再到應用于多科學領(lǐng)域,基礎(chǔ)模型的應用場景與日俱增越來越多。 IBM 的目標是將該技術(shù)融入我們的產(chǎn)品組合多個產(chǎn)品,幫助我們的客戶快速高效且安全地將基礎(chǔ)模型應用到他們自己的產(chǎn)品中。在自己的產(chǎn)品中應用基礎(chǔ)模型。

在這一過程中,我們分享了為什么在 IBM Cloud 中構(gòu)建 AI 超級計算機 Vela。 這項工作大力推動我們重構(gòu)整個技術(shù)堆棧,從而加快我們訓練、微調(diào)和部署尖端 AI 模型的步伐。 通過這個過程,我們成功構(gòu)建了一個面向基礎(chǔ)模型時代進行優(yōu)化的現(xiàn)代化、靈活的 AI 軟件棧。

本博文將介紹在 Red Hat OpenShift Container Platform 上運行的高性能云原生 AI 訓練堆棧,該平臺是新推出的watsonx 平臺的構(gòu)建基礎(chǔ)。

作為訓練堆棧的補充,我們的技術(shù)?山档统杀九c優(yōu)化性能,對基礎(chǔ)模型進行調(diào)整并為其提供服務。 以下多項技術(shù)已貢獻給開源社區(qū)在開源社區(qū)中發(fā)布,如 PyTorch、Ray、Kserve 和 Open Data Hub (ODH) (一個可在 Kubernetes 上構(gòu)建、部署和管理數(shù)據(jù)密集型應用的開源平臺)。 在 ODH 上發(fā)展成熟的技術(shù)隨后被引入 Red Hat 的 OpenShift AI,IBM 目前的新一代 AI 平臺 watsonx.ai 使用 Red Hat OpenShift AI。 借助這種方法,IBM 和 Red Hat 為客戶提供最先進的開源基礎(chǔ)模型棧,以支持在他們選擇的任何環(huán)境(本地、IBM Cloud 或其他公有云)中運行。

如需了解IBM技術(shù)、產(chǎn)品和服務的更多信息,點擊訪問IBM官網(wǎng)。

我們的基礎(chǔ)模型訓練方法

我們在開始重構(gòu) AI 訓練堆棧時有兩個目標。 首先,一是希望保持傳統(tǒng) HPC 系統(tǒng)的實用性:最大程限度提高硬件利用率,并高效利用高性能基礎(chǔ)架構(gòu)。 其次,二是希望提供混合云開發(fā)體驗的靈活性和生產(chǎn)力優(yōu)勢:提高開發(fā)敏捷性和代碼重用率,簡化基礎(chǔ)架構(gòu)和軟件的管理與擴展。 為了實現(xiàn)第二個目標,我們使用 Kubernetes 構(gòu)建解決方案,通過容器復用代碼以及擴展軟件。 但這一決定意味著我們需要將 Kubernetes 轉(zhuǎn)化為可處理高性能工作負載的平臺。

我們還需要一個可以應對每一步 AI 訓練工作流程的解決方案:進行數(shù)據(jù)預處理、分布式訓練和模型驗證。 我們確定了合作的關(guān)鍵開源社區(qū),共同處理端到端工作流程,確定了需要克服的關(guān)鍵用戶體驗障礙,以便用戶啟動、運行和擴展工作。

下圖1的左側(cè)介紹了我們的訓練軟件堆棧的整體情況,該堆棧自2022年底以來一直在 IBM Cloud 的 Vela 上運行,由 IBM 研究院使用。 圖1右側(cè)描述了我們用于調(diào)整和提供基礎(chǔ)模型的堆棧,稍后將在博客中詳細討論。

圖1:我們的云原生軟件堆棧,用于訓練和驗證(左)以及調(diào)優(yōu)和服務(右)基礎(chǔ)模型 高級 Kubernetes 原生資源利用與管理

這項工作伊始,Kubernetes 生態(tài)系統(tǒng)在大規(guī)模和高性能 AI 工作負載方面仍然存在重大差距。 早期關(guān)注的重點領(lǐng)域之一是將基礎(chǔ)架構(gòu)功能(如網(wǎng)絡(luò)資源)應用于工作負載,而不會產(chǎn)生額外的開銷。 為此了實現(xiàn)這一想法,我們創(chuàng)建了一個多 NIC CNI 操作程序,消除了封裝,可配置底層網(wǎng)絡(luò)接口并將網(wǎng)絡(luò)延遲減少了一半,消除了封裝,同時與開箱即用的容器網(wǎng)絡(luò)解決方案相比帶寬增加了七倍。帶寬比即用型容器網(wǎng)絡(luò)解決方案多出7倍。 這些改進對最終用戶完全透明。

我們嘗試填補的第二個空白領(lǐng)域是使用正確的云原生作業(yè)調(diào)度程序。 由于大量 AI 開發(fā)人員希望提交作業(yè)以在 Vela 上運行,我們需要一個調(diào)度程序來分配資源并確定作業(yè)的優(yōu)先級,以最大限度地提升資源利用率。 為了解決這個問題,IBM 研究人員創(chuàng)建了多集群應用進程調(diào)度程序 (MCAD),可提供作業(yè)隊列、作業(yè)優(yōu)先級與搶占、超時以及系統(tǒng)用戶之間的資源共享編排。 此外,我們啟用了工作負載打包和分組調(diào)度,以消除資源碎片,這些都通過 OpenShift 實現(xiàn)。 我們進一步開發(fā)了InstaScale,它與 MCAD 共同動態(tài)擴展云托管的 OpenShift 集群。 通過自動從云提供商獲取 GPU 并按需發(fā)布,InstaScale 讓從業(yè)者不必擔心基礎(chǔ)架構(gòu)管理和成本問題。

高效、可擴展的數(shù)據(jù)預處理,模型訓練與驗證

為了使 AI 管道中的所有運行步驟簡單高效,我們主要運用 和貢獻PyTorch 和 Ray 這兩項關(guān)鍵的開源技術(shù),并做出自己的貢獻。 借助 Ray,我們使用數(shù)據(jù)科學家友好的 Python API 實現(xiàn)了可擴展的數(shù)據(jù)預處理(例如使用仇恨、濫用和褻瀆過濾器過濾數(shù)據(jù))和后處理步驟(例如模型微調(diào)和驗證)。 通過運行Ray with MCAD,我們支持通過并發(fā)運行的異構(gòu) Ray 作業(yè)高效共享資源池。

我們正與 PyTorch 合作推進對分布式訓練的支持,包括通過引入 rate_limiter 來改進對完全分片數(shù)據(jù)并行 (FSDP) 訓練 API 的支持。 我們最近展演示了在基于以太網(wǎng)的環(huán)境(如 IBM Cloud 中的 Vela)上為參數(shù)為10B+ 的模型高效擴展分布式訓練作業(yè)。 此外,通過集成MCAD 與 TorchX(TorchX 是 PyTorch 應用的通用作業(yè)啟動器),我們能夠使用不同 API 和框架以透明方式支持多種基于 PyTorch 的作業(yè)。 這些工作都受底層工作管理系統(tǒng)的支持,無需 AI 從業(yè)者修改代碼。

簡化用戶體驗

工作流程本身的訓練分為以下三個步驟:模型探索(通常是使用一些 GPU 運行的縮小試驗)、擴展分布式訓練作業(yè)(消耗數(shù)百個 GPU)以及模型驗證。 對于許多 AI 從業(yè)者來說,編排這些步驟可能很復雜,而且配置和管理的時間長。 我們通過CodeFlare項目解決了這一挑戰(zhàn),它能夠提供引導式、簡化的用戶體驗,以有效地提高訓練、測試和監(jiān)控模型訓練生命周期的效率。

CodeFlare CLI(基于控制臺和 UI)指導用戶應對復雜的遠程 OpenShift 集群運行,同時自動執(zhí)行作業(yè)配置、存儲設(shè)置、日志記錄以及管理用于監(jiān)控和分析的端點。CodeFlare SDK(基于 Jupyter)為用戶提供直觀的 Python 界面,進行批處理資源請求處理、作業(yè)提交和觀察。 借助這些功能,我們大大降低了 AI 研究同事進入云原生堆棧的門檻。

在 Vela 上運行我們的軟件棧

到2022年底,IBM 的所有基礎(chǔ)模型訓練工作都過渡到在 IBM Cloud 的 Vela 上運行此軟件棧。 如今,MCAD 管理這些 AI 作業(yè)的隊列,從單 GPU 作業(yè)到利用超過512個 GPU 的作業(yè),并處理作業(yè)優(yōu)先級和配額管理。 我們在過程中發(fā)現(xiàn)了其他方法,可以讓團隊在以 GPU 為中心的環(huán)境中(如 Vela)中管理 OpenShift 集群更輕松,例如,通過增強 OpenShift Installer 配置基礎(chǔ)架構(gòu) (IPI),以便更輕松地在高性能基礎(chǔ)架構(gòu)上部署和管理 OpenShift。

我們的基礎(chǔ)模型調(diào)優(yōu)和服務方法

訓練和驗證最先進的基礎(chǔ)模型是 AI 價值鏈的關(guān)鍵早期階段,但當模型在 AI 工作流程的調(diào)優(yōu)和推理步驟中投入生產(chǎn)使用時,最終會捕獲真正的價值。 我們用于推理和模型調(diào)優(yōu)的軟件棧主要是在底層硬件上高效執(zhí)行模型,以最佳方式批處理傳入的請求,簡化 AI 與應用的集成,并提供最先進的模型適應技術(shù)。 上圖1的右側(cè)介紹了我們的基礎(chǔ)模型調(diào)優(yōu)和服務棧,以下是更為詳細的描述。

推理性能

用于優(yōu)化基礎(chǔ)模型在給定硬件平臺上運行方式的軟件庫可以將吞吐量和延遲提高10-100倍。 我們的服務軟件棧中有一組精心設(shè)計的成熟優(yōu)化路徑(包括 ONNX 和 Hugging Face Optimum),用于推理常見模型架構(gòu),并且可擴展,以能夠適應新的推理服務器或優(yōu)化。 考慮到 AI 和開源社區(qū)的快速創(chuàng)新步伐,可擴展性是我們軟件棧的關(guān)鍵設(shè)計點。 此外,真正的 AI 服務會同時收到來自多個用戶的、針對多個模型的大量推理請求。 我們的服務堆棧動態(tài)批處理傳入的請求,并通過構(gòu)建和反饋 Hugging Face、Kserve 和 Model Mesh 社區(qū),有效地在模型之間進行多路復用。

簡化應用程序集成

目前可用于運行 AI 模型的推理服務器需要用戶具備大量的 AI 專業(yè)知識。 模型的輸入和輸出都是張量。 對于希望利用這些模型完成任務的應用開發(fā)人員來說,這種格式并不易于理解。 為了使此過程對開發(fā)人員更加友好,必須將模型輸出轉(zhuǎn)換為更易于使用的內(nèi)容。 我們創(chuàng)建了 Caikit 抽象層,可為應用開發(fā)人員提供直觀的 API 和數(shù)據(jù)模型,并提供一個穩(wěn)定的接口,支持模型和應用獨立發(fā)展。 這一抽象層在 IBM 的 Watson 模型中使用,用于提供基礎(chǔ)架構(gòu),并將很快貢獻給開源很快將作為開源項目提供。

基礎(chǔ)模型調(diào)優(yōu)整

基礎(chǔ)模型的關(guān)鍵價值主張之一是能夠利用預訓練的基礎(chǔ)模型,并使用專用數(shù)據(jù)“調(diào)優(yōu)整”或“適應”,以提高其下游任務的性能。 我們的目標是打包最先進的技術(shù),以實現(xiàn)計算效率高的模型自適應,讓不甚了解其工作原理的人也能夠使用。 我們的可擴展堆棧目前支持多任務提示調(diào)優(yōu) (MPT) 和微調(diào),通過開源項目參數(shù)高效微調(diào) (PEFT) 集成。 在接下來的幾個月里,我們將開源一些提示調(diào)優(yōu)算法和實現(xiàn)。

和 Red Hat合作

IBM 研究院正在與 Red Hat 合作,我們將開發(fā)的功能貢獻給主要開源社區(qū),直接發(fā)布在Open Data Hub(ODH),讓其他人也從這項工作中受益。 ODH 是一個全面的開源工具集合,旨在利用 OpenShift 的優(yōu)勢來推動整個 AI 開發(fā)生命周期。 Open Data Hub 中引入的許多技術(shù)已發(fā)展成為 Red Hat OpenShift AI 的一部分,并作為 watsonx.ai 的中間件基礎(chǔ)提供服務。 圖2顯示了本博客中描述的對各種開源貢獻將如何匯集到 ODH 中以支持基礎(chǔ)模型用例。

圖2:云原生 AI 軟件對 Open Data Hub 和其他社區(qū)的貢獻

后續(xù)工作

面向基礎(chǔ)模型時代重構(gòu)我們的端到端軟件棧對我們的 AI 社區(qū)具有相當大的價值。 AI 研究人員不再需要非常深入的基礎(chǔ)架構(gòu)知識,就可以讓作業(yè)高性能運行。 他們不再需要弄清楚如何將作業(yè)從幾個 GPU 擴展到數(shù)百個,或者如何精確地分配作業(yè)以實現(xiàn)高工作負載性能,現(xiàn)在這些任務都可以交給軟件棧處理。 代碼可以跨團隊得到重新使用,試驗也易于重現(xiàn)復制。 我們還大幅簡化了 AI 開發(fā)人員如何以高計算效率和開發(fā)人員友好的方式提供和調(diào)整基礎(chǔ)模型的方式。

或許最重要的是最重要的一點可以說是,在 OpenShift 上構(gòu)建此堆棧提供了對其他環(huán)境的可移植性,讓合作伙伴可以在本地和任何公有云中使用這些功能。 我們很高興與紅帽一起通過開放數(shù)據(jù)中心將這些創(chuàng)新引入開源社區(qū)我們很高興與 Red Hat 開展合作,我們通過 Open Data Hub 將這些創(chuàng)新內(nèi)容引入開源社區(qū),在 Kubernetes 上推進 AI 工作流程方面的最新技術(shù),并為在 Red Hat OpenShift AI 和 watsonx.ai 中使用這些創(chuàng)新內(nèi)容奠定了基礎(chǔ)。 通過這種方法,我們?yōu)榛A(chǔ)模型的端到端生命周期啟用了一個企業(yè)級平臺。 我們期待與您在上游社區(qū)進行合協(xié)作。

編 輯:章芳
聲明:刊載本文目的在于傳播更多行業(yè)信息,本站只提供參考并不構(gòu)成任何投資及應用建議。如網(wǎng)站內(nèi)容涉及作品版權(quán)和其它問題,請在30日內(nèi)與本網(wǎng)聯(lián)系,我們將在第一時間刪除內(nèi)容。本站聯(lián)系電話為86-010-87765777,郵件后綴為#cctime.com,冒充本站員工以任何其他聯(lián)系方式,進行的“內(nèi)容核實”、“商務聯(lián)系”等行為,均不能代表本站。本站擁有對此聲明的最終解釋權(quán)。
相關(guān)新聞              
 
人物
工信部張云明:大部分國家新劃分了中頻段6G頻譜資源
精彩專題
專題丨“汛”速出動 共筑信息保障堤壩
2023MWC上海世界移動通信大會
中國5G商用四周年
2023年中國國際信息通信展覽會
CCTIME推薦
關(guān)于我們 | 廣告報價 | 聯(lián)系我們 | 隱私聲明 | 本站地圖
CCTIME飛象網(wǎng) CopyRight © 2007-2024 By CCTIME.COM
京ICP備08004280號-1  電信與信息服務業(yè)務經(jīng)營許可證080234號 京公網(wǎng)安備110105000771號
公司名稱: 北京飛象互動文化傳媒有限公司
未經(jīng)書面許可,禁止轉(zhuǎn)載、摘編、復制、鏡像