借助小語言模型,高效 Arm 計算賦能定制化 AI 未來
隨著我們逐步邁入人工智能 (AI) 的世界,小體量模型愈發具有大優勢。
本文引用地址:http://www.j9360.com/article/202407/460786.htm在過去的一年多里,大語言模型 (LLM) 推動了生成式 AI 的早期創新浪潮,訓練參數量朝萬億級規模邁進,但越來越多的證據表明,無限制地擴展 LLM 并不具備可持續性。至少來說,通過此方式來發展 AI 所需的基礎設施成本過于高昂,僅有少數企業可以承受。此類 LLM 需要消耗大量算力和電力,運營成本不菲。這些項目將帶來沉重的財務和資源負擔,例如 GPT-4 的訓練成本至少為一億美元。
除此之外,這些 LLM 的開發和部署過程也相對復雜。劍橋大學的一項研究 [1] 指出,企業將花費超過 90 天來部署單一的機器學習 (ML) 模型。漫長的周期阻礙了快速開發和迭代實驗的步伐,而這在 AI 技術飛速發展的領域卻又至關重要。
綜合考慮以上因素和其他挑戰,AI 的開發重心正逐漸轉向小語言模型 (Small Language Models, SLM),有時或稱小型 LLM,從而借助其效率更高、資源需求更少,以及更易于定制和控制等優勢來解決多項挑戰。相比于生成較復雜或精細的內容,SLM(例如 Llama、Mistral、Qwen、Gemma、Phi-3 的小規模參數版本)在執行對話、翻譯、摘要和分類等較簡單的集中任務時,效率更高,其訓練過程也僅需消耗較少的電力。
這有助于開發者構建具有多模態功能的生成式 AI 解決方案,用于處理和生成文本、圖像和音頻等不同媒體形式的內容。
Llama 3 等基礎模型可以利用特定上下文數據進一步微調,以專注于特定應用領域,如醫學科學、代碼生成或其它專業知識領域。結合這些較小體量 LLM 的可及性,這些應用讓生成式 AI 更為普及,并讓不具備 GPU 集群的應用開發者也可獲得 AI 功能,進而開辟了新的應用和用例。
與此同時,諸如量化等底層優化技術也是提高模型效率的有效方式。量化技術通過對神經網絡權重進行更低精度計算,可以縮減模型大小。量化可以將 16 位浮點數壓縮為 4 位整數,進而大幅降低了內存和計算需求,對準確度也僅有細微影響。例如,應用這一方法后,原本擁有 70 億參數的 Llama 2 模型可從 13.5 GB 縮減至 3.9 GB,130 億參數版本可從 26.1 GB 縮減至 7.3 GB,700 億參數模型可從 138 GB 縮減至 40.7 GB。這項技術提高了這些輕量級模型的運行速度,還降低了軟件運行成本,尤其是在 CPU 上的軟件運行成本。
結合更高效、性能更強大的 Arm CPU 技術,這些軟件進展使規模更小、效率更高的 語言模型能夠直接在移動設備上運行 ,從而提高性能、保護隱私并優化用戶體驗。
llama.cpp 等專用框架也促進了 SLM 的興起。與 PyTorch 等通用框架相比,llama.cpp 專注于優化 CPU 推理的性能,能在通用硬件上更快速、更高效地執行基于 Llama 的模型。這種可及性為廣泛部署提供了新的可能,而無需依賴專門的 GPU 資源,從而使 LLM 能夠服務于更廣泛的用戶群體和應用。
那么,硬件在其中又扮演了什么角色呢?
以 Arm 的方式來體現效率的價值
Arm Neoverse CPU 通過 Neon 和 SVE 等 SIMD 指令提升 ML 處理進程,尤其是用以加速通用矩陣乘法 (General Matrix Multiplications, GEMM),這是一種涉及神經網絡內部復雜乘法的核心算法。在過去幾代產品中,Arm 不斷在其 Neon 和 SVE2 引擎中引入 SDOT (Signed Dot Product) 和 MMLA (Matrix Multiply Accumulate) 等功能指令,進而增強關鍵的 ML 算法。這有助于提高廣泛部署的服務器 CPU 效率,如 AWS Graviton 和 NVIDIA Grace,以及近期宣布投入量產的 Microsoft Cobalt 和 Google Axion 。
典型的 LLM 管線可劃分為兩個階段:
第一階段:提示處理,準備模型的輸入數據,目的是提高響應速度。
第二階段:詞元 (Token) 生成,一次創建一段文本,重點在于吞吐量和可擴展性。
在聊天、風格轉換、總結生成和內容創建等不同應用中,提示大小、詞元生成以及對于速度、質量需求之間的優先級會有所不同。交互式聊天優先考慮快速響應,風格轉換強調輸出質量,總結生成需要平衡全面性和及時性,而內容創建則側重于生成大量優質素材。
簡而言之,語言模型是否有效,取決于能否根據快速交互、高效摘要、高質量寫作和大量內容創作輸入處理等任務需要,精細調整其輸入處理和文本生成。
Llama 3 在 AWS Graviton3 上的性能表現
為了評估 Neoverse CPU 執行 LLM 任務的效率,Arm 軟件團隊和合作伙伴對 llama.cpp 中的 int4 和 int8 內核進行了優化,以利用基于 Arm 架構的服務器 CPU 中較新的指令。團隊使用經過 int4 量化并具有 80 億參數的 Llama 3 模型,對 AWS r7g.16xlarge 實例進行了性能測試,該實例搭載了 64 個基于 Arm 架構的 Graviton3 核心并配置了 512 GB RAM。
測試結果如下:
提示處理:經過 Arm 優化,每秒處理的詞元數提高了三倍;在更大的批次大小時,有小幅性能提升。
詞元生成:經過 Arm 優化,吞吐量提高了兩倍,有助于更高效地處理更大的批次大小。
AWS Graviton3 在單個和批量處理場景中均達到了新興行業共同要求的針對交互式 LLM 部署的 100ms 延遲目標。即使是在 2019 年推出的 Graviton2 上,也能在 100ms 延遲目標內運行多達 80 億參數的 LLM。
與當前一代 x86 實例相比,AWS Graviton3 在提示處理和詞元生成方面的性能高了三倍。
成本效益:Graviton3 實例的價格低于 Sapphire Rapids 和 Genoa。Graviton3 的單位價格詞元生成數量高了三倍,是采用和擴展 LLM 經濟高效的理想之選。
想要詳細了解該性能測試,盡請關注 Arm 社區的后續文章!
靈活且價格經濟
基于 CPU 的云實例為開發者提供了靈活、經濟、快速的開發起點,使其能夠輕松在應用中部署規模較小的專用 LLM。Arm 在自身的架構中引入了多項關鍵功能,顯著提升了 LLM 的性能。得益于此,與其他服務器 CPU 相比,廣泛部署且基于 Neoverse 平臺的服務器處理器(如 AWS Graviton3)不僅能提供業界領先的 LLM 性能,還能為更多應用開發者降低采用 LLM 的成本門檻。
具體來說,僅需兩分錢左右就可以在兩秒鐘內處理完本篇推文,并在不到一秒鐘內生成簡短摘要。
Arm 一直處于推動向 SLM 發展的前沿,我們深切認識到了這一趨勢的潛力,并已準備好迎接這一轉變。深深根植于 Arm DNA 的高效和出色性能的 CPU 廣受市場贊譽,能在不會影響質量或性能的前提下,無縫運行 AI 工作負載。
較大規模的語言模型在短短一年多的時間對科技行業和整個社會產生了深遠影響,短時間內必然不會消失。
即使是 OpenAI 首席執行官 Sam Altman 也已看到了即將發生的變化。他表示:大模型時代將告一段落,未來的重點將轉向專用和定制模型。只有根據客戶和特定領域的數據對這些模型進行優化調整,才能真正釋放其價值潛能。
隨著定制化難度降低和必要性提升,SLM 正借此東風展翅高飛,占據其市場位置。
正如 AI 初創公司 Hugging Face 首席執行官 Clem Delangue 表示,多達 99% 的用例都可以使用 SLM 來解決,他預計 2024 年將是 SLM 綻放的一年。
我們即將迎來的小語言模型將大有可為!
評論