通信世界網(wǎng)消息(CWW)近年來,無論是Client端PC、手機(jī),還是Server端DC,都隨著數(shù)據(jù)的爆炸而快速變化。然而,在這當(dāng)中,芯片、OS的核心基座作用卻從未改變。從PC時(shí)代的WinTel聯(lián)盟,到移動(dòng)互聯(lián)時(shí)代的Android、高通,從傳統(tǒng)DC的x86 、Linux,到云計(jì)算時(shí)代的Arm、云OS,二者相互依賴或同時(shí)升級亦或交叉演進(jìn),如影隨形。
今天,隨著AI大模型的到來,當(dāng)GPU、NPU,尤其是GPU逐漸占據(jù)上風(fēng)并挑戰(zhàn)了CPU的霸主存在時(shí),全新OS的出現(xiàn)成為必需又恰逢其時(shí)。4月16日,在Create 2024 百度AI開發(fā)者大會(huì)上,百度集團(tuán)執(zhí)行副總裁、百度智能云事業(yè)群總裁沈抖正式發(fā)布新一代智能計(jì)算操作系統(tǒng)——萬源。
“傳統(tǒng)的云計(jì)算系統(tǒng)依然重要,但不再是主角,我們需要一個(gè)全新的操作系統(tǒng),對新的計(jì)算平臺,也就是智能計(jì)算做好抽象和封裝,重新定義人機(jī)交互,為開發(fā)者提供更簡單、更流暢的開發(fā)體驗(yàn)?!鄙蚨度缡钦f。
(百度集團(tuán)執(zhí)行副總裁、百度智能云事業(yè)群總裁沈抖)
在沈抖看來,隨著大模型技術(shù)的不斷演進(jìn),通過自然語言進(jìn)行編程正在成為現(xiàn)實(shí)。編程將不再面向過程或者面向?qū)ο?,而是面向需求;編程的過程將成為開發(fā)者表達(dá)愿望的過程,并為操作系統(tǒng)帶來革命性的變化。在操作系統(tǒng)的內(nèi)核中,底層硬件從以CPU算力為主變成以GPU算力為主,并且新增了被大模型壓縮的世界知識。操作系統(tǒng)管理的對象發(fā)生了本質(zhì)的變化,從管理進(jìn)程、管理微服務(wù),進(jìn)化為管理智能。
確實(shí),百度對“萬源”定位是清晰精準(zhǔn)的,底層對象是GPU,產(chǎn)品內(nèi)核在資源管理上從管理進(jìn)程、管理微服務(wù),變成了管理智能,新增了被大模型壓縮的世界知識,部署在服務(wù)端,重新定義人機(jī)交互,面向開發(fā)者提供更簡便流暢的環(huán)境和接口。
“萬源”極其重視開發(fā)者生態(tài)的培育,百度集團(tuán)副總裁侯震宇在接受媒體采訪時(shí)解釋說到,操作系統(tǒng)的成功不只是技術(shù)上的成功,十幾年前在智能手機(jī)剛出來的時(shí)候,不只有安卓,大批的Symbian OS、BlackBerry OS,甚至是Windows 移動(dòng)端OS出現(xiàn),但最后只有Android贏得勝利,“得開發(fā)者得天下”。
(百度集團(tuán)副總裁侯震宇)
而無論百度如何定義自已的“萬源”,對底層資源的管理分配調(diào)度,還是對上層應(yīng)用的完美支撐適配,以及生態(tài)的打造,歸根到底還得憑借強(qiáng)大的底層技術(shù),才能支撐起全新的智能計(jì)算的“大廈”。
底座強(qiáng)則萬物孕育,花開葉茂。侯震宇帶我們一道,揭開了“萬源”的三層架構(gòu),以及“萬源”如何攻克“一云多芯”難題的背后技術(shù)硬核。
“萬源”三層架構(gòu)
在了解“萬源”技術(shù)實(shí)力之前,我們有必要先來了解下它的三層架構(gòu)。
據(jù)了解,百度智能云全新推出的“萬源”智能計(jì)算操作系統(tǒng)主要由Kernel(內(nèi)核)、Shell(外殼)、Toolkit(工具)三層構(gòu)成,底層屏蔽掉云原生系統(tǒng)與異構(gòu)算力的復(fù)雜性,上層則為AI原生應(yīng)用的敏捷開發(fā)提供支撐與保障。
(萬源架構(gòu)圖)
首先,在內(nèi)核層,在算力資源管理方面,百度百舸·AI異構(gòu)計(jì)算平臺針對大模型訓(xùn)練、推理等任務(wù),對智算集群的設(shè)計(jì)、調(diào)度、容錯(cuò)等環(huán)節(jié)進(jìn)行了專項(xiàng)優(yōu)化。目前,百舸能夠?qū)崿F(xiàn)萬卡集群上的模型有效訓(xùn)練時(shí)長占比超過98.8%,線性加速比、帶寬有效性分別高達(dá)95%,算力效能業(yè)界領(lǐng)先。
此外,百舸還兼容昆侖芯、昇騰、海光DCU、英偉達(dá)、英特爾等國內(nèi)外主流AI芯片,支持用戶以最小代價(jià)完成算力適配。
萬源內(nèi)核中的另一個(gè)重要組成部分是大模型。大模型能夠?qū)⒕蘖康氖澜缰R進(jìn)行高效壓縮,并將自然語言的理解、生成、邏輯、記憶能力進(jìn)行封裝。目前,萬源內(nèi)核中既包含了業(yè)界領(lǐng)先的ERNIE 4.0、ERNIE 3.5大語言模型,也包括ERNIE Speed/Lite/Tiny等輕量級模型、文心視覺大模型和各具特色的第三方大模型。它們壓縮并封裝了龐大的世界知識,是更上層運(yùn)行簡單接口和 AI 原生應(yīng)用的能力源泉。
在內(nèi)核層之上是Shell層,通過百度智能云千帆ModelBuilder解決內(nèi)核中模型的管理、調(diào)度、二次開發(fā)等問題,屏蔽掉模型開發(fā)的復(fù)雜性,幫助更多人只投入少量的數(shù)據(jù)、資源和精力,就能快速精調(diào)出適合自己業(yè)務(wù)的模型。同時(shí),在實(shí)際應(yīng)用中,千帆ModelBuidler提供的模型路由服務(wù),能夠自動(dòng)為不同難度的任務(wù)選擇合適參數(shù)規(guī)模的模型,給出平衡效果與成本的最優(yōu)模型組合。經(jīng)測算,在模型效果基本持平的情況下,模型路由平均降低推理成本多達(dá)30%!
據(jù)了解,千帆大模型平臺不僅支持百度自研的文心大模型系列,而且支持BLOOM、Llama2等60+國內(nèi)外第三方大模型的開發(fā)及應(yīng)用,模型數(shù)量國內(nèi)第一。
在Shell層之上,千帆AppBuilder和AgentBuilder共同構(gòu)成了工具層,為開發(fā)者提供強(qiáng)大的AI原生應(yīng)用開發(fā)能力。尤其是千帆AppBuilder提供的工作流編排功能,支持開發(fā)者使用預(yù)置的模板和組件,輕松定制自己的業(yè)務(wù)流程,還能夠集成、擴(kuò)建自己的特色組件,在不同節(jié)點(diǎn)上選用適合的模型,通過靈活的編排實(shí)現(xiàn)業(yè)務(wù)邏輯。
目前,千帆大模型平臺已經(jīng)服務(wù)了 8.5 萬家企業(yè)客戶,并累計(jì)精調(diào)超過 1.4 萬個(gè)模型。AI 原生應(yīng)用開發(fā)平臺千帆 AppBuilder 全面開放服務(wù),讓人人都能自己開發(fā)。目前已經(jīng)有 8100 家伙伴通過該平臺開發(fā) AI 原生應(yīng)用。
在千帆AppBuilder上開發(fā)AI原生應(yīng)用的過程中,還可以直接調(diào)用通過千帆ModelBuilder精調(diào)過的模型,讓整個(gè)開發(fā)過程變得極為流暢和便捷。在應(yīng)用開發(fā)完成后,可以一鍵發(fā)布到百度搜索、微信公眾號等平臺,也可以通過API或SDK的方式直接集成到用戶自己的系統(tǒng)中,真正做到極速開發(fā)、輕松上市。
目前,Toolkit層工具組件擴(kuò)增至54個(gè),包括數(shù)十個(gè)大模型能力組件、AI能力組件以及百度自有的搜索組件等,為開發(fā)者提供了更加豐富、便捷的開發(fā)工具。
“我們把最底層的百舸大異構(gòu)的集群,在中間層內(nèi)嵌了百度文心一言大模型,當(dāng)然也支持包括國內(nèi)外其他78+大模型的千帆大模型平臺,特別是千帆的ModelBulider,共同構(gòu)成了一個(gè)內(nèi)核,由百舸、千帆發(fā)展成整個(gè)萬源操作系統(tǒng)?!焙钫鹩钫f道,它并不是說一蹴而就,而是我們過去這么多年工作以及多年幫助客戶解決問題積累出來的一個(gè)大型的操作系統(tǒng),萬源首先是面向公有云環(huán)境,把所有的東西幫助大家“屏蔽”掉,當(dāng)硬件和模型快速發(fā)展時(shí),我們有能力給開發(fā)者提供一個(gè)更加簡潔、方便的開發(fā)工具、開發(fā)語言,所以這時(shí)候“萬源”也就應(yīng)運(yùn)而生了。
侯震宇表示,希望在萬源的“黑土地”上能夠長出來更多的應(yīng)用,百度會(huì)自己做一些應(yīng)用,但不會(huì)和真正的、潛在的合作伙伴以及潛在客戶去搶應(yīng)用。就像蘋果,它會(huì)做一些它自己原生的應(yīng)用,但它不會(huì)去跟其它家做競爭。
一云多芯 攻克極難攻堅(jiān)的難題
在百度的解釋中,AI原生時(shí)代的全新操作系統(tǒng),需要管理萬卡規(guī)模的集群,極致發(fā)揮CPU、GPU性能 ,高速互聯(lián);需要強(qiáng)大的大模型(大語言模型、CV大模型)作為核心引擎;需要構(gòu)建強(qiáng)大的大模型服務(wù)能力,并提供模型精調(diào)、評估、部署、服務(wù)的工具鏈;需要有好用的應(yīng)用開發(fā)工具去做工作流編排、插件管理,簡化開發(fā)流程;同時(shí)保證安全和運(yùn)維,要隱藏掉上一代云原生系統(tǒng)的復(fù)雜性,加速AI原生應(yīng)用的爆發(fā)……
當(dāng)下,全球芯片供應(yīng)存在多種不確定性,導(dǎo)致多種算力芯片并存的格局。這對智算集群中模型推理和單一任務(wù)訓(xùn)練提出了挑戰(zhàn)。侯震宇介紹,相比模型推理,“一云多芯”在模型訓(xùn)練場景中是極難攻堅(jiān)的難題,主要包含兩類細(xì)分場景:
一是智算集群中存在多個(gè)訓(xùn)練任務(wù),單一廠商芯片只服務(wù)單一任務(wù);
二是在每個(gè)獨(dú)立的模型訓(xùn)練任務(wù)中同時(shí)使用不同廠商芯片。這就需要解決不同廠商芯片算力均勻切分、芯片間通信效率優(yōu)化等問題,難度極高。
image.png
(業(yè)界領(lǐng)先的單一任務(wù)一云多芯大模型訓(xùn)練解決方案)
目前,百舸已經(jīng)實(shí)現(xiàn)了單一訓(xùn)練任務(wù)下不同廠商芯片的混合訓(xùn)練,且百卡規(guī)模性能損失不超過3%,千卡規(guī)模性能損失不超過5%,業(yè)界領(lǐng)先。最大程度上屏蔽硬件之間差異,幫助用戶擺脫單一芯片的依賴,實(shí)現(xiàn)更優(yōu)成本,打造更具彈性的供應(yīng)鏈體系。
侯震宇分析說,“以CPU+GPU為代表的異構(gòu)計(jì)算正在成為主流,但大模型場景的異構(gòu)計(jì)算難度很高,不同的芯片之間很難互聯(lián),且不同芯片間沒法在同一張網(wǎng)里面跑同一個(gè)任務(wù)”這是之前大家一貫的觀點(diǎn)。因?yàn)榘俣韧度階I十幾年,我們的AI基礎(chǔ)設(shè)施積累的時(shí)間很長,所以在去年基本上就已經(jīng)攻克了這個(gè)問題,在今天把它公布出來。
這里面涉及到多個(gè)層次的問題。
第一步,需要能夠讓不同的芯片自身跑起來,百舸AI異構(gòu)計(jì)算平臺的線性加速比現(xiàn)在達(dá)到95%以上。這要?dú)w功于百度智能云面向 AI 計(jì)算推出的 AI 加速套件「AIAK」,它的核心是網(wǎng)絡(luò)通信加速。AI、大模型能夠跑到芯片上基本都是一些算子,每家芯片廠商的算子實(shí)現(xiàn),其實(shí)并不一樣,需要在整個(gè)框架層面上把底層通信和上層算子的優(yōu)化實(shí)現(xiàn)拆開,這樣各家芯片針對算子進(jìn)行優(yōu)化,百度在把底下的通訊庫做好,不管什么樣的芯片首先都能夠跑在百度的加速庫上。
據(jù)了解,算子是指支持DNN模型訓(xùn)練與推理的基本運(yùn)算單元及組合,比如conv2d,matmul。深度模型由pytorch,TF等上層框架表達(dá)實(shí)現(xiàn),一般人并不關(guān)心它們是如何由具體的硬件實(shí)現(xiàn)的。實(shí)際上,這些模型在硬件執(zhí)行前首先經(jīng)過圖級優(yōu)化,分解為一個(gè)個(gè)算子。算子如何適配具體芯片的特點(diǎn)需要針對硬件特性仔細(xì)安排。對于AI芯片公司來說,其芯片都有自己的硬件架構(gòu)和特性。因此為了讓DNN模型在自己芯片運(yùn)行和發(fā)揮最佳性能,就需要定制自己的算子庫。
第二步,基于第一步,把不同的芯片都混合在同樣的一張算力網(wǎng)里面,跑在同一個(gè)模型訓(xùn)練任務(wù)上。不同的芯片涉及不同的算力能力、性能,對通訊、存儲(chǔ)的要求以及最終的體驗(yàn)都不一樣。百度在整個(gè)的底層的百舸加速庫上,又做了并行框架的實(shí)現(xiàn)。百度自研的自適應(yīng)算法,可以根據(jù)當(dāng)下整個(gè)網(wǎng)絡(luò)里面各種芯片及配比的不同,來自動(dòng)實(shí)現(xiàn)TP(張量模型并行)、MP(模型并行)、PP(流水線并行)的不同的并行策略和參數(shù)設(shè)定。
侯震宇說到,這期間也遇到了一些非常細(xì)的和很難的技術(shù)問題。比如GPU卡間通信主要是用NVLink實(shí)現(xiàn),但是卡出了機(jī)器之后走的RDMA網(wǎng)絡(luò)或者IB網(wǎng)絡(luò)。Nvidia GPU和百度昆侖芯,可以通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議RDMA去實(shí)現(xiàn)?!暗恍┨厥獾男酒?,如昇騰把在網(wǎng)卡上實(shí)現(xiàn)的RDMA能力,集成到的芯片中,這就不是標(biāo)準(zhǔn)的網(wǎng)卡實(shí)現(xiàn),我們會(huì)把這一層‘屏蔽’掉,采用把它復(fù)制到CPU,用CPU來做轉(zhuǎn)發(fā)的實(shí)現(xiàn)策略?!?/p>
“單個(gè)任務(wù)能夠用不同的芯片實(shí)現(xiàn)是一種非常難的技術(shù),而這也是接下來多元芯片終將要面對的問題,我們已經(jīng)先把這個(gè)問題解決掉了”。侯震宇補(bǔ)充說道。
簡單來說,百卡和千卡規(guī)模性能損失低,得益于百舸在存儲(chǔ)方面支持了高性能分布式存儲(chǔ) PFS、以及萬卡級別的 RDMA 網(wǎng)絡(luò),前者顯著提升訓(xùn)練和推理過程中的 I/O 吞吐能力,后者有效降低網(wǎng)絡(luò)延遲。
破解技術(shù)難題,為開發(fā)者提供更簡單、更流暢的開發(fā)體驗(yàn)等,是“萬源”獲得客戶青睞的一大主要原因。正如沈抖所說,從內(nèi)核到Shell、再到應(yīng)用開發(fā)工具,萬源已經(jīng)實(shí)現(xiàn)了層與層的有機(jī)結(jié)合、端到端的效能優(yōu)化。過去一年多,在內(nèi)外部客戶的實(shí)際應(yīng)用中,不斷打磨、持續(xù)完善,“萬源”,已經(jīng)成為AI原生時(shí)代的智能計(jì)算操作系統(tǒng),為用戶提供極簡的開發(fā)體驗(yàn)、智能的系統(tǒng)內(nèi)核,和高效的異構(gòu)算力。
萬源的發(fā)布是一個(gè)起點(diǎn)。未來,百度智能云會(huì)進(jìn)一步開放操作系統(tǒng)層面的生態(tài)合作。向上,開放更多的能力和接口,開發(fā)者可以非常簡單地開發(fā)應(yīng)用。向左,企業(yè)可以用萬源做基礎(chǔ)、打造適合自己的垂直行業(yè)的操作系統(tǒng)。向右,可以把萬源直接部署在自己的智算中心,享受穩(wěn)定、安全、高效的智能計(jì)算平臺。向下,適配更多的芯片,為開發(fā)者進(jìn)一步隱去異構(gòu)集群的復(fù)雜性,讓不同的芯片都能發(fā)揮最大的效能。
從技術(shù)、功能、性能、產(chǎn)品、平臺,到系統(tǒng)定位、目標(biāo)受眾,再到商業(yè)和生態(tài)打造,萬源”已顛覆傳統(tǒng)云計(jì)算,并為開發(fā)者們創(chuàng)造更大的智能底座。
- QQ:61149512