在這個智能設備無處不在的時代,我們渴望讓手機、平板、甚至是智能家居設備擁有更強大的智能處理能力。但是,這些邊緣設備的硬件資源有限,特別是內存和計算能力,這限制了大型語言模型(LLMs)在它們上面的部署和運行。想象一下,如果我們能讓這些設備擁有能夠理解自然語言、回答問題、甚至進行創作的強大模型,那將會怎樣改變我們的世界?

這就是T-MAC技術誕生的背景。T-MAC,全稱"Table-Lookup-based MAC",是一種基於查找表的方法,它能讓低比特的大型語言模型在CPU上高效運行,從而實現在邊緣設備上的智能升級。
大型語言模型通常包含數十億甚至數百億的參數,這些參數需要大量的內存來存儲。爲了在邊緣設備上部署這些模型,我們需要對模型的權重進行量化,即使用更少的比特來表示權重,從而減少模型的內存佔用。但是,量化後的模型在運算時需要進行混合精度的矩陣乘法(mpGEMM),這在現有的硬件和軟件系統中並不常見,也缺乏高效的支持。

T-MAC的核心思想是將傳統的基於數據類型的乘法運算,轉變爲基於位的查找表(LUT)查找。這種方法不僅消除了乘法運算,還減少了加法運算,從而大幅提高了運算效率。
具體來說,T-MAC通過以下幾個步驟實現:
將權重矩陣分解爲多個一位矩陣。
預先計算激活向量與所有可能的一位模式的乘積,並將結果存儲在查找表中。
在推理時,通過查找表索引和累加操作,快速得到最終的矩陣乘法結果。
通過在多種邊緣設備上的測試,T-MAC顯示出了顯著的性能優勢。與現有的llama.cpp實現相比,T-MAC在吞吐量上提高了4倍,能耗降低了70%。這使得即使是低端設備,如Raspberry Pi5,也能以超過成人平均閱讀速度的速度生成令牌。
T-MAC不僅在理論上具有優勢,它還具有實際應用的潛力。無論是在智能手機上進行實時語音識別和自然語言處理,還是在智能家居設備上提供更加智能的交互體驗,T-MAC都能發揮重要作用。
T-MAC技術爲低比特大型語言模型在邊緣設備上的部署提供了一種高效、節能的解決方案。它不僅能夠提升設備的智能水平,還能爲用戶帶來更加豐富、便捷的智能體驗。隨着技術的不斷髮展和優化,我們有理由相信,T-MAC將在邊緣智能領域發揮越來越重要的作用。
開源地址:https://github.com/microsoft/T-MAC
論文地址:https://www.arxiv.org/pdf/2407.00088
