AI 應(yīng)用性能優(yōu)化全景圖 原創(chuàng)
AI 應(yīng)用基于大模型的推理完成業(yè)務(wù)執(zhí)行,由于大模型計(jì)算資源消耗大且需要在 AI 應(yīng)用用客戶端進(jìn)行內(nèi)容的實(shí)時(shí)生成,性能優(yōu)化變得尤為關(guān)鍵。
AI 應(yīng)用推理效率提升不僅涉及底層硬件的優(yōu)化,還包括大模型層面以及各類軟件中間件的協(xié)同工作。因此,全面理解大模型的技術(shù)架構(gòu)對(duì)于評(píng)估和選擇推理性能優(yōu)化策略至關(guān)重要。
下面對(duì)這9個(gè)層性能優(yōu)化詳細(xì)剖析之。
1、硬件芯片層
芯片層構(gòu)成了計(jì)算系統(tǒng)的硬件基礎(chǔ),主要負(fù)責(zé)執(zhí)行基礎(chǔ)的算術(shù)和邏輯運(yùn)算,其架構(gòu)設(shè)計(jì)直接關(guān)系到計(jì)算密度、能效比以及并行處理能力。在國(guó)際市場(chǎng)上,NVIDIA 和 AMD 等公司是知名的 GPU 生產(chǎn)商,而 Groq 等企業(yè)專注于針對(duì) AI 推理任務(wù)的芯片性能優(yōu)化。在中國(guó),有阿里巴巴旗下的平頭哥半導(dǎo)體、華為的 AScend 系列、寒武紀(jì)科技,以及眾多創(chuàng)新型企業(yè),比如:摩爾線程、燧原科技、沐曦集成電路、壁仞科技等,它們都在積極開(kāi)發(fā)相關(guān)技術(shù)。
2、編程語(yǔ)言和芯片開(kāi)發(fā)包層
硬件編程的抽象層提供了接口,用以實(shí)現(xiàn)資源的高效分配和指令的有效映射,旨在平衡編程的便捷性和計(jì)算的高效率。比如:NVIDIA 的 CUDA、AMD 的 ROCm、平頭哥半導(dǎo)體的 HGAI、華為的 Ascend C、寒武紀(jì)的 BangC、摩爾線程的 MUSA、燧原科技的 Tops Riser、沐曦集成的 MXMACA 以及壁仞科技的 SUPA 等平臺(tái),不僅提供針對(duì)硬件優(yōu)化的編程語(yǔ)言,還配套提供了一系列開(kāi)發(fā)者工具,比如:庫(kù)、工具包和文檔等。
在這些平臺(tái)中,NVIDIA 的 CUDA 技術(shù)生態(tài)占據(jù)了主導(dǎo)地位,對(duì)開(kāi)發(fā)者來(lái)說(shuō),轉(zhuǎn)向其他編程語(yǔ)言可能會(huì)面臨較高的轉(zhuǎn)換成本。
3、大模型推理加速層
為了在推理階段提高計(jì)算效率和資源利用率,行業(yè)采取了編譯優(yōu)化、量化處理和批處理等技術(shù)手段來(lái)減少延遲和成本。這一領(lǐng)域的參與者包括眾多芯片制造商、云服務(wù)提供商、軟件公司、模型開(kāi)發(fā)社區(qū)以及科研機(jī)構(gòu),它們提供開(kāi)源解決方案和商業(yè)服務(wù),后端集成大型模型,并通過(guò)API提供調(diào)用服務(wù)。
推理加速的核心在于如何以最少的資源實(shí)現(xiàn)最高的性能,這就像是“顯存管理”與“算力優(yōu)化”的較量,能夠更高效利用資源的方案將勝出。目前業(yè)內(nèi)的主要方案包括:
- vLLM(Vectorized Large Language Model Inference):由加州大學(xué)伯克利分校的研究團(tuán)隊(duì)開(kāi)發(fā)的開(kāi)源大語(yǔ)言模型推理和服務(wù)框架,采用 PagedAttention 技術(shù)有效減少內(nèi)存碎片,提高內(nèi)存利用率,支持多種大語(yǔ)言模型,比如:通義、LLaMA 等,與 Hugging Face 生態(tài)系統(tǒng)集成良好,能夠直接加載 HF 上的模型權(quán)重。
- TensorRT-LLM:NVIDIA 基于 TensorRT 優(yōu)化的 LLM 開(kāi)源推理庫(kù),深度集成 NVIDIA GPU 硬件特性,比如:Tensor Core,可與 NVIDIA 其他工具和庫(kù)(比如:CUDA、cuBLAS 等)無(wú)縫配合,還可以與 Triton 框架結(jié)合,以提升服務(wù)在 NVIDIA GPU 上的推理效率。
- ONNX Runtime:微軟開(kāi)發(fā)并維護(hù)的輕量級(jí)、跨平臺(tái)的高性能推理引擎,旨在打破不同深度學(xué)習(xí)框架之間的壁壘,使得模型可以在多種環(huán)境中高效運(yùn)行,提高模型的可移植性和部署效率。
- TGI(Text Generation Inference):由 Hugging Face 團(tuán)隊(duì)開(kāi)發(fā),緊密集成 Hugging Face 的 Transformer 庫(kù),可輕松加載和使用 Hugging Face 上的眾多模型;支持分布式推理,可在多 GPU 環(huán)境下擴(kuò)展服務(wù)能力。
- Deepytorch Inference:阿里云 GPU 云服務(wù)器自研的 AI 推理加速器,專注于為 Torch 模型提供高性能的推理加速。通過(guò)對(duì)模型的計(jì)算圖進(jìn)行切割、執(zhí)行層融合以及高性能 OP 的實(shí)現(xiàn),大幅度提升 PyTorch 的推理性能。
- BladeLLM:阿里云人工智能平臺(tái) PAI 自研的為大語(yǔ)言模型優(yōu)化的推理引擎,在模型計(jì)算、生成引擎、服務(wù)框架、應(yīng)用場(chǎng)景層均作了提升,性能優(yōu)于主流開(kāi)源框架。
- SiliconLLM:硅基流動(dòng)科技推出的專注于大模型推理加速的框架,自主研發(fā)了高效的算子和調(diào)度策略,支持多種硬件平臺(tái),可與多種深度學(xué)習(xí)框架協(xié)同工作。
- TurboMind:上海人工智能實(shí)驗(yàn)室開(kāi)源,專為 LLaMA 系列大語(yǔ)言模型設(shè)計(jì)的推理加速引擎,支持動(dòng)態(tài)批處理、持續(xù)批處理(Continuous Batching)技術(shù)。
4、大模型層
國(guó)外一些主要的大語(yǔ)言模型(LLM)方案包括:OpenAI 的 GPT 系列、Google 的 Gemini、Meta 的 LLaMA、Anthropic 的 Claude、Mistral AI 以及 X 公司的 Grok。特別值得注意的是,Meta 的 LLaMA 和 Mistral AI 已經(jīng)將它們模型的核心能力進(jìn)行了開(kāi)源。其他大型模型也通過(guò)發(fā)布技術(shù)報(bào)告或部分開(kāi)源其能力,為社區(qū)做出了貢獻(xiàn)。
國(guó)內(nèi)主流的大語(yǔ)言模型方案有:阿里云的 Qwen、DeepSeek、百度的文心一言、字節(jié)跳動(dòng)的豆包、騰訊云的混元、科大訊飛的星火以及月之暗面科的 Kimi 等。其中,Qwen 和 DeepSeek 已經(jīng)開(kāi)源了它們模型的核心能力,其他模型也通過(guò)發(fā)布技術(shù)報(bào)告或部分開(kāi)源其能力,積極回饋社區(qū)。
開(kāi)源的大語(yǔ)言模型(LLM)不再僅僅是閉源模型的跟隨者,而是開(kāi)始引領(lǐng) AI 的發(fā)展方向。DeepSeek、Qwen 和 LLaMA 是目前在開(kāi)源領(lǐng)域處于領(lǐng)先地位的項(xiàng)目。
5、通用深度學(xué)習(xí)框架層
提供一整套基礎(chǔ)工具和功能,這些工具和功能極大地簡(jiǎn)化了大模型的開(kāi)發(fā)、訓(xùn)練和部署過(guò)程。訓(xùn)練的效果很大程度上取決于所使用的工具,其中 PyTorch 和 TensorFlow 是兩個(gè)最受歡迎的“頂級(jí)教練”。以下是一些主流的框架:
- PyTorch:由 Facebook AI Research 開(kāi)發(fā)和維護(hù)。它使用動(dòng)態(tài)計(jì)算圖技術(shù),允許在執(zhí)行過(guò)程中動(dòng)態(tài)地調(diào)整計(jì)算流程,與 Python 深度集成,提供直觀的 API 接口和靈活的編程體驗(yàn)。PyTorch 特別適合快速原型開(kāi)發(fā)、研究和實(shí)驗(yàn),尤其是在需要頻繁修改和迭代模型的場(chǎng)景中。
- TensorFlow:由谷歌基于 DistBelief 研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),支持 Python、JavaScript、C++ 和 Java 等多種編程語(yǔ)言。它廣泛應(yīng)用于語(yǔ)音識(shí)別、圖像識(shí)別等機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域,支持 CNN、RNN 和 LSTM 等算法。
- JAX:由谷歌開(kāi)發(fā),旨在為科研人員提供一個(gè)既能方便進(jìn)行算法實(shí)驗(yàn),又能充分利用硬件資源加速計(jì)算的工具,尤其在需要進(jìn)行自動(dòng)求導(dǎo)和并行計(jì)算的場(chǎng)景中表現(xiàn)出色。
- MindSpore:由華為開(kāi)源,是一種適用于端邊云場(chǎng)景的新型開(kāi)源深度學(xué)習(xí)訓(xùn)練/推理框架,為 Ascend AI 處理器提供原生支持,以及軟硬件協(xié)同優(yōu)化。
- PaddlePaddle:由百度開(kāi)源,支持多種深度學(xué)習(xí)模型的高效訓(xùn)練,能在多 GPU 和多節(jié)點(diǎn)環(huán)境下分布式訓(xùn)練,優(yōu)化計(jì)算資源使用效率。
- MXNet:由 Carlos Guestrin 在華盛頓大學(xué)共同開(kāi)發(fā),是亞馬遜云計(jì)算服務(wù)的首選深度學(xué)習(xí)框架,支持 C++、Python、Java、Julia、MATLAB、JavaScript、Go、R、Scala 等多種編程語(yǔ)言。
- Caffe:由伯克利人工智能研究小組和伯克利視覺(jué)和學(xué)習(xí)中心開(kāi)發(fā),內(nèi)核用 C++ 編寫(xiě),有 Python 和 Matlab 相關(guān)接口。以模塊化原則設(shè)計(jì),實(shí)現(xiàn)了對(duì)新的數(shù)據(jù)格式、網(wǎng)絡(luò)層和損失函數(shù)的輕松擴(kuò)展。
6、計(jì)算平臺(tái)層
在計(jì)算平臺(tái)層面,由于對(duì) GPU 計(jì)算資源的依賴,國(guó)內(nèi)市場(chǎng)主要由公共云服務(wù)提供商占據(jù)主導(dǎo)地位,比如:阿里云的 AI 計(jì)算平臺(tái) PAI、百煉、提供無(wú)服務(wù)器 GPU 計(jì)算能力的函數(shù)計(jì)算 FC、容器計(jì)算服務(wù) ACS 以及 GPU 服務(wù)器等。而在國(guó)際市場(chǎng)上,由于不受美國(guó)出口管制政策的限制,加之大模型技術(shù)生態(tài)系統(tǒng)更加成熟,供應(yīng)商的種類和數(shù)量更為豐富。除了公共云服務(wù)提供商所提供的計(jì)算能力外,芯片制造商和軟件開(kāi)發(fā)商也紛紛進(jìn)入市場(chǎng),提供推理計(jì)算服務(wù),比如:Groq、together.io、Fireworks.ai 等公司。
隨著國(guó)內(nèi)自主研發(fā)的 GPU 和 AI 芯片性能的不斷提升,預(yù)計(jì)國(guó)內(nèi)供應(yīng)商將逐漸增多,他們將提供更多樣化的推理計(jì)算服務(wù),進(jìn)一步豐富和完善大型模型的產(chǎn)品供應(yīng)鏈。
7、應(yīng)用編排層
大模型的應(yīng)用編排層是實(shí)現(xiàn)大模型在產(chǎn)業(yè)中落地的關(guān)鍵中間層,它充當(dāng)著連接大模型能力和業(yè)務(wù)場(chǎng)景的“橋梁”,主要用于整合模型、工具、數(shù)據(jù)和服務(wù),實(shí)現(xiàn)復(fù)雜 AI 任務(wù)的自動(dòng)化流程構(gòu)建與執(zhí)行,從而提升生成效果。
LangChain:這是一個(gè)由 Harrison Chase 在2022年創(chuàng)建的開(kāi)源項(xiàng)目,通過(guò) Chain(鏈)、Agent(代理)、Memory(記憶)三大組件,可以像搭建樂(lè)高積木一樣組合工具鏈,支持包括 OpenAI 在內(nèi)的30多個(gè)模型 API,集成了 Wikipedia、Wolfram Alpha等200多個(gè)外部服務(wù),并內(nèi)置了 Chroma/Pinecone 等向量數(shù)據(jù)庫(kù)接口,實(shí)現(xiàn)知識(shí)庫(kù)的實(shí)時(shí)檢索增強(qiáng)。
LlamaIndex:專注于數(shù)據(jù)處理和索引構(gòu)建,適用于需要對(duì)大量數(shù)據(jù)進(jìn)行有效管理和利用的場(chǎng)景,特別是當(dāng)你希望 LLM 能夠基于特定領(lǐng)域的知識(shí)進(jìn)行回答時(shí)。
以上兩個(gè)開(kāi)源項(xiàng)目特別適合 Python 開(kāi)發(fā)者使用。
Spring AI Alibaba:這是專為 Spring 和 Java 開(kāi)發(fā)者設(shè)計(jì)的智能體開(kāi)發(fā)框架,對(duì) AI 智能體應(yīng)用的通用開(kāi)發(fā)范式進(jìn)行了很好的抽象,從原子能力層次,比如:對(duì)話模型接入、提示詞模板到函數(shù)調(diào)用,再到高層次抽象,比如:智能體編排、對(duì)話記憶,并與國(guó)內(nèi)大模型進(jìn)行了深度適配,還提供了應(yīng)用從部署到運(yùn)維的最佳實(shí)踐,包括網(wǎng)關(guān)、配置管理、部署、可觀測(cè)等。
以上三個(gè)開(kāi)源項(xiàng)目都是代碼級(jí)編程框架,具有很高的自由度。
Dify:這是一個(gè)開(kāi)源的 LLM 應(yīng)用開(kāi)發(fā)平臺(tái),提供從 Agent 構(gòu)建到 AI workflow 編排、RAG 檢索、模型管理等能力,可以輕松構(gòu)建和運(yùn)營(yíng)生成式 AI 原生應(yīng)用。
阿里云百煉:這是一個(gè)一站式的大模型開(kāi)發(fā)及應(yīng)用構(gòu)建平臺(tái)。無(wú)論是開(kāi)發(fā)者還是業(yè)務(wù)人員,都能深入?yún)⑴c大模型應(yīng)用的設(shè)計(jì)和構(gòu)建。無(wú)需編寫(xiě)代碼,通過(guò)簡(jiǎn)單的界面操作,就可以開(kāi)發(fā) AI 應(yīng)用。
此外,還可以使用云原生應(yīng)用開(kāi)發(fā)平臺(tái) CAP +函數(shù)計(jì)算 FC,以 Serverless 的方式,調(diào)用算力資源和編排 AI 應(yīng)用。
以上三個(gè)是低代碼平臺(tái),使用門(mén)檻更低,其中,百煉和云原生應(yīng)用開(kāi)發(fā)平臺(tái) CAP +函數(shù)計(jì)算 FC,提供了推理的算力支持。
8、流量管理層
大模型的流量管理層是大模型服務(wù)化部署中的關(guān)鍵組件,主要負(fù)責(zé)處理流量、服務(wù)、安全和 API 管理,確保大模型服務(wù)在高負(fù)載情況下仍能保持穩(wěn)定且響應(yīng)迅速。過(guò)去,國(guó)內(nèi)對(duì)大模型的需求主要集中在訓(xùn)練階段,對(duì)流量管理的需求并不強(qiáng)烈。然而,隨著推理需求的快速增長(zhǎng),流量管理正逐漸成為類似 Web 應(yīng)用架構(gòu)中不可或缺的一部分。
與 Web 應(yīng)用不同,大模型應(yīng)用在流量、服務(wù)、安全和 API 管理方面展現(xiàn)出新的特點(diǎn),并提出了新的需求:
- 長(zhǎng)連接:由于 AI 場(chǎng)景中常見(jiàn)的 Websocket 和 SSE 協(xié)議,長(zhǎng)連接的比例很高,要求網(wǎng)關(guān)在更新配置時(shí)對(duì)長(zhǎng)連接無(wú)影響,不影響業(yè)務(wù)。
- 高延時(shí):LLM 推理的響應(yīng)延時(shí)比普通應(yīng)用要高很多,使得 AI 應(yīng)用容易受到惡意攻擊,容易被構(gòu)造慢請(qǐng)求進(jìn)行異步并發(fā)攻擊,攻擊者成本低,但服務(wù)端開(kāi)銷高。
- 大帶寬:結(jié)合 LLM 上下文來(lái)回傳輸,以及高延時(shí)的特性,AI 場(chǎng)景對(duì)帶寬的消耗遠(yuǎn)超普通應(yīng)用,網(wǎng)關(guān)如果沒(méi)有實(shí)現(xiàn)較好的流式處理能力和內(nèi)存回收機(jī)制,容易導(dǎo)致內(nèi)存快速上漲。
針對(duì)這些新特點(diǎn)和需求,傳統(tǒng)的 Nginx 網(wǎng)關(guān)已經(jīng)無(wú)法應(yīng)對(duì),因此國(guó)內(nèi)外均出現(xiàn)了大量基于 Envoy 內(nèi)核的新一代開(kāi)源網(wǎng)關(guān)。
- Higress:基于 Istio 和 Envoy 內(nèi)核,并針對(duì)生產(chǎn)業(yè)務(wù)需求進(jìn)行了增強(qiáng),可用于部署 Web 類應(yīng)用和大模型應(yīng)用。在 AI 領(lǐng)域,已經(jīng)支撐了通義千問(wèn) APP、百煉大模型 API、機(jī)器學(xué)習(xí) PAI 平臺(tái)、FastGPT、中華財(cái)險(xiǎn)等 AI 業(yè)務(wù)。
- Kong AI Gateway:基于 Kong 的插件架構(gòu),具有很強(qiáng)的可擴(kuò)展性。開(kāi)發(fā)者可以根據(jù)自己的需求開(kāi)發(fā)自定義插件,以實(shí)現(xiàn)特定的功能,比如:自定義的流量控制策略、數(shù)據(jù)轉(zhuǎn)換、模型框架的調(diào)度等。
- 阿里云云原生 API 網(wǎng)關(guān):提供大模型相關(guān) API 的全生命周期管理,與阿里云其他云產(chǎn)品集成體驗(yàn)好,比如:PAI、函數(shù)計(jì)算等,同時(shí)基于 Higress 提供了諸多開(kāi)源增強(qiáng)能力。
9、業(yè)務(wù)邏輯實(shí)施層
大模型應(yīng)用的業(yè)務(wù)邏輯實(shí)施層也非常關(guān)鍵。這一層需要具備行業(yè)專業(yè)知識(shí),或具備大模型基礎(chǔ)設(shè)施專業(yè)知識(shí),他們充分利用開(kāi)源大模型、開(kāi)源中間件,并結(jié)合各自的技術(shù)積累,提供集成、線下部署等多元化服務(wù),是大模型技術(shù)和應(yīng)用生態(tài)的重要組成部分。由于相對(duì)個(gè)性化和業(yè)務(wù)強(qiáng)定制,供應(yīng)方也比較多,這里不再一一列舉。
?? 輪到你了:你認(rèn)為 AI 應(yīng)用性能優(yōu)化還有哪些注意點(diǎn)?
本文轉(zhuǎn)載自??玄姐聊AGI?? 作者:玄姐
