應對transformer高成本難題,國內首個開源C 計算框架

2024年2月6日 20点热度 0人点赞

雲錦微智能科技 雲錦微智能科技 2024-01-31 15:36

  • 計算框架的價值評估標準:支持的模型數量、支持的芯片數量、是否開源、能降低的計算成本、能降低的開發成本、能降低的試錯成本
  • 面向雲計算和面向邊端的計算框架是不同的,前者重點追求高資源通用場景的多機效率,後者重點追求低資源專用場景的單機效率
  • 未來的具身智能一定是多個專傢模型,異構的場景功能專用芯片群組成,這需要全新的面向邊緣異構空間的計算架構

1 卷模型、卷應用,現在連框架也開始卷

在國務院新聞辦公室去年7月舉行的新聞發佈會上,工業和信息化部新聞發言人、總工程師趙志國透露,目前我國新增算力設施中智能算力占比過半,下一步將著力推動大模型算法、框架等基礎性原創性技術突破。趙總工提到的框架,在人工智能領域有著非常高的重要度,它們是構建和部署人工智能模型的基礎架構,直接影響著模型的性能、效率和可擴展性。良好的計算框架能夠提供高效的計算資源管理、靈活的模型構建和訓練環境以及強大的部署和調試工具,從而加速人工智能技術在各行各業的發展和應用落地。因此,想用好人工智能的生產力,除了關註模型和應用的開發,選擇和優化合適的計算框架也是至關重要的。本文將幫助您增加更多對計算框架的理解。

2 大模型計算框架的構成和現狀

這一波人工智能浪潮都是基於transformer架構,計算框架在其中的主要作用是銜接大模型和算力,也就是說如果想要把大模型在算力設備上運行起來,必須要通過計算框架。

計算框架北向的模型,如今已是千模大戰的局面,幾乎每天都能見到數個大模型發佈,主流觀點認為大模型從供應側可以分為通用預訓練大模型、微調的行業垂直大模型、以及各種任務類模型等,各種模型優點和用途都不同,因此要求計算框架能夠支持多種模型的混合使用

計算框架南向的算力,在逆全球化擠壓下,已不再是英偉達GPU一統天下,國產芯片開始高歌猛進愈發繁榮,基本每個規模化場景的市場上都會出現多款專用的NPU芯片,要求計算框架能夠支持多樣化芯片的部署調度

常見的計算框架是一整套包含多個組件的軟件包,大致可以分為三層,芯片使能層、深度學習層、計算工具層。

芯片使能層:負責算力硬件的異構計算資源調度,最典型如英偉達的CUDA、以及華為的CANN等。在美國的算力卡脖子政策之前,市場上主流算力是英偉達,故CUDA一統天下。
深度學習層:負責深度學習底層的部分如張量計算庫的實現,主流框架包括PyTorch、TensorFlow、Oneflow、MXNet、華為MindSpore等。
計算工具層負責transformer部分機理的計算實現,這裡又可以細分成多個模塊,常見如deepspeed、vLLM、Megatron-LM、TensorRT等,有些針對分佈式異構訓練加速、有些針對推理加速,也包含集群管理、標識器等工具。

從上述介紹可以看出,當下大模型計算框架存在一個最大的行業痛點,就是復雜,完整的基礎架構要部署多層軟件棧,層層套娃。想象一下,當一傢企業想啟動大模型應用層產品開發時,除了選大模型、選算力芯片,還要選計算框架裡的多層組件,得承擔的前期成本、研發風險非常巨大。

3 如何評價和選擇計算框架

從計算框架的作用來看,主要是銜接大模型和算力,因此我們可以把計算框架的價值抽象為兩個指標:可用性,以及成本。其中,可用性價值可以細分為三類。

指定場景的可用算力。指計算框架可以使能的算力種類,以及優化效果。比如海外市場必須支持英偉達,國內市場經常要求符合信創,故需要使用華為、海光等國產算力,按市場、行業和場景做選擇。所以計算框架支持的芯片數量是一項重要指標

指定場景的可用模型。指計算框架可以承載的模型種類,以及優化效果。比如海外市場要支持llama、bert等,國內市場要支持通義、智譜、百川等,按市場、行業和場景做選擇。所以計算框架支持的模型數量是一項重要指標

指定場景的可用應用。指計算框架可以延展的應用種類,以及優化效果。如果是閉源生態如英偉達和華為,則需要評估指定場景的應用層方案是否會遇到技術限制和開發瓶頸。如果是開源生態,則可以相對更自由地進行開發。

然後,成本價值也可以細分為三類。

計算成本:這項成本最好理解,也最為重要,即同樣的模型跑在同樣的算力上產生的計算性能有什麼不同,這是不同計算框架的效能最直觀的區別。

開發成本:這項成本主要涉及人力成本和時間成本,如同前文所述,計算框架的組件選擇會導致復雜度不同,開發周期和人力需求都會產生很大的差別。

試錯成本:這項成本主要在技術高速發展期出現,當企業開始部署大模型、使用大模型應用時會發現,在很多開發節點需要試錯,尤其在模型的選擇上,各種模型的參數、性能區別很大,迭代速度也很快。我們往往無法確定預訓練的通用大模型是否適用於自己的行業場景,或者難以預判哪個大模型更適合被用作基準來訓練行業垂類大模型。結合上述開發成本,就很容易產生試錯成本。

綜合這些價值考量,我們還可以把計算框架分為兩個大類:

面向雲計算提效的計算框架。雲計算所需的計算框架一般重點會關註:單設備同構,跨設備異構,適用於PC和大型機,追求多機效率,處理訓練等場景時重點是要優化傳輸效率

面向邊端計算提效的計算框架。邊端計算所需的計算框架一般重點會關註:單設備異構,適用於嵌入式系統,追求單機效率,處理推理等場景時重點是要充分利用有限計算資源

4 國內首個開源C 計算框架

雲錦微推出的vt-transformer計算框架是國內首個開源的C 大模型計算框架,主要解決邊緣計算和端側計算提升計算效率課題。與雲計算框架不同的是,vt-transformer特別適用於滿足B端企業客戶常見的低資源硬件需求

一個典型的例子就是vt-transformer用於具身智能(Embodied AI)市場。具身智能系統通常具備感知、認知、決策和行動的能力,能夠通過感知器和執行器與環境進行交互,並根據環境的變化做出相應的決策和行動,典型具身智能有人形機器人、自動駕駛汽車等。具身智能的特點是作為單機智能體,出於成本和安全性考慮往往使用極致精簡的嵌入式系統,算力的配備上也往往是多種異構的輔助芯片協助主芯片,軟件上也會使用多種模型分別處理不同的數據,如文本數據、圖片數據、視頻數據、語音數據、傳感器數據等,即專傢混合模型方式。由於單機計算資源有限,即可以歸為低資源硬件場景,要求計算框架能解決有限計算資源的調度課題

雲錦微的首席科學傢周博士對此給出了vt-transformer計算框架的設計初衷,“當大模型普及後,在具體細分場景解決具體問題一定會是走向專用、特化的計算方向。類似於之前x86的PC機和Linux嵌入式智能硬件的區別,或者GPU市場定位和NPU市場定位的區別,都是前者代表通用性,後者代表專用性、高效、低成本。可以預見,未來的具身智能一定是多個專傢模型,異構的場景功能專用芯片群組成,這需要全新的面向邊緣異構空間的計算架構。通俗點說就是,不存在單一算力或單一模型解決一切場景這樣的命題,混搭是必然。”

上述混搭計算設計已在雲錦微的視覺邊緣智能體上得到充分驗證,方案中的邊緣計算盒子就采用了寒武紀和海思兩顆芯片實現單機異構的計算處理方式,前者處理AI視覺系統的卷積神經網絡計算,後者運行雲錦OS並處理視頻編解碼。

vt-transformer由於其完整的自主知識產權、高度整體性和精簡度高的特點,成為開源生態的一種優秀選擇,可作為英偉達、華為等閉源生態之外的有力補充。該框架的獨特之處在於完全采用C 開發,拋棄Python,易於移植和部署,註重整體優化,支持訓推一體機中實現多卡混搭,支持多種量化計算、KV Cache管理等優化和實用功能。目前vt-transformer已在GitHub開源
https://github.com/viitrix/vt-transformer
,為企業開發者提供了邊端計算場景的有力選擇,其pure C的特點極大降低了開發門檻,使得極簡部署成為可能。

5 雲錦微為用戶提供M x N多樣化矩陣匹配服務

圍繞vt-tranformer,雲錦微為客戶提供全面的計算平臺服務。企業開發者可以自由選配邊緣智能中樞解決方案裡的訓推開發一體機,一站式完成自己場景裡模型M和芯片N的選擇和適配,節約計算成本、開發成本和試錯成本,直接進入智能對話、知識檢索、智能任務等應用開發環節。

歡迎聯系雲錦微探討更多優化計算成本的話題。