自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師 原創(chuàng)

發(fā)布于 2025-3-27 09:30
瀏覽
0收藏

Picovoice首席執(zhí)行官Alireza Kenarsari指出,“picoLLM是Picovoice 深度學習研究人員和量產(chǎn)工程師共同努力的成果。前者研究出X 位量化算法,而后者構(gòu)建了跨平臺的LLM 推理引擎。目的還是在于將LLM遍及到任何設(shè)備且將控制權(quán)交還給企業(yè)”。

picoLLM Inference可以免費使用,沒有任何使用限制。無論是在概念驗證上工作,還是為數(shù)百萬用戶提供服務。只需幾行代碼即可部署。


注:其余的產(chǎn)品線有非商用免費版,也有收費版


1.認識量化(Quantization)

大模型有個基本的指標就是模型參數(shù)規(guī)模,客觀而言參數(shù)規(guī)模越大,效果越佳,但是所需的內(nèi)存越多。例如,要部署 7.7GB 大小的Mistral 7B,需要GPU的VRAM大小要超過8GB才能在GPU完全加載。因此意味著運行更大規(guī)模的模型將需要具有更大規(guī)格的硬件,從而增加成本。

量化是一種壓縮技術(shù),將高精度值映射到低精度值。對于任意的大模型,這意味著它們的權(quán)重和激活精度會被調(diào)整,肯定會對影響模型的能力。在實際的運用過程中發(fā)現(xiàn),某些情況下雖然明顯的減低精度,然而卻又能獲得和原來不相上下的結(jié)果。

量化通過降低內(nèi)存帶寬需求和提高緩存利用率來提高性能,不同精度級別的量化過程能夠更多的設(shè)備上運行大模型。

LLMs通常使用全精度(float32)或半精度(float16)的浮點數(shù)進行訓練。一個float16有16位,即2個字節(jié)。因此在 FP16上訓練參數(shù)規(guī)模為1B的大模型則至少需要2GB的內(nèi)存,這還不包括訓練過程中的優(yōu)化器內(nèi)存、激活內(nèi)存和梯度內(nèi)存。

量化其實就是想找到一種方法,將FP32權(quán)重的值的范圍([最小值,最大值])表示為較低精度的值,例如FP16甚至INT4(整數(shù) 4 位)的數(shù)據(jù)類型。典型的情況是從FP32到INT8。

下圖為一個具體的例子,將FP16格式的數(shù)組量化為INT8的過程,當然最后可以從INT8再次還原為FP16。這樣一來原來模型的存儲大小就被有效的降低了。

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)

其實換個思路來講,就是將數(shù)軸進行壓縮。這里的難題在于如何的量化才能降低存儲開銷,但是又能表達出原來的意思。

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)

目前有不少的量化思路,均勻量化是模型量化中常用的一種技術(shù),用于降低深度學習模型中權(quán)重和激活的精度。在量化過程中將值的范圍劃分為固定數(shù)量的等距區(qū)間,然后將每個值映射到最近區(qū)間的中心。此過程有助于減少表示每個值所需的位數(shù)。

與更復雜的量化技術(shù)相比,均勻量化的主要優(yōu)勢之一是其簡單易用。然而,均勻量化可能并不總是能捕捉到數(shù)據(jù)分布的細微差別。想象一下原始參數(shù)的取值在[3.5,  3.9],若都被量化到4,的確會導致潛在的信息丟失和性能下降。

另一方面,非均勻量化允許量化步距不均勻分布,從而能更準確和更靈活。量化過程由離散量化水平 (Xi) 和相應的量化步驟 (?i) 定義。當實數(shù)落在特定的量化步驟范圍 (?i, ?i+1) 內(nèi)時,量化器將其分配到相應的量化級別 (Xi)。非均勻量化方法(如對數(shù)分布)側(cè)重于以指數(shù)而不是線性方式調(diào)整量化步驟和水平,這可以通過有效捕獲重要值區(qū)域來提高準確性。

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)


左圖為對稱量化,右圖為非對稱量化

2.微調(diào)中的量化

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)



左圖為QAT,右圖為PTQ,兩者的區(qū)別在于量化的位置。



PTQ是一種流行的技術(shù),模型參數(shù)(通常以FP32等高精度格式存儲)被轉(zhuǎn)換為較低位精度的INT8。此轉(zhuǎn)換過程允許在計算資源有限的硬件(如移動設(shè)備和嵌入式系統(tǒng))上更高效地部署模型。PTQ 可以應用于神經(jīng)網(wǎng)絡(luò)的權(quán)重和激活,從而減小模型大小并提高推理速度,而不會顯著降低準確性。

QAT具有在部署期間將應用的量化效應的意識。當對訓練模型進行量化時,可能會導致模型參數(shù)出現(xiàn)擾動,從而可能導致模型偏離訓練期間以浮點精度實現(xiàn)的收斂點。

為了解決這個問題,QAT使用量化參數(shù)重新訓練神經(jīng)網(wǎng)絡(luò)模型,使模型能夠收斂到損失減少的點。在QAT期間,在浮點對量化模型執(zhí)行正向和后向傳遞,而模型參數(shù)在每次梯度更新后進行量化,類似于預測梯度下降。在浮點權(quán)重更新后執(zhí)行投影對于防止零梯度或高誤差梯度至關(guān)重要,尤其是在低精度場景中。

在QAT的反向傳播過程中,處理不可微分的量化算子是一個挑戰(zhàn)。一種常用方法是使用直通估計器 (STE) 通過將量化算子視為恒等函數(shù)來近似量化算子的梯度。

3.picoLLM

picoLLM Compression是Picovoice內(nèi)部開發(fā)的一種新型大型語言模型量化算法。給定一個特定于任務的成本函數(shù),picoLLM Compression 會自動學習跨權(quán)重和權(quán)重內(nèi)LLM的最佳位分配策略。而目前現(xiàn)有技術(shù)方案都是固定分配。

picoLLM提供了一個全面的開源基準測試結(jié)果,例如下圖,當應用于 Llama-3-8b ,picoLLM在2、3和 4位的量化設(shè)置下在MMLU的評測分數(shù)中,將采用GPTQ算法的正確率下降消滅于無形之中。隨著量化位數(shù)的下降,幾乎保持堅挺。

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)

現(xiàn)有方法依賴于跨模型權(quán)重的固定位分配。但是,picoLLM 在量化過程中學習最優(yōu)分配。每個模型最理想的量化位數(shù)取決于自身的架構(gòu)和壓縮比。例如,下面的三張圖顯示了壓縮比為 3、5 和 7 時 Llama-2-7b不同組件之間的位最佳分布:

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)

在MMLU (5-shot)任務上采用picoLLM的效果對比。

AI架構(gòu)系列:picoLLM 大模型的量化魔術(shù)師-AI.x社區(qū)

PicoLLM 框架支持Gemma、Llama、Mistral、Mixtral和Phi系列模型,并在Windows、macOS 和Linux上跨平臺運行(包括Raspberry Pi 4和 5 上的Raspberry Pi OS)以及 Android 和 iOS。下次將詳細地介紹內(nèi)在原理。

本文轉(zhuǎn)載自??魯班模錘??,作者:魯班模錘

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責任
已于2025-3-27 09:31:25修改
收藏
回復
舉報
回復
相關(guān)推薦