產(chǎn)AI芯片軟件生態(tài)白皮書:開(kāi)發(fā)者遷移成本與生態(tài)演進(jìn)深度解析)
1. 這份白皮書到底在講什么1.1 從標(biāo)題拆解核心信息先把標(biāo)題拆開(kāi)看?!靶酒瑢n}四”說(shuō)明這是一個(gè)系列報(bào)告的第四篇前三篇大概率分別覆蓋了國(guó)產(chǎn)AI芯片的硬件架構(gòu)、制程工藝、市場(chǎng)格局等方向到了第四篇才落到“軟件生態(tài)”上。這個(gè)排序本身就傳遞了一個(gè)信號(hào)硬件層面的差距正在被逐步拉近但軟件生態(tài)才是真正卡脖子的那一環(huán)?!?025年國(guó)產(chǎn)AI芯片軟件生態(tài)白皮書”這個(gè)定語(yǔ)很關(guān)鍵。它不是某一家廠商的產(chǎn)品手冊(cè)而是以“白皮書”的形式對(duì)整個(gè)國(guó)產(chǎn)AI芯片軟件生態(tài)做全景式梳理。白皮書這種文體通常包含幾個(gè)固定模塊產(chǎn)業(yè)背景、技術(shù)架構(gòu)分析、生態(tài)現(xiàn)狀調(diào)研、典型玩家盤點(diǎn)、趨勢(shì)研判、以及面向開(kāi)發(fā)者和決策者的建議。它面向的讀者不是純學(xué)術(shù)圈而是產(chǎn)業(yè)從業(yè)者、技術(shù)選型決策者、投資機(jī)構(gòu)分析師以及正在做國(guó)產(chǎn)化適配的工程師?!案絇DF下載”則說(shuō)明這份報(bào)告的傳播方式以電子文檔為主方便在技術(shù)社區(qū)、企業(yè)內(nèi)部分享和傳閱。結(jié)合熱搜詞里大量出現(xiàn)的“pdf下載”“pdf解析”“pdf轉(zhuǎn)word”等詞可以判斷這類報(bào)告的獲取和二次處理需求非常旺盛。1.2 為什么軟件生態(tài)是國(guó)產(chǎn)AI芯片的勝負(fù)手打個(gè)比方。芯片硬件好比是高速公路的路面和車道軟件生態(tài)則是上面的交通規(guī)則、加油站、服務(wù)區(qū)、導(dǎo)航系統(tǒng)。路修得再寬如果沒(méi)有配套的服務(wù)體系車跑不起來(lái)或者跑起來(lái)效率極低。國(guó)產(chǎn)AI芯片過(guò)去幾年的困境就在這里——單卡算力指標(biāo)看著不錯(cuò)但開(kāi)發(fā)者拿到手之后發(fā)現(xiàn)框架適配不全、算子庫(kù)缺失、調(diào)試工具簡(jiǎn)陋、文檔稀爛、社區(qū)沒(méi)人回答問(wèn)題。一個(gè)典型的場(chǎng)景某算法團(tuán)隊(duì)想把訓(xùn)練好的PyTorch模型部署到國(guó)產(chǎn)推理卡上。理想情況下應(yīng)該有一套類似CUDA生態(tài)里TensorRT那樣的工具鏈能自動(dòng)做圖優(yōu)化、算子融合、量化壓縮然后一鍵部署。但現(xiàn)實(shí)往往是你得手動(dòng)改模型結(jié)構(gòu)、替換不支持的算子、自己寫適配層折騰兩周可能還沒(méi)跑通。這中間的摩擦成本就是軟件生態(tài)不成熟帶來(lái)的直接代價(jià)。這份白皮書要解決的就是把這個(gè)“摩擦成本”的現(xiàn)狀講清楚哪些環(huán)節(jié)已經(jīng)打通了哪些還在補(bǔ)課開(kāi)發(fā)者當(dāng)下能用的方案是什么未來(lái)一兩年會(huì)往哪個(gè)方向走。1.3 適合誰(shuí)來(lái)讀這份報(bào)告如果你是在做AI推理部署的工程師這份報(bào)告能幫你快速了解主流國(guó)產(chǎn)芯片的軟件棧成熟度避免選型時(shí)踩坑。如果你是企業(yè)技術(shù)負(fù)責(zé)人正在評(píng)估國(guó)產(chǎn)化替代方案報(bào)告里的生態(tài)對(duì)比和遷移成本分析可以直接作為決策參考。如果你是學(xué)生或剛?cè)胄械拈_(kāi)發(fā)者想了解國(guó)產(chǎn)AI芯片到底能不能用、好不好用這份報(bào)告能給你一個(gè)不帶濾鏡的行業(yè)真實(shí)圖景。即便你暫時(shí)不涉及國(guó)產(chǎn)芯片報(bào)告里關(guān)于“軟件生態(tài)如何從零搭建”的方法論對(duì)理解整個(gè)AI基礎(chǔ)設(shè)施的演進(jìn)邏輯也有幫助。畢竟英偉達(dá)的CUDA生態(tài)也不是一天建成的它踩過(guò)的坑、走過(guò)的路國(guó)產(chǎn)玩家正在以更快的速度重走一遍。2. 白皮書的核心框架與關(guān)鍵結(jié)論2.1 報(bào)告的整體結(jié)構(gòu)拆解根據(jù)這類行業(yè)白皮書的慣常編排邏輯以及標(biāo)題中“軟件生態(tài)”這個(gè)核心限定詞可以合理推斷報(bào)告的主體內(nèi)容會(huì)圍繞以下幾個(gè)板塊展開(kāi)。第一塊是產(chǎn)業(yè)背景與政策驅(qū)動(dòng)。這部分會(huì)梳理國(guó)產(chǎn)AI芯片面臨的外部環(huán)境變化包括供應(yīng)鏈壓力、數(shù)據(jù)安全合規(guī)要求、以及各行業(yè)國(guó)產(chǎn)化替代的時(shí)間表。它回答的是“為什么現(xiàn)在必須做軟件生態(tài)”這個(gè)問(wèn)題。第二塊是軟件棧的技術(shù)架構(gòu)分析。這是報(bào)告的技術(shù)核心。一個(gè)完整的AI芯片軟件棧通常分為四層最底層是驅(qū)動(dòng)和運(yùn)行時(shí)往上是編譯器與算子庫(kù)再往上是AI框架適配層最頂層是面向應(yīng)用的工具鏈和解決方案。報(bào)告會(huì)逐層分析國(guó)產(chǎn)玩家在各層的覆蓋情況和成熟度。第三塊是主流玩家生態(tài)盤點(diǎn)。國(guó)內(nèi)做AI芯片的廠商不少但每家走的軟件路線差異很大。有的選擇兼容CUDA生態(tài)讓開(kāi)發(fā)者幾乎零成本遷移有的堅(jiān)持自建全套工具鏈追求長(zhǎng)期自主可控還有的走開(kāi)源路線試圖用社區(qū)力量加速生態(tài)建設(shè)。報(bào)告會(huì)對(duì)這些路線做對(duì)比分析。第四塊是開(kāi)發(fā)者調(diào)研與痛點(diǎn)匯總。這部分通常來(lái)自問(wèn)卷或訪談反映一線開(kāi)發(fā)者在使用國(guó)產(chǎn)芯片軟件時(shí)的真實(shí)反饋。哪些工具好用、哪些文檔缺失、哪些bug長(zhǎng)期沒(méi)修這些信息比廠商宣傳材料有價(jià)值得多。第五塊是趨勢(shì)研判與建議?;谇懊娴姆治鰣?bào)告會(huì)給出未來(lái)一到兩年的生態(tài)演進(jìn)判斷以及面向廠商、開(kāi)發(fā)者和決策者的行動(dòng)建議。2.2 幾個(gè)值得關(guān)注的核心判斷雖然無(wú)法逐頁(yè)翻閱報(bào)告原文但結(jié)合行業(yè)公開(kāi)信息和熱搜詞中透露的信號(hào)有幾個(gè)判斷大概率是報(bào)告的重點(diǎn)結(jié)論。第一個(gè)判斷國(guó)產(chǎn)AI芯片軟件生態(tài)正處于“從能用向好用過(guò)渡”的關(guān)鍵階段。過(guò)去兩年主要玩家的軟件棧已經(jīng)完成了從“完全跑不通”到“基本能跑通”的跨越。主流AI框架的適配、常用算子的覆蓋、基礎(chǔ)工具鏈的搭建這些從零到一的工作基本做完了?,F(xiàn)在的挑戰(zhàn)是從一到十性能優(yōu)化、穩(wěn)定性提升、開(kāi)發(fā)體驗(yàn)改善。第二個(gè)判斷兼容與自研的路線分化會(huì)持續(xù)存在但邊界在模糊。早期走兼容路線的廠商被質(zhì)疑“沒(méi)有核心技術(shù)”走自研路線的被抱怨“遷移成本太高”?,F(xiàn)在的情況是兼容派在兼容層之下也在做自研優(yōu)化自研派也開(kāi)始提供遷移工具降低門檻。兩條路線在向中間靠攏。第三個(gè)判斷推理場(chǎng)景的軟件成熟度顯著高于訓(xùn)練場(chǎng)景。訓(xùn)練對(duì)算力規(guī)模、通信帶寬、框架完整度的要求極高國(guó)產(chǎn)芯片在訓(xùn)練場(chǎng)景的軟件支持還有明顯短板。但推理場(chǎng)景相對(duì)碎片化對(duì)單卡極致性能的依賴沒(méi)那么強(qiáng)國(guó)產(chǎn)軟件棧在這個(gè)領(lǐng)域更容易做出可用性。第四個(gè)判斷開(kāi)源社區(qū)正在成為生態(tài)建設(shè)的重要變量。幾家國(guó)產(chǎn)芯片廠商已經(jīng)將部分工具鏈開(kāi)源試圖通過(guò)社區(qū)協(xié)作加速bug修復(fù)和功能補(bǔ)齊。這個(gè)策略的效果還有待觀察但方向值得肯定。2.3 報(bào)告里可能被忽略的細(xì)節(jié)大多數(shù)人在讀這類報(bào)告時(shí)容易只盯著“誰(shuí)家芯片算力高”“誰(shuí)家生態(tài)排名第一”這類結(jié)論性信息。但真正有實(shí)操價(jià)值的往往是那些藏在附錄或案例里的細(xì)節(jié)。比如報(bào)告可能會(huì)提到某個(gè)廠商的算子庫(kù)在特定數(shù)據(jù)類型上的精度問(wèn)題。這種信息在廠商官方文檔里通常不會(huì)寫但對(duì)做量化部署的工程師來(lái)說(shuō)至關(guān)重要。再比如報(bào)告可能會(huì)對(duì)比不同廠商的模型遷移工具在實(shí)際項(xiàng)目中的耗時(shí)差異這種一手?jǐn)?shù)據(jù)比任何宣傳都有說(shuō)服力。還有一個(gè)容易被忽略的點(diǎn)是版本兼容性。AI芯片的軟件棧迭代很快驅(qū)動(dòng)版本、編譯器版本、框架版本之間的兼容矩陣如果沒(méi)搞清楚升級(jí)一個(gè)組件可能導(dǎo)致整個(gè)環(huán)境崩潰。報(bào)告如果包含這方面的版本管理建議價(jià)值會(huì)非常高。3. 軟件生態(tài)的四個(gè)關(guān)鍵層面拆解3.1 驅(qū)動(dòng)與運(yùn)行時(shí)最底層但最要命驅(qū)動(dòng)和運(yùn)行時(shí)是軟件棧的地基。這一層出問(wèn)題上面所有東西都白搭。國(guó)產(chǎn)AI芯片在這一層的常見(jiàn)問(wèn)題包括驅(qū)動(dòng)安裝流程復(fù)雜、對(duì)操作系統(tǒng)內(nèi)核版本有嚴(yán)格限制、多卡通信的穩(wěn)定性不足、以及運(yùn)行時(shí)對(duì)內(nèi)存的管理策略不夠精細(xì)。我見(jiàn)過(guò)一個(gè)真實(shí)案例某團(tuán)隊(duì)在測(cè)試某國(guó)產(chǎn)推理卡時(shí)發(fā)現(xiàn)單卡跑得好好的模型加到四卡做張量并行就頻繁報(bào)錯(cuò)。排查了一周才發(fā)現(xiàn)是驅(qū)動(dòng)里多卡通信的某個(gè)參數(shù)默認(rèn)值不合理需要手動(dòng)改配置文件。這種問(wèn)題在英偉達(dá)生態(tài)里幾乎不會(huì)遇到因?yàn)镃UDA的默認(rèn)配置經(jīng)過(guò)了海量場(chǎng)景的驗(yàn)證。國(guó)產(chǎn)驅(qū)動(dòng)缺的就是這種“被無(wú)數(shù)人踩過(guò)”的積累。報(bào)告如果對(duì)各家驅(qū)動(dòng)成熟度做了評(píng)級(jí)建議重點(diǎn)關(guān)注“多卡穩(wěn)定性”和“長(zhǎng)時(shí)間運(yùn)行穩(wěn)定性”這兩個(gè)維度。單卡跑個(gè)demo誰(shuí)都能跑真正上生產(chǎn)環(huán)境連續(xù)跑72小時(shí)不出問(wèn)題才是硬指標(biāo)。3.2 編譯器與算子庫(kù)性能差距的主要來(lái)源編譯器負(fù)責(zé)把上層框架的模型圖轉(zhuǎn)換成芯片能執(zhí)行的指令算子庫(kù)則提供了各種基礎(chǔ)運(yùn)算的實(shí)現(xiàn)。這兩塊直接決定了模型跑得快不快。國(guó)產(chǎn)芯片在算子覆蓋度上常用的卷積、矩陣乘、激活函數(shù)這些基本都支持了。但在一些特殊算子上比如某些變體的注意力機(jī)制、自定義的歸一化層就可能缺失或者性能很差。這時(shí)候開(kāi)發(fā)者要么等廠商更新要么自己寫算子。自己寫算子又涉及到對(duì)芯片架構(gòu)的理解門檻很高。編譯器方面圖優(yōu)化能力是核心。好的編譯器能自動(dòng)做算子融合、內(nèi)存復(fù)用、指令調(diào)度把硬件利用率拉高。國(guó)產(chǎn)編譯器在這方面的自動(dòng)化程度普遍還有提升空間很多時(shí)候需要開(kāi)發(fā)者手動(dòng)干預(yù)。報(bào)告里如果有各家算子庫(kù)的覆蓋度對(duì)比表以及典型模型如ResNet、BERT、LLaMA的編譯優(yōu)化效果數(shù)據(jù)那會(huì)是非常實(shí)用的參考。3.3 AI框架適配層開(kāi)發(fā)者的第一接觸點(diǎn)大多數(shù)開(kāi)發(fā)者不會(huì)直接跟驅(qū)動(dòng)和編譯器打交道他們用的是PyTorch、TensorFlow、PaddlePaddle這些框架??蚣苓m配層做得好不好直接決定了開(kāi)發(fā)者的第一印象。目前國(guó)產(chǎn)芯片的框架適配主要有三種模式。第一種是插件式在原生框架里加一個(gè)后端插件開(kāi)發(fā)者代碼基本不用改。第二種是分支式維護(hù)一個(gè)框架的定制版本開(kāi)發(fā)者需要切換到特定分支。第三種是轉(zhuǎn)換式先把模型導(dǎo)出成中間格式再轉(zhuǎn)換成芯片能跑的格式。插件式對(duì)開(kāi)發(fā)者最友好但維護(hù)成本高框架升級(jí)時(shí)適配層要跟著改。轉(zhuǎn)換式最靈活但多了一步轉(zhuǎn)換調(diào)試起來(lái)麻煩。報(bào)告應(yīng)該會(huì)分析不同適配模式的優(yōu)劣以及各廠商的選擇。3.4 工具鏈與解決方案決定生產(chǎn)效率的關(guān)鍵工具鏈包括性能分析工具、調(diào)試工具、模型壓縮工具、部署工具等。這些工具不直接參與計(jì)算但決定了開(kāi)發(fā)者能不能快速定位問(wèn)題、優(yōu)化性能。國(guó)產(chǎn)芯片在工具鏈上的短板比較明顯。性能分析工具往往只能看到粗粒度的耗時(shí)沒(méi)法像Nsight那樣深入到指令級(jí)別。調(diào)試工具在遇到精度問(wèn)題時(shí)很難快速定位是哪一層算子出了偏差。模型壓縮工具對(duì)量化精度的控制也不夠精細(xì)。不過(guò)也有做得好的地方。部分廠商針對(duì)特定場(chǎng)景提供了端到端的解決方案比如智慧城市里的視頻分析、工業(yè)質(zhì)檢里的缺陷檢測(cè)開(kāi)發(fā)者拿過(guò)來(lái)改改就能用。這種“場(chǎng)景化工具包”的思路比通用工具更容易做出差異化。4. 開(kāi)發(fā)者遷移的真實(shí)成本與應(yīng)對(duì)策略4.1 從CUDA遷移到國(guó)產(chǎn)平臺(tái)要改多少東西這是所有考慮國(guó)產(chǎn)化替代的團(tuán)隊(duì)最關(guān)心的問(wèn)題。答案取決于你的模型復(fù)雜度和對(duì)性能的要求。如果只是跑一個(gè)標(biāo)準(zhǔn)模型做推理比如ResNet-50做圖像分類遷移工作量可能只有一兩天。因?yàn)橹髁鲊?guó)產(chǎn)芯片的框架適配層已經(jīng)內(nèi)置了這些常見(jiàn)模型的支持你只需要把設(shè)備從cuda改成對(duì)應(yīng)的設(shè)備名重新編譯一下就行。但如果你的模型有自定義算子或者用了比較新的網(wǎng)絡(luò)結(jié)構(gòu)工作量就會(huì)陡增。自定義算子需要重寫新結(jié)構(gòu)可能觸發(fā)編譯器的bug性能調(diào)優(yōu)更是需要反復(fù)試驗(yàn)。這種情況下遷移周期可能以周甚至月為單位。報(bào)告里如果有遷移工作量的分級(jí)評(píng)估比如按模型類型、算子復(fù)雜度、性能要求來(lái)劃分會(huì)非常有參考價(jià)值。4.2 遷移過(guò)程中的五個(gè)常見(jiàn)坑第一個(gè)坑是精度對(duì)齊。同樣的模型在GPU上跑出來(lái)的結(jié)果和國(guó)產(chǎn)芯片上跑出來(lái)的結(jié)果可能有細(xì)微差異。大多數(shù)情況下這種差異在可接受范圍內(nèi)但如果你的應(yīng)用對(duì)精度極其敏感就需要做逐層對(duì)比找出偏差來(lái)源。第二個(gè)坑是內(nèi)存管理。國(guó)產(chǎn)芯片的顯存管理策略和GPU不同有些在GPU上能跑的大batch在國(guó)產(chǎn)芯片上會(huì)OOM。需要重新調(diào)整batch size和梯度累積策略。第三個(gè)坑是多卡通信。如果你的模型需要多卡并行國(guó)產(chǎn)芯片的通信庫(kù)在穩(wěn)定性和性能上可能和NCCL有差距。建議先用小規(guī)模驗(yàn)證通信的正確性再逐步擴(kuò)大規(guī)模。第四個(gè)坑是版本鎖定。國(guó)產(chǎn)軟件棧的版本兼容性管理還不夠完善升級(jí)一個(gè)組件可能導(dǎo)致其他組件不工作。建議在項(xiàng)目開(kāi)始時(shí)就把所有組件的版本固定下來(lái)不要輕易升級(jí)。第五個(gè)坑是文檔滯后。國(guó)產(chǎn)芯片的文檔更新速度往往跟不上軟件迭代速度你遇到的問(wèn)題可能官方文檔里根本沒(méi)有。這時(shí)候需要直接找廠商的技術(shù)支持或者在開(kāi)發(fā)者社區(qū)里求助。4.3 降低遷移成本的實(shí)用策略最有效的策略是分層遷移。不要一上來(lái)就把整個(gè)訓(xùn)練流程搬到國(guó)產(chǎn)平臺(tái)上。先把推理部分遷過(guò)去驗(yàn)證效果。推理跑通了再把數(shù)據(jù)預(yù)處理遷過(guò)去。最后再考慮訓(xùn)練。另一個(gè)策略是保持雙軌運(yùn)行。在遷移期間GPU環(huán)境和國(guó)產(chǎn)環(huán)境并行維護(hù)用同一套測(cè)試用例驗(yàn)證兩邊的一致性。這樣即使國(guó)產(chǎn)環(huán)境出問(wèn)題也不會(huì)影響業(yè)務(wù)連續(xù)性。還有一個(gè)策略是優(yōu)先遷移對(duì)性能不敏感的任務(wù)。比如離線批處理、定時(shí)任務(wù)這些對(duì)延遲要求不高國(guó)產(chǎn)芯片即使性能差一些也能接受。等軟件生態(tài)更成熟了再把核心任務(wù)遷過(guò)去。5. 生態(tài)建設(shè)中的常見(jiàn)問(wèn)題與排查思路5.1 模型轉(zhuǎn)換失敗怎么排查模型轉(zhuǎn)換是遷移過(guò)程中最容易出問(wèn)題的環(huán)節(jié)。常見(jiàn)癥狀包括轉(zhuǎn)換過(guò)程直接報(bào)錯(cuò)、轉(zhuǎn)換成功但推理結(jié)果不對(duì)、轉(zhuǎn)換后性能遠(yuǎn)低于預(yù)期。排查的第一步是確認(rèn)模型本身沒(méi)有動(dòng)態(tài)控制流。很多國(guó)產(chǎn)芯片的編譯器對(duì)動(dòng)態(tài)圖的支持有限如果模型里有if-else分支或者循環(huán)次數(shù)不固定的結(jié)構(gòu)轉(zhuǎn)換很容易失敗。解決辦法是先用torch.jit.trace或類似工具把模型固定成靜態(tài)圖。第二步是檢查算子支持列表。把模型里的算子列出來(lái)和廠商提供的支持列表逐一比對(duì)。不支持的算子需要找替代實(shí)現(xiàn)或者聯(lián)系廠商添加支持。第三步是精度對(duì)比。如果轉(zhuǎn)換成功但結(jié)果不對(duì)用逐層對(duì)比的方式找出第一層出錯(cuò)的算子。通常問(wèn)題出在量化操作或者特殊的歸一化層上。5.2 性能不達(dá)預(yù)期怎么優(yōu)化性能問(wèn)題比正確性問(wèn)題更難排查因?yàn)橛绊懸蛩靥?。建議按以下順序逐一排除。先看是不是內(nèi)存瓶頸。用廠商提供的性能分析工具查看顯存占用和內(nèi)存帶寬利用率。如果顯存占用接近上限或者帶寬利用率很高說(shuō)明瓶頸在內(nèi)存訪問(wèn)上。優(yōu)化方向是減少中間張量的存儲(chǔ)、使用更高效的數(shù)據(jù)布局。再看是不是計(jì)算瓶頸。如果計(jì)算單元的利用率很低說(shuō)明算子實(shí)現(xiàn)效率不高或者圖優(yōu)化沒(méi)做好??梢試L試手動(dòng)融合算子、調(diào)整線程塊大小、使用廠商提供的高性能算子庫(kù)。最后看是不是調(diào)度問(wèn)題。多卡場(chǎng)景下如果卡間負(fù)載不均衡整體性能會(huì)被最慢的卡拖累。需要檢查數(shù)據(jù)切分策略和通信模式。5.3 常見(jiàn)問(wèn)題速查表問(wèn)題現(xiàn)象可能原因排查方向解決思路驅(qū)動(dòng)安裝失敗內(nèi)核版本不兼容查看驅(qū)動(dòng)文檔的系統(tǒng)要求升級(jí)或降級(jí)內(nèi)核或使用廠商提供的DKMS包模型轉(zhuǎn)換報(bào)錯(cuò)存在動(dòng)態(tài)控制流檢查模型是否有if/loop用trace固定靜態(tài)圖或改寫模型結(jié)構(gòu)推理結(jié)果偏差大量化精度損失逐層對(duì)比輸出調(diào)整量化策略對(duì)敏感層保持浮點(diǎn)多卡訓(xùn)練不穩(wěn)定通信庫(kù)bug查看通信日志降低通信頻率或換用其他并行策略性能遠(yuǎn)低于預(yù)期算子未優(yōu)化用profiler定位熱點(diǎn)替換為廠商優(yōu)化算子或手動(dòng)調(diào)優(yōu)顯存溢出內(nèi)存管理策略不同查看顯存占用曲線減小batch size或使用梯度檢查點(diǎn)版本升級(jí)后崩潰組件版本不兼容檢查版本兼容矩陣回退到之前穩(wěn)定的版本組合5.4 幾個(gè)容易被忽視的實(shí)操心得第一個(gè)心得在項(xiàng)目初期就建立版本管理規(guī)范。把驅(qū)動(dòng)、編譯器、框架、算子庫(kù)的版本號(hào)記錄在一個(gè)文件里每次環(huán)境變更都更新。國(guó)產(chǎn)軟件棧的版本兼容性還在完善中這個(gè)習(xí)慣能幫你省下大量排查時(shí)間。第二個(gè)心得善用廠商的技術(shù)支持渠道。國(guó)產(chǎn)芯片廠商對(duì)客戶的技術(shù)支持通常比英偉達(dá)更積極因?yàn)樗麄冊(cè)趽屔鷳B(tài)。遇到解決不了的問(wèn)題直接提工單或者拉群溝通往往比自己在網(wǎng)上搜效率高得多。第三個(gè)心得關(guān)注開(kāi)發(fā)者社區(qū)的活躍度。一個(gè)芯片的軟件生態(tài)好不好看它的開(kāi)發(fā)者社區(qū)就知道了。如果社區(qū)里問(wèn)題沒(méi)人回答、bug長(zhǎng)期不修說(shuō)明廠商投入不夠。反過(guò)來(lái)如果社區(qū)活躍、官方響應(yīng)快即使當(dāng)前功能還不完善也值得投入。6. 從白皮書看國(guó)產(chǎn)AI芯片軟件生態(tài)的演進(jìn)方向6.1 短期看兼容長(zhǎng)期看標(biāo)準(zhǔn)未來(lái)一到兩年國(guó)產(chǎn)AI芯片軟件生態(tài)的主旋律仍然是兼容。兼容CUDA的編程模型、兼容主流AI框架的接口、兼容常用的工具鏈。這是降低開(kāi)發(fā)者遷移成本最直接的方式。但長(zhǎng)期來(lái)看兼容只是手段不是目的。真正的生態(tài)成熟需要形成自己的標(biāo)準(zhǔn)。比如在編譯器中間表示、算子接口定義、模型交換格式等方面如果能形成一套被廣泛接受的標(biāo)準(zhǔn)國(guó)產(chǎn)芯片之間就能實(shí)現(xiàn)一定程度的互操作開(kāi)發(fā)者的選擇成本會(huì)大幅降低。報(bào)告里如果有關(guān)于標(biāo)準(zhǔn)建設(shè)的討論值得仔細(xì)讀。這關(guān)系到未來(lái)五年國(guó)產(chǎn)AI芯片能不能從“各自為戰(zhàn)”走向“生態(tài)協(xié)同”。6.2 云邊端的分化與協(xié)同AI芯片的應(yīng)用場(chǎng)景正在分化。云端訓(xùn)練和推理追求極致性能邊緣端追求低功耗和實(shí)時(shí)性終端設(shè)備追求極致的能效比。不同場(chǎng)景對(duì)軟件棧的要求差異很大。云端軟件棧需要支持大規(guī)模分布式訓(xùn)練、復(fù)雜的模型并行策略、高吞吐的推理服務(wù)。邊緣端軟件棧需要支持模型壓縮、量化部署、低延遲推理。終端軟件棧則更關(guān)注極簡(jiǎn)的運(yùn)行時(shí)和極低的功耗。國(guó)產(chǎn)芯片廠商需要根據(jù)自身定位選擇重點(diǎn)突破的場(chǎng)景。試圖一套軟件棧通吃云邊端的做法在資源有限的情況下很難做好。報(bào)告如果對(duì)各家廠商的場(chǎng)景定位做了分析可以幫助讀者判斷哪家的軟件棧更適合自己的需求。6.3 開(kāi)源能否成為破局點(diǎn)開(kāi)源是國(guó)產(chǎn)AI芯片軟件生態(tài)建設(shè)的一個(gè)重要變量。通過(guò)開(kāi)源廠商可以借助社區(qū)力量加速bug修復(fù)和功能補(bǔ)齊同時(shí)也能吸引更多開(kāi)發(fā)者了解和試用自己的平臺(tái)。但開(kāi)源不是萬(wàn)能藥。如果開(kāi)源的項(xiàng)目缺乏維護(hù)、文檔不全、社區(qū)運(yùn)營(yíng)跟不上反而會(huì)損害廠商聲譽(yù)。成功的開(kāi)源項(xiàng)目需要持續(xù)的投入包括代碼維護(hù)、issue響應(yīng)、文檔更新、社區(qū)活動(dòng)等。目前國(guó)產(chǎn)AI芯片領(lǐng)域的開(kāi)源項(xiàng)目還處于早期階段有些項(xiàng)目開(kāi)源了核心組件但周邊工具沒(méi)跟上有些項(xiàng)目開(kāi)源后更新頻率很低。報(bào)告如果對(duì)開(kāi)源項(xiàng)目的活躍度做了評(píng)估可以作為判斷廠商生態(tài)建設(shè)決心的參考。6.4 開(kāi)發(fā)者體驗(yàn)將成為核心競(jìng)爭(zhēng)力硬件性能的差距在縮小軟件體驗(yàn)的差距在放大。當(dāng)幾家的芯片在算力上都能滿足需求時(shí)開(kāi)發(fā)者會(huì)選哪家答案很可能是選那個(gè)讓我少加班的那家。開(kāi)發(fā)者體驗(yàn)包括很多方面安裝是否簡(jiǎn)單、文檔是否清晰、報(bào)錯(cuò)信息是否友好、調(diào)試工具是否好用、社區(qū)是否活躍、問(wèn)題響應(yīng)是否及時(shí)。這些看似瑣碎的細(xì)節(jié)累積起來(lái)就是巨大的體驗(yàn)差異。國(guó)產(chǎn)芯片廠商過(guò)去更關(guān)注硬件指標(biāo)的比拼現(xiàn)在需要把更多精力放在開(kāi)發(fā)者體驗(yàn)上。畢竟芯片是給人用的開(kāi)發(fā)者用得不爽再高的算力也是白搭。這份白皮書的價(jià)值不僅在于它梳理了現(xiàn)狀更在于它把“軟件生態(tài)”這個(gè)容易被忽視的維度放到了聚光燈下。硬件決定下限軟件決定上限。國(guó)產(chǎn)AI芯片能走多遠(yuǎn)很大程度上取決于軟件生態(tài)能建多好。