產(chǎn)推理算力如何突破AI4S瓶頸:浙大與曦望的聯(lián)合攻關(guān)與生態(tài)共建)
1. 從科研痛點(diǎn)切入為什么 AI4S 會(huì)卡在推理這一環(huán)這兩年 AI4SAI for Science成了科研圈的高頻詞從蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)到材料篩選、從流體仿真到基因調(diào)控AI 模型正在把傳統(tǒng)“實(shí)驗(yàn)試錯(cuò)”的科研范式改成“先算后驗(yàn)”。但真做過 AI4S 項(xiàng)目的人心里都清楚訓(xùn)練出一個(gè)好模型只是萬里長(zhǎng)征第一步真正讓人頭疼的是推理階段——模型訓(xùn)練完了要反復(fù)跑推理、做參數(shù)掃描、做不確定性分析、在不同數(shù)據(jù)子集上做驗(yàn)證每一步都在燒算力。而且科學(xué)計(jì)算場(chǎng)景對(duì)推理的要求跟互聯(lián)網(wǎng)場(chǎng)景完全不同不是簡(jiǎn)單返回一個(gè)結(jié)果就完事而是要追精度、追吞吐、追長(zhǎng)時(shí)間穩(wěn)定運(yùn)行。我在實(shí)際項(xiàng)目里碰到過這種情況一個(gè)分子動(dòng)力學(xué)模型訓(xùn)練只花了三天但后續(xù)做全參數(shù)空間的推理掃描跑了整整兩周還看不到頭。訓(xùn)練時(shí)可以靠大規(guī)模并行堆卡推理階段卻經(jīng)常面臨單卡算力不足、顯存帶寬受限、框架適配不到位這些尷尬問題。更麻煩的是很多科學(xué)計(jì)算代碼依賴特定的數(shù)值庫(kù)和通信庫(kù)商用加速卡雖然性能強(qiáng)但在某些國(guó)產(chǎn)科研軟件棧上反而適配成本高。這也解釋了為什么“國(guó)產(chǎn)推理算力”會(huì)成為 AI4S 領(lǐng)域的焦點(diǎn)。訓(xùn)練階段大家拼的是集群規(guī)模而推理階段拼的是單卡效率、框架生態(tài)、算子覆蓋和長(zhǎng)時(shí)間穩(wěn)定性。浙江大學(xué)與曦望的合作本質(zhì)上就是沖著這個(gè)痛點(diǎn)去的——把國(guó)產(chǎn)推理算力真正塞進(jìn)科學(xué)計(jì)算的工作流里而不是停留在跑通 Demo 的階段。這個(gè)定位我覺得是整件事最值得關(guān)注的地方。2. 聯(lián)合攻關(guān)拆解國(guó)產(chǎn)推理算力在 AI4S 場(chǎng)景里到底解決了什么2.1 科學(xué)計(jì)算推理與互聯(lián)網(wǎng)推理的本質(zhì)差異做技術(shù)的人有個(gè)共識(shí)互聯(lián)網(wǎng)場(chǎng)景的推理追求“低延遲、高并發(fā)”比如推薦系統(tǒng)、語(yǔ)音識(shí)別一次請(qǐng)求幾毫秒返回但 AI4S 場(chǎng)景的推理是另一套邏輯它更像“高吞吐、長(zhǎng)時(shí)程、高精度”的批處理任務(wù)。一個(gè)科研人員可能提交一個(gè)包含幾十萬幀分子構(gòu)象的推理任務(wù)程序要連續(xù)跑幾十個(gè)小時(shí)中途不能崩、精度不能漂移、數(shù)值不能出現(xiàn) NaN。這種差異直接決定了對(duì)推理算力的選型標(biāo)準(zhǔn)。拿蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)來說模型輸出的坐標(biāo)數(shù)據(jù)必須通過一系列數(shù)值驗(yàn)證任何低精度優(yōu)化導(dǎo)致的微小偏差都可能被后續(xù)的能量計(jì)算放大。所以國(guó)產(chǎn)推理算力要在 AI4S 站住腳不是跑通幾個(gè)公開模型就行而是要在混合精度、數(shù)值穩(wěn)定、算子精度這幾個(gè)維度上做到“科學(xué)級(jí)可靠”。2.2 浙大與曦望聯(lián)合攻關(guān)中涉及的三個(gè)核心技術(shù)層面從公開信息可以梳理出這次聯(lián)合攻關(guān)的三個(gè)核心層面也是我覺得對(duì)行業(yè)最有參考價(jià)值的部分。第一個(gè)層面是算子庫(kù)與科學(xué)計(jì)算內(nèi)核的適配。學(xué)術(shù)界的模型迭代速度非??煨绿岢龅淖⒁饬ψ凅w、新的激活函數(shù)、新的歸一化方式往往在主流框架里還沒有深度優(yōu)化。國(guó)產(chǎn)推理卡要真正好用算子覆蓋度就是生死線。這次合作中雙方投入了不少精力在自定義算子的開發(fā)和 kernel 調(diào)優(yōu)上尤其是針對(duì)科學(xué)計(jì)算里常見的三維卷積、稀疏矩陣運(yùn)算和 FFT 類操作做了專門優(yōu)化這些都是科學(xué)模型里出現(xiàn)頻率極高的計(jì)算模式。第二個(gè)層面是大規(guī)模推理任務(wù)的調(diào)度與容錯(cuò)??蒲型评斫?jīng)常要占用整個(gè)計(jì)算節(jié)點(diǎn)跑數(shù)天一旦中途出錯(cuò)前面的計(jì)算全部浪費(fèi)。聯(lián)合攻關(guān)里做了 checkpoint 定期存檔、推理任務(wù)斷點(diǎn)續(xù)跑、異常自動(dòng)隔離這些工程化能力這在國(guó)內(nèi)高校的自建集群里其實(shí)挺稀缺的——很多實(shí)驗(yàn)室的推理腳本還停留在“出一條命令等結(jié)果”的階段一旦斷掉就全盤重來。第三個(gè)層面是模型壓縮與推理加速的平衡??茖W(xué)模型跟商業(yè)模型不一樣很多參數(shù)有物理意義壓縮不當(dāng)會(huì)破壞一致性。比如氣象模型中某些通道代表特定的物理變量剪枝后這些變量之間的耦合關(guān)系可能失真。這次聯(lián)合攻關(guān)里沒有簡(jiǎn)單套用通用的 INT8 量化方案而是針對(duì)不同模型結(jié)構(gòu)做了逐層敏感性分析在保持科學(xué)精度的前提下實(shí)現(xiàn)推理加速。2.3 為什么“聯(lián)合攻關(guān)”而不是“采購(gòu)交付”我特別想聊一下“聯(lián)合攻關(guān)”這個(gè)模式。現(xiàn)在的校企合作很多還停留在“企業(yè)賣卡、學(xué)校買卡、出了問題找售后”的階段但算力這種東西跟普通硬件完全不同它是要在用戶的真實(shí)負(fù)載里打磨出來的。廠商不清楚科研模型的計(jì)算特征學(xué)校不清楚芯片的底層架構(gòu)兩邊不坐到一張桌子上性能就上不去。聯(lián)合攻關(guān)的本質(zhì)是把芯片廠商的底層能力和科研用戶的前沿需求放在同一個(gè)鍋里煮。國(guó)產(chǎn)算力要真正服務(wù) AI4S必須跟科研一線無縫對(duì)焦——哪些算子調(diào)用最頻繁、顯存訪問模式是什么樣的、通信瓶頸在哪這些細(xì)節(jié)不跑真實(shí)負(fù)載根本發(fā)現(xiàn)不了。浙大在計(jì)算物理、生命科學(xué)、地質(zhì)科學(xué)等多個(gè)方向有很強(qiáng)的科研團(tuán)隊(duì)這些真實(shí)場(chǎng)景就是最好的“算力試金石”。這種模式也讓我想到一個(gè)類比就像定制西裝和買成衣的區(qū)別。成衣合身與否全看運(yùn)氣定制則是一寸一寸量出來的??茖W(xué)計(jì)算對(duì)算力的要求比穿西裝苛刻得多差一寸都穿不出去。3. 從“能用”到“好用”國(guó)產(chǎn)推理算力生態(tài)共建的關(guān)鍵路徑3.1 生態(tài)共建不等于堆硬件工具鏈才是核心很多人在聊國(guó)產(chǎn)算力時(shí)第一反應(yīng)是看芯片的峰值性能是多少 TFLOPS這個(gè)思路對(duì)科研選型來說其實(shí)是個(gè)誤區(qū)。單卡算力只是下限工具鏈的成熟度才決定上限。什么叫工具鏈成熟度就是你在 PyTorch 里寫好的模型能不能不改代碼或者改很少的代碼就在國(guó)產(chǎn)推理卡上高效跑起來。這次浙大與曦望的合作里明確提到了從底層算子庫(kù)到上層應(yīng)用框架的全棧適配。這意味著不僅僅是硬件層面的打通更重要的是在 PyTorch、MindSpore 這類主流框架里做好后端支持讓科研人員不需要關(guān)心底層硬件差異。我見過不少科研團(tuán)隊(duì)因?yàn)閾Q了一套加速卡光改代碼就花了兩個(gè)星期這種隱性成本其實(shí)比硬件本身貴多了。工具鏈層面的生態(tài)共建還包含推理引擎的優(yōu)化。國(guó)產(chǎn)推理卡對(duì)應(yīng)的推理引擎需要支持動(dòng)態(tài) shape、支持科學(xué)計(jì)算里常見的控制流還要跟 HuggingFace 上的模型庫(kù)做好對(duì)接。這些工作很瑣碎但每一件都直接決定科研人員愿不愿意真的用起來。3.2 標(biāo)準(zhǔn)與評(píng)測(cè)讓 AI4S 推理性能可以“對(duì)齊”生態(tài)共建里還有一個(gè)容易忽略但特別關(guān)鍵的環(huán)節(jié)就是評(píng)測(cè)基準(zhǔn)。拿跑分來說互聯(lián)網(wǎng)模型有公開的 benchmark 可以橫向?qū)Ρ鹊茖W(xué)計(jì)算模型因?yàn)榉N類太雜、數(shù)據(jù)格式太特殊很長(zhǎng)時(shí)間都沒有一個(gè)大家都認(rèn)可的評(píng)測(cè)標(biāo)準(zhǔn)。這次合作成立聯(lián)合實(shí)驗(yàn)室之后一個(gè)值得關(guān)注的產(chǎn)出方向就是構(gòu)建面向 AI4S 場(chǎng)景的推理性能評(píng)測(cè)體系。這個(gè)體系至少要覆蓋幾類典型負(fù)載分子動(dòng)力學(xué)、氣象預(yù)測(cè)、材料計(jì)算、生物信息學(xué)。每一類負(fù)載給出明確的性能指標(biāo)吞吐、延遲、精度保持率、長(zhǎng)時(shí)間運(yùn)行穩(wěn)定性讓高校和企業(yè)在選型時(shí)有據(jù)可依而不是看宣傳冊(cè)上的理論峰值。我自己的經(jīng)驗(yàn)是評(píng)測(cè)基準(zhǔn)這件事比想象中重要得多。沒有標(biāo)準(zhǔn)的時(shí)候廠商說“性能提升 30%”科研人員根本沒辦法驗(yàn)證因?yàn)闆]有統(tǒng)一的測(cè)試方法和參考基線。有了區(qū)域性的評(píng)測(cè)中心大家就可以在同樣的負(fù)載、同樣的數(shù)據(jù)集、同樣的精度要求下做橫向?qū)Ρ冗@是建立信任最快的方式。3.3 LAFAI 實(shí)驗(yàn)室的戰(zhàn)略定位從項(xiàng)目到平臺(tái)的跨越這次合作中成立的 LAFAI 聯(lián)合實(shí)驗(yàn)室在我看來是整件事從“一次性攻關(guān)”走向“持續(xù)性生態(tài)”的關(guān)鍵一步。實(shí)驗(yàn)室不只是一個(gè)掛牌機(jī)構(gòu)它有明確的研究方向、開放課題和算力服務(wù)中心這就把“項(xiàng)目制”的合作升維成了“平臺(tái)制”的共建。平臺(tái)制的好處是可持續(xù)??蒲行枨蟛粫?huì)消失只會(huì)不斷演進(jìn)。今天做的是蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)明天可能是材料逆設(shè)計(jì)后天可能是大語(yǔ)言模型驅(qū)動(dòng)的科研助手。如果每次有新需求都要重新磨合一遍底層適配成本太高了。聯(lián)合實(shí)驗(yàn)室的模式讓雙方可以在同一套基礎(chǔ)設(shè)施上持續(xù)迭代新的科研方向只要在已有的工具鏈上做增量適配就行。對(duì)高校來說這種合作還有一層更實(shí)際的意義給學(xué)生提供了接觸真實(shí)產(chǎn)業(yè)問題的機(jī)會(huì)。實(shí)驗(yàn)室的開放課題可以讓研究生在國(guó)產(chǎn)算力上做前沿研究積累的經(jīng)驗(yàn)就是未來就業(yè)時(shí)最有競(jìng)爭(zhēng)力的資本。4. 實(shí)操視角AI4S 推理算力選型和落地的幾個(gè)關(guān)鍵建議4.1 選型時(shí)不能只看峰值性能要看有效性能聊了這么多宏觀層面的東西回到實(shí)際操作層面很多團(tuán)隊(duì)在選型推理算力時(shí)會(huì)踩一個(gè)坑光看芯片的理論算力。但實(shí)際跑模型時(shí)理論算力能發(fā)揮多少取決于算子實(shí)現(xiàn)效率、顯存帶寬、數(shù)據(jù)搬運(yùn)開銷這些因素。我建議選型時(shí)直接拿自己的代表性模型做實(shí)測(cè)測(cè)三類指標(biāo)——單卡吞吐、多卡擴(kuò)展效率、長(zhǎng)時(shí)程穩(wěn)定性的殘差變化用數(shù)據(jù)說話別被宣傳材料帶偏。4.2 框架適配是最大隱性成本提前做好評(píng)估換推理算力最大的隱性成本不是硬件采購(gòu)而是框架適配??茖W(xué)計(jì)算代碼往往高度依賴特定庫(kù)函數(shù)換一個(gè)硬件平臺(tái)可能涉及整個(gè)鏈路的重寫。我的建議是采購(gòu)之前先畫出完整的代碼依賴圖標(biāo)注哪些部分跟硬件綁定、哪些部分是純 Python 邏輯、哪些庫(kù)函數(shù)在目標(biāo)平臺(tái)上有替代實(shí)現(xiàn)。這個(gè)評(píng)估做完適配工作量基本也就心中有數(shù)了。4.3 推理性能調(diào)優(yōu)的三板斧算子替換、顯存優(yōu)化、異步流水在國(guó)產(chǎn)推理算力上做 AI4S 項(xiàng)目的性能調(diào)優(yōu)我自己的經(jīng)驗(yàn)是三件事最管用第一是算子替換??茖W(xué)計(jì)算模型里有些計(jì)算可以用融合算子替代比如把 LayerNorm 和線性層融合減少顯存讀寫次數(shù)。這需要對(duì)照算子清單逐一排查找到熱點(diǎn)算子后手動(dòng)替換成融合版本。第二是顯存優(yōu)化??茖W(xué)模型的中間特征圖往往很大可以通過梯度檢查點(diǎn)、顯存復(fù)用、混合精度在可接受范圍內(nèi)等方式把顯存占用降下來從而支持更大的 batch size提升吞吐。第三是異步流水。推理流程里數(shù)據(jù)加載、預(yù)處理、計(jì)算、后處理是串行的話GPU 會(huì)有大量空閑等待。改成 producer-consumer 流水線模式讓數(shù)據(jù)加載和計(jì)算重疊通常能把整體吞吐提升 30% 以上。這三個(gè)手段不需要改模型結(jié)構(gòu)純工程優(yōu)化但對(duì)性能的提升非常顯著。4.4 長(zhǎng)時(shí)程推理任務(wù)的穩(wěn)定性治理AI4S 推理任務(wù)動(dòng)不動(dòng)跑幾十個(gè)小時(shí)穩(wěn)定性問題比性能問題更容易讓人崩潰。我踩過的坑包括內(nèi)存泄漏導(dǎo)致性能隨時(shí)間遞減、顯存碎片化導(dǎo)致后期 OOM、溫度過高導(dǎo)致計(jì)算節(jié)點(diǎn)自動(dòng)降頻。治理思路大概是三層進(jìn)程級(jí)監(jiān)控盯內(nèi)存和顯存趨勢(shì)、定期存檔每隔固定步長(zhǎng)保存中間狀態(tài)、異常自愈檢測(cè)到異常后自動(dòng)拉起新任務(wù)并從最近存檔恢復(fù)。這些能力如果算力平臺(tái)原生支持能替科研人員省下大量精力。5. 常見問題與踩坑記錄AI4S 推理算力落地的真實(shí)困境5.1 模型遷移到國(guó)產(chǎn)推理卡后精度漂移怎么辦我在實(shí)際項(xiàng)目里遇到過精度漂移問題現(xiàn)象是同一套權(quán)重文件在原來平臺(tái)上跑結(jié)果正常遷移到國(guó)產(chǎn)推理卡后某些輸出的數(shù)值出現(xiàn)微小偏差。排查下來發(fā)現(xiàn)原因出在算子實(shí)現(xiàn)差異上——某些激活函數(shù)的實(shí)現(xiàn)用了近似計(jì)算在特定輸入?yún)^(qū)間內(nèi)有微小誤差。這個(gè)問題沒有捷徑只能逐層對(duì)比中間輸出定位差異算子然后聯(lián)系廠商修復(fù)實(shí)現(xiàn)。所以在選擇合作廠商時(shí)算子級(jí)的技術(shù)支持響應(yīng)速度很關(guān)鍵。5.2 多卡推理時(shí)擴(kuò)展效率上不去是什么原因有時(shí)候多卡推理的加速比遠(yuǎn)遠(yuǎn)低于理論值可能的原因包括通信量過大張量并行時(shí)每步都要同步、負(fù)載不均衡部分卡的輸入長(zhǎng)度差異大、數(shù)據(jù)加載成為瓶頸。針對(duì)這些問題一個(gè)比較實(shí)用的辦法是在模型并行策略上做混合——張量并行和數(shù)據(jù)并行結(jié)合同時(shí)用動(dòng)態(tài)填充讓每張卡的輸入盡量均勻。另外檢查一下 PCIe 通道數(shù)和 NVLink 替代方案的帶寬通信帶寬常常是最容易被忽略的瓶頸。5.3 國(guó)產(chǎn)推理卡對(duì)大模型的適配進(jìn)展如何這個(gè)問題的現(xiàn)實(shí)情況是大模型尤其是 LLM在國(guó)產(chǎn)推理卡上的適配進(jìn)展已經(jīng)非??炝说茖W(xué)計(jì)算領(lǐng)域的長(zhǎng)序列模型比如基因序列、長(zhǎng)時(shí)序氣象數(shù)據(jù)還有不少優(yōu)化空間。主要原因是科學(xué)計(jì)算里的長(zhǎng)序列和 NLP 里的長(zhǎng)文本在數(shù)據(jù)分布上差異很大已有的 KV Cache 優(yōu)化不一定完全適用。建議關(guān)注廠商是否支持 PagedAttention 的自定義擴(kuò)展能力這個(gè)能力對(duì)科學(xué)計(jì)算長(zhǎng)序列推理非常重要。5.4 小團(tuán)隊(duì)沒有專職優(yōu)化人員怎么用好國(guó)產(chǎn)推理算力如果團(tuán)隊(duì)里沒有專門的性能優(yōu)化工程師我的建議是“以平臺(tái)換人力”——優(yōu)先選擇那些提供完善推理服務(wù)平臺(tái)的算力廠商而不是買裸卡自己折騰。好的推理服務(wù)平臺(tái)應(yīng)該內(nèi)置算子優(yōu)化、自動(dòng)調(diào)優(yōu)、故障自愈、性能監(jiān)控等功能讓科研人員把精力集中在自己的科學(xué)問題上不要在不該花時(shí)間的地方浪費(fèi)青春。6. 高校視角的區(qū)域算力生態(tài)從實(shí)驗(yàn)室到產(chǎn)業(yè)的最后一公里這次浙大與曦望的合作還有一個(gè)值得關(guān)注的點(diǎn)就是聯(lián)合實(shí)驗(yàn)室的“區(qū)域輻射”屬性。高校的算力平臺(tái)天然具備開放屬性可以同時(shí)服務(wù)校內(nèi)多個(gè)學(xué)科、周邊科研院所、甚至區(qū)域內(nèi)的高新技術(shù)企業(yè)。這種區(qū)域性的算力生態(tài)一旦建立起來受益的不只是合作的雙方而是整個(gè)區(qū)域的創(chuàng)新體系。我在實(shí)踐中觀察到一種現(xiàn)象很多中小企業(yè)想做 AI4S 相關(guān)的產(chǎn)品但自建算力成本太高只用公有云又怕數(shù)據(jù)安全處于一種兩難的境地。如果高校聯(lián)合實(shí)驗(yàn)室能夠以相對(duì)低門檻的方式開放算力資源和服務(wù)能力這些企業(yè)就可以在早期階段跑通技術(shù)驗(yàn)證后續(xù)再考慮規(guī)模化采購(gòu)。這種“高校作為技術(shù)驗(yàn)證場(chǎng)、企業(yè)作為落地承接方”的模式對(duì)國(guó)產(chǎn)算力生態(tài)的成熟是非常有效的推動(dòng)力?;氐竭@次合作本身“從聯(lián)合攻關(guān)到生態(tài)共建”這個(gè)過程本質(zhì)上是一個(gè)從“解決問題”到“建立機(jī)制”的躍遷。第一步解決的是眼前的適配問題第二步解決的是長(zhǎng)遠(yuǎn)的可持續(xù)發(fā)展問題。我在實(shí)際接觸類似合作項(xiàng)目時(shí)最深的一點(diǎn)體會(huì)是算力的價(jià)值不在于芯片本身而在于它能不能讓科研人員忘記芯片的存在。當(dāng)科學(xué)家不再需要關(guān)心底層硬件怎么適配、算子怎么優(yōu)化的時(shí)候國(guó)產(chǎn)推理算力才算真正完成了從“能用”到“好用”的跨越。浙大與曦望這條路走得比較扎實(shí)從算子適配到工具鏈打磨從聯(lián)合實(shí)驗(yàn)室到開放課題每一個(gè)環(huán)節(jié)都在朝著這個(gè)目標(biāo)推進(jìn)。最后再分享一個(gè)我在推理算力落地過程中的小技巧不管用誰(shuí)家的硬件第一件事不要急著調(diào)性能先跑一個(gè)完整的、帶有數(shù)值驗(yàn)證的小規(guī)模任務(wù)確認(rèn)整條數(shù)據(jù)鏈路是通的、結(jié)果是可靠的然后在這個(gè)基礎(chǔ)上逐步放大規(guī)模和優(yōu)化性能。這個(gè)順序一旦反了后面排查問題會(huì)非常痛苦。物理世界的規(guī)則跟計(jì)算世界很像基礎(chǔ)不牢地動(dòng)山搖。