在某三甲醫(yī)院的門診中,匯集了來自各地的病患,醫(yī)生們正在以最專業(yè)的能力和最快的速度進(jìn)行會診。期間,醫(yī)生與患者的對話可以通過語音識別技術(shù)被錄入到病例系統(tǒng)中,隨后大模型 AI 推理技術(shù)輔助進(jìn)行智能總結(jié)和診斷,醫(yī)生們撰寫病例的效率顯著提高。AI 推理的應(yīng)用不僅節(jié)省了時間,也保護(hù)了患者隱私;
在法院、律所等業(yè)務(wù)場景中,律師通過大模型對海量歷史案例進(jìn)行整理調(diào)查,并鎖定出擬定法律文件中可能存在的漏洞;
……
以上場景中的大模型應(yīng)用,幾乎都有一個共同的特點——受行業(yè)屬性限制,在應(yīng)用大模型時,除了對算力的高要求,AI 訓(xùn)練過程中經(jīng)常出現(xiàn)的壞卡問題也是這些行業(yè)不允許出現(xiàn)的。同時,為確保服務(wù)效率和隱私安全,他們一般需要將模型部署在本地,且非?粗赜布然A(chǔ)設(shè)施層的穩(wěn)定性和可靠性。一個中等參數(shù)或者輕量參數(shù)的模型,加上精調(diào)就可以滿足他們的場景需求。
而在大模型技術(shù)落地過程中,上述需求其實不在少數(shù),基于 CPU 的推理方案無疑是一種更具性價比的選擇。不僅能夠滿足其業(yè)務(wù)需求,還能有效控制成本、保證系統(tǒng)的穩(wěn)定性和數(shù)據(jù)的安全性。但這也就愈發(fā)讓我們好奇,作為通用服務(wù)器,CPU 在 AI 時代可以發(fā)揮怎樣的優(yōu)勢?其背后的技術(shù)原理又是什么?
1、AI 時代,CPU 是否已被被邊緣化?
提起 AI 訓(xùn)練和 AI 推理,大家普遍會想到 GPU 更擅長處理大量并行任務(wù),在執(zhí)行計算密集型任務(wù)時表現(xiàn)地更出色,卻忽視了 CPU 在這其中的價值。
AI 技術(shù)的不斷演進(jìn)——從深度神經(jīng)網(wǎng)絡(luò)(DNN)到 Transformer 大模型,對硬件的要求產(chǎn)生了顯著變化。CPU 不僅沒有被邊緣化,反而持續(xù)升級以適應(yīng)這些變化,并做出了重要改變。
AI 大模型也不是只有推理和訓(xùn)練的單一任務(wù),還包括數(shù)據(jù)預(yù)處理、模型訓(xùn)練、推理和后處理等,整個過程中需要非常多軟硬件及系統(tǒng)的配合。在 GPU 興起并廣泛應(yīng)用于 AI 領(lǐng)域之前,CPU 就已經(jīng)作為執(zhí)行 AI 推理任務(wù)的主要硬件在被廣泛使用。其作為通用處理器發(fā)揮著非常大的作用,整個系統(tǒng)的調(diào)度、任何負(fù)載的高效運(yùn)行都離不開它的協(xié)同優(yōu)化。
此外,CPU 的單核性能非常強(qiáng)大,可以處理復(fù)雜的計算任務(wù),其核心數(shù)量也在不斷增加,而且 CPU 的內(nèi)存容量遠(yuǎn)大于 GPU 的顯存容量,這些優(yōu)勢使得 CPU 能夠有效運(yùn)行生成式大模型任務(wù)。經(jīng)過優(yōu)化的大模型可以在 CPU 上高效執(zhí)行,特別是當(dāng)模型非常大,需要跨異構(gòu)平臺計算時,使用 CPU 反而能提供更快的速度和更高的效率。
而 AI 推理過程中兩個重要階段的需求,即在預(yù)填充階段,需要高算力的矩陣乘法運(yùn)算部件;在解碼階段,尤其是小批量請求時,需要更高的內(nèi)存訪問帶寬。這些需求 CPU 都可以很好地滿足。
以英特爾舉例,從 2017 年第一代至強(qiáng) 可擴(kuò)展處理器開始就利用英特爾 AVX-512 技術(shù)的矢量運(yùn)算能力進(jìn)行 AI 加速上的嘗試;再接著第二代至強(qiáng) 中導(dǎo)入深度學(xué)習(xí)加速技術(shù)(DL Boost);第三代到第五代至強(qiáng) 的演進(jìn)中,從 BF16 的增添再到英特爾 AMX 的入駐,可以說英特爾一直在充分利用 CPU 資源加速 AI 的道路上深耕。
在英特爾 AMX 大幅提升矩陣計算能力外,第五代至強(qiáng) 可擴(kuò)展處理器還增加了每個時鐘周期的指令,有效提升了內(nèi)存帶寬與速度,并通過 PCIe 5.0 實現(xiàn)了更高的 PCIe 帶寬提升。在幾個時鐘的周期內(nèi),一條微指令就可以把一個 16×16 的矩陣計算一次性計算出來。另外,至強(qiáng) 可擴(kuò)展處理器可支持 High Bandwidth Memory (HBM) 內(nèi)存,和 DDR5 相比,其具有更多的訪存通道和更長的讀取位寬。雖然 HBM 的容量相對較小,但足以支撐大多數(shù)的大模型推理任務(wù)。
可以明確的是,AI 技術(shù)的演進(jìn)還遠(yuǎn)未停止,當(dāng)前以消耗大量算力為前提的模型結(jié)構(gòu)也可能會發(fā)生改變,但 CPU 作為計算機(jī)系統(tǒng)的核心,其價值始終是難以被替代的。
同時,AI 應(yīng)用的需求是多樣化的,不同的應(yīng)用場景需要不同的計算資源和優(yōu)化策略。因此比起相互替代,CPU 和其他加速器之間的互補(bǔ)關(guān)系才是它們在 AI 市場中共同發(fā)展的長久之道。
2、與其算力焦慮,不如關(guān)注效價比
隨著人工智能技術(shù)在各個領(lǐng)域的廣泛應(yīng)用,AI 推理成為了推動技術(shù)進(jìn)步的關(guān)鍵因素。然而,隨著通用大模型參數(shù)和 Token 數(shù)量不斷增加,模型單次推理所需的算力也在持續(xù)增加,企業(yè)的算力焦慮撲面而來。與其關(guān)注無法短時間達(dá)到的算力規(guī)模,不如聚焦在“效價比”,即綜合考量大模型訓(xùn)練和推理過程中所需軟硬件的經(jīng)濟(jì)投入成本、使用效果和產(chǎn)品性能。
CPU 不僅是企業(yè)解決 AI 算力焦慮過程中的重要選項,更是企業(yè)追求“效價比”的優(yōu)眩在大模型技術(shù)落地的“效價比”探索層面上,百度智能云和英特爾也不謀而合。
百度智能云千帆大模型平臺(下文簡稱“千帆大模型平臺”)作為一個面向開發(fā)者和企業(yè)的人工智能服務(wù)平臺,提供了豐富的大模型,對大模型的推理及部署服務(wù)優(yōu)化積攢了很多作為開發(fā)平臺的經(jīng)驗,他們發(fā)現(xiàn),CPU 的 AI 算力潛力將有助于提升 CPU 云服務(wù)器的資源利用率,能夠滿足用戶快速部署 LLM 模型的需求,同時還發(fā)現(xiàn)了許多很適合 CPU 的使用場景:
●SFT 長尾模型:每個模型的調(diào)用相對稀疏,CPU 的靈活性和通用性得以充分發(fā)揮,能夠輕松管理和調(diào)度這些模型,確保每個模型在需要時都能快速響應(yīng)。
●小于 10b 的小參數(shù)規(guī)模大模型:由于模型規(guī)模相對較小,CPU 能夠提供足夠的計算能力,同時保持較低的能耗和成本。
●對首 Token 時延不敏感,更注重整體吞吐的離線批量推理場景:這類場景通常要求系統(tǒng)能夠高效處理大量的數(shù)據(jù),而 CPU 的強(qiáng)大計算能力和高吞吐量特性可以很好地滿足要求,能夠確保推理任務(wù)的快速完成。
英特爾的測試數(shù)據(jù)也驗證了千帆大模型平臺團(tuán)隊的發(fā)現(xiàn),其通過測試證明,單臺雙路 CPU 服務(wù)器完全可以輕松勝任幾 B 到幾十 B 參數(shù)的大模型推理任務(wù),Token 生成延時完全能夠達(dá)到數(shù)十毫秒的業(yè)務(wù)需求指標(biāo),而針對更大規(guī)模參數(shù)的模型,例如常用的 Llama 2-70B,CPU 同樣可以通過分布式推理方式來支持。此外,批量處理任務(wù)在 CPU 集群的閑時進(jìn)行,忙時可以處理其他任務(wù),而無需維護(hù)代價高昂的 GPU 集群,這將極大節(jié)省企業(yè)的經(jīng)濟(jì)成本。
也正是出于在“CPU 上跑 AI”的共識,雙方展開了業(yè)務(wù)上的深度合作。百度智能云千帆大模型平臺采基于英特爾 AMX 加速器和大模型推理軟件解決方案 xFasterTransformer (xFT),進(jìn)步加速英特爾 至強(qiáng) 可擴(kuò)展處理器的 LLM 推理速度。
3、將 CPU 在 AI 方面的潛能發(fā)揮到極致
為了充分發(fā)揮 CPU 在 AI 推理方面的極限潛能,需要從兩個方面進(jìn)行技術(shù)探索硬件層面的升級和軟件層面的優(yōu)化適配。
千帆大模型平臺采用 xFT,主要進(jìn)行了以下三方面的優(yōu)化:
●系統(tǒng)層面:利用英特爾 AMX/AVX512 等硬件特性,高效快速地完成矩陣 / 向量計算;優(yōu)化實現(xiàn)針對超長上下文和輸出的 Flash Attention/Flash Decoding 等核心算子,降低數(shù)據(jù)類型轉(zhuǎn)換和數(shù)據(jù)重排布等開銷;統(tǒng)一內(nèi)存分配管理,降低推理任務(wù)的內(nèi)存占用。
●算法層面:在精度滿足任務(wù)需求的條件下,提供多種針對網(wǎng)絡(luò)激活層以及模型權(quán)重的低精度和量化方法,大幅度降低訪存數(shù)據(jù)量的同時,充分發(fā)揮出英特爾 AMX 等加速部件對 BF16/INT8 等低精度數(shù)據(jù)計算的計算能力。
●多節(jié)點并行:支持張量并行(Tensor Parallelism)等對模型權(quán)重進(jìn)行切分的并行推理部署。使用異構(gòu)集合通信的方式提高通信效率,進(jìn)一步降低 70b 規(guī)模及以上 LLM 推理時延,提高較大批處理請求的吞吐。
第五代至強(qiáng) 可擴(kuò)展處理器能在 AI 推理上能夠取得如此亮眼的效果,同樣離不開軟件層面的優(yōu)化適配。為了解決 CPU 推理性能問題,這就不得不提 xFT 開源推理框架了。
xFT 底層適用英特爾 AI 軟件棧,包括 oneDNN、oneMKL、IG、oneCCL 等高性能庫。用戶可以調(diào)用和組裝這些高性能庫,形成大模型推理的關(guān)鍵算子,并簡單組合算子來支持 Llama、文心一言等大模型。同時,xFT 最上層提供 C++ 和 Python 兩套便利接口,很容易集成到現(xiàn)有框架或服務(wù)后端。
xFT 采用了多種優(yōu)化策略來提升推理效率,其中包括張量并行和流水線并行技術(shù),這兩種技術(shù)能夠顯著提高并行處理的能力。通過高性能融合算子和先進(jìn)的量化技術(shù),其在保持精度的同時提高推理速度。此外,通過低精度量化和稀疏化技術(shù),xFT 有效地降低了對內(nèi)存帶寬的需求,在推理速度和準(zhǔn)確度之間取得平衡,支持多種數(shù)據(jù)類型來實現(xiàn)模型推理和部署,包括單一精度和混合精度,可充分利用 CPU 的計算資源和帶寬資源來提高 LLM 的推理速度。
另外值得一提的是,xFT 通過“算子融合”、“最小化數(shù)據(jù)拷貝”、“重排操作”和“內(nèi)存重復(fù)利用”等手段來進(jìn)一步優(yōu)化 LLM 的實現(xiàn),這些優(yōu)化策略能夠最大限度地減少內(nèi)存占用、提高緩存命中率并提升整體性能。通過仔細(xì)分析 LLM 的工作流程并減少不必要的計算開銷,該引擎進(jìn)一步提高了數(shù)據(jù)重用度和計算效率,特別是在處理 Attention 機(jī)制時,針對不同長度的序列采取了不同的優(yōu)化算法來確保最高的訪存效率。
目前,英特爾的大模型加速方案 xFT 已經(jīng)成功集成到千帆大模型平臺中,這項合作使得在千帆大模型平臺上部署的多個開源大模型能夠在英特爾至強(qiáng) 可擴(kuò)展處理器上獲得最優(yōu)的推理性能:
●在線服務(wù)部署:用戶可以利用千帆大模型平臺的 CPU 資源在線部署多個開源大模型服務(wù),這些服務(wù)不僅為客戶應(yīng)用提供了強(qiáng)大的大模型支持,還能夠用于千帆大模型平臺 prompt 優(yōu)化工程等相關(guān)任務(wù)場景。
●高性能推理:借助英特爾 至強(qiáng) 可擴(kuò)展處理器和 xFT 推理解決方案,千帆大模型平臺能夠?qū)崿F(xiàn)大幅提升的推理性能。這包括降低推理時延,提高服務(wù)響應(yīng)速度,以及增強(qiáng)模型的整體吞吐能力。
●定制化部署:千帆大模型平臺提供了靈活的部署選項,允許用戶根據(jù)具體業(yè)務(wù)需求選擇最適合的硬件資源配置,從而優(yōu)化大模型在實際應(yīng)用中的表現(xiàn)和效果。
4、寫在最后
對于千帆大模型平臺來說,英特爾幫助其解決了客戶在大模型應(yīng)用過程中對計算資源的需求,進(jìn)一步提升了大模型的性能和效率,讓用戶以更低的成本獲取高質(zhì)量的大模型服務(wù)。
大模型生態(tài)要想持續(xù)不斷地往前演進(jìn),無疑要靠一個個實打?qū)嵉男I(yè)務(wù)落地把整個生態(tài)構(gòu)建起來,英特爾聯(lián)合千帆大模型平臺正是在幫助企業(yè)以最少的成本落地大模型應(yīng)用,讓他們在探索大模型應(yīng)用時找到了更具效價比的選項。
未來,雙方計劃在更高性能的至強(qiáng) 產(chǎn)品支持、軟件優(yōu)化、更多模型支持以及重點客戶聯(lián)合支持等方面展開深入合作。旨在提升大模型運(yùn)行效率和性能,為千帆大模型平臺提供更完善的軟件支持,確保用戶能及時利用最新的技術(shù)成果,從而加速大模型生態(tài)持續(xù)向前。
更多關(guān)于至強(qiáng) 可擴(kuò)展處理器為千帆大模型平臺推理加速的信息,請點擊英特爾官網(wǎng)查閱。