模型概述
模型特點
模型能力
使用案例
🚀 Salesforce/Llama-xLAM-2-8b-fc-r的實驗性逐層量化
本項目聚焦於Salesforce/Llama-xLAM-2-8b-fc-r模型的實驗性逐層量化,旨在優化大語言模型(LLM)在資源受限環境中的推理性能。通過特定的量化方法,在保證模型性能的同時,有效減小模型體積,提升運行效率。
✨ 主要特性
- 實驗性量化:採用逐層量化方法,對Salesforce/Llama-xLAM-2-8b-fc-r模型進行實驗性量化,以提高其在資源受限環境中的推理性能。
- 多指標評估:使用多種指標(如困惑度、KL散度、ARC、HellaSwag、MMLU、Truthful QA和WinoGrande分數等)對量化後的模型進行全面評估。
- 數據驅動:基於校準數據集生成重要性矩陣(imatrix),指導張量選擇和量化過程。
📦 安裝指南
文檔未提及安裝步驟,故跳過該章節。
💻 使用示例
文檔未提供代碼示例,故跳過該章節。
📚 詳細文檔
基礎信息
屬性 | 詳情 |
---|---|
基礎模型 | Salesforce/Llama-xLAM-2-8b-fc-r |
數據集 | eaddario/imatrix-calibration |
語言 | 英文 |
許可證 | cc-by-nc-4.0 |
任務類型 | 文本生成 |
標籤 | gguf、quant、experimental |
量化過程
使用 LLaMA C++ 發佈版 b5180 進行量化。具體步驟如下:
- 將原始模型的張量轉換為 GGUF F16。
- 使用 wikitext-2-raw-v1 數據集估計F16模型的困惑度分數(基線),並保存 logits。
- 從選定的校準數據集生成 imatrix。
- 使用修改後的
llama-imatrix
確定張量和層的重要性得分貢獻。 - 為每個張量選擇合適的量化級別,並使用
llama-quantize
對模型進行量化。 - 計算每個量化模型的困惑度、KL散度、ARC、HellaSwag、MMLU、Truthful QA和WinoGrande分數。
- 保留得分最佳的版本。
- 重複上述步驟,直到創建所有所需的量化模型。
模型信息
模型大小
模型 | 原始大小 (GB) | 倉庫大小 (GB) | 壓縮率 |
---|---|---|---|
Llama-xLAM-2-8b-fc-r-IQ3_M | 3.78 | 3.69 | 2.4% |
Llama-xLAM-2-8b-fc-r-IQ3_S | 3.68 | 3.43 | 6.8% |
Llama-xLAM-2-8b-fc-r-IQ4_NL | 4.71 | 4.39 | 6.2% |
Llama-xLAM-2-8b-fc-r-Q3_K_L | 4.32 | 3.76 | 13.0% |
Llama-xLAM-2-8b-fc-r-Q3_K_M | 4.02 | 3.56 | 11.4% |
Llama-xLAM-2-8b-fc-r-Q3_K_S | 3.66 | 3.31 | 9.6% |
Llama-xLAM-2-8b-fc-r-Q4_K_M | 4.92 | 4.41 | 10.4% |
Llama-xLAM-2-8b-fc-r-Q4_K_S | 4.69 | 4.28 | 8.7% |
Llama-xLAM-2-8b-fc-r-Q5_K_M | 5.73 | 5.38 | 6.1% |
Llama-xLAM-2-8b-fc-r-Q5_K_S | 5.60 | 5.24 | 6.4% |
Llama-xLAM-2-8b-fc-r-Q6_K | 6.60 | 6.57 | 0.5% |
Llama-xLAM-2-8b-fc-r-Q8_0 | 8.54 | 7.73 | 9.5% |
困惑度和KL散度分數
模型 | 平均困惑度 | 相對困惑度 | 平均KL散度 | RMS誤差 |
---|---|---|---|---|
Llama-xLAM-2-8b-fc-r-IQ3_M | 8.471225 ±0.059374 | 98.14% | 0.096730 ±0.000436 | 9.339 ±0.048 |
Llama-xLAM-2-8b-fc-r-IQ3_S | 8.675839 ±0.060418 | 97.37% | 0.137925 ±0.000554 | 11.245 ±0.051 |
Llama-xLAM-2-8b-fc-r-IQ4_NL | 8.337503 ±0.060156 | 99.09% | 0.047455 ±0.000243 | 6.280 ±0.039 |
Llama-xLAM-2-8b-fc-r-Q3_K_L | 8.894129 ±0.063417 | 97.22% | 0.136754 ±0.000659 | 11.276 ±0.057 |
Llama-xLAM-2-8b-fc-r-Q3_K_M | 8.991141 ±0.063906 | 96.89% | 0.152094 ±0.000706 | 11.870 ±0.058 |
Llama-xLAM-2-8b-fc-r-Q3_K_S | 9.352260 ±0.066573 | 95.91% | 0.198689 ±0.000870 | 13.526 ±0.061 |
Llama-xLAM-2-8b-fc-r-Q4_K_M | 8.230419 ±0.058263 | 99.18% | 0.041808 ±0.000219 | 5.988 ±0.037 |
Llama-xLAM-2-8b-fc-r-Q4_K_M (naive) | 8.072811 ±0.057158 | 99.60% | 0.019868 ±0.000110 | 4.044 ±0.029 |
Llama-xLAM-2-8b-fc-r-Q4_K_S | 8.239495 ±0.058176 | 99.10% | 0.045691 ±0.000240 | 6.262 ±0.039 |
Llama-xLAM-2-8b-fc-r-Q5_K_M | 8.062572 ±0.057549 | 99.77% | 0.011576 ±0.000073 | 3.136 ±0.025 |
Llama-xLAM-2-8b-fc-r-Q5_K_S | 8.057947 ±0.057474 | 99.75% | 0.012330 ±0.000075 | 3.210 ±0.026 |
Llama-xLAM-2-8b-fc-r-Q6_K | 7.983587 ±0.056711 | 99.91% | 0.004239 ±0.000034 | 1.912 ±0.018 |
Llama-xLAM-2-8b-fc-r-Q8_0 | 7.982215 ±0.056796 | 99.94% | 0.002365 ±0.000026 | 1.449 ±0.019 |
Llama-xLAM-2-8b-fc-r-F16 | 7.968796 ±0.056714 | 100% | N/A | N/A |
ARC、HellaSwag、MMLU、Truthful QA和WinoGrande分數
模型 | ARC | HellaSwag | MMLU | Truthful QA | WinoGrande | 平均分數 |
---|---|---|---|---|---|---|
Llama-xLAM-2-8b-fc-r-IQ3_M | 64.6667 ±1.7466 | 76.67 | 38.5333 ±1.7783 | 29.6000 ±1.6680 | 74.5333 ±1.5919 | 56.80 |
Llama-xLAM-2-8b-fc-r-IQ3_S | 60.8000 ±1.7838 | 72.40 | 38.0000 ±1.7736 | 30.9333 ±1.6889 | 72.5333 ±1.6309 | 54.93 |
Llama-xLAM-2-8b-fc-r-IQ4_NL | 66.0000 ±1.7309 | 77.73 | 39.0667 ±1.7827 | 30.8000 ±1.6869 | 73.7333 ±1.6080 | 57.47 |
Llama-xLAM-2-8b-fc-r-Q3_K_L | 65.0667 ±1.7420 | 76.67 | 38.6667 ±1.7794 | 29.6000 ±1.6680 | 71.6000 ±1.6477 | 56.32 |
Llama-xLAM-2-8b-fc-r-Q3_K_M | 64.4000 ±1.7496 | 76.93 | 37.4667 ±1.7686 | 30.0000 ±1.6744 | 71.8667 ±1.6430 | 56.13 |
Llama-xLAM-2-8b-fc-r-Q3_K_S | 61.6000 ±1.7771 | 75.73 | 38.4000 ±1.7771 | 30.2667 ±1.6787 | 72.4000 ±1.6334 | 55.68 |
Llama-xLAM-2-8b-fc-r-Q4_K_M | 65.6000 ±1.7358 | 77.33 | 39.0667 ±1.7827 | 30.4000 ±1.6807 | 73.8667 ±1.6054 | 57.25 |
Llama-xLAM-2-8b-fc-r-Q4_K_M (naive) | 66.2667 ±1.7276 | 77.47 | 39.6000 ±1.7870 | 31.2000 ±1.6929 | 72.5333 ±1.6309 | 57.41 |
Llama-xLAM-2-8b-fc-r-Q4_K_S | 65.7333 ±1.7342 | 77.07 | 39.3333 ±1.7849 | 30.6667 ±1.6849 | 73.6000 ±1.6106 | 57.28 |
Llama-xLAM-2-8b-fc-r-Q5_K_M | 66.4000 ±1.7259 | 78.80 | 39.8667 ±1.7890 | 32.0000 ±1.7045 | 74.0000 ±1.6027 | 58.21 |
Llama-xLAM-2-8b-fc-r-Q5_K_S | 65.7333 ±1.7342 | 78.93 | 39.4667 ±1.7860 | 32.0000 ±1.7045 | 74.1333 ±1.6001 | 58.05 |
Llama-xLAM-2-8b-fc-r-Q6_K | 65.4667 ±1.7374 | 78.80 | 39.3333 ±1.7849 | 32.2667 ±1.7082 | 73.6000 ±1.6106 | 57.89 |
Llama-xLAM-2-8b-fc-r-Q8_0 | 66.0000 ±1.7309 | 78.93 | 39.2000 ±1.7838 | 32.0000 ±1.7045 | 74.4000 ±1.5947 | 58.11 |
Llama-xLAM-2-8b-fc-r-F16 | 65.7333 ±1.7342 | 78.40 | 40.0000 ±1.7900 | 31.3333 ±1.6949 | 74.1333 ±1.6001 | 57.92 |
每秒令牌數 - 基準測試
模型 | 大小 | 參數 | 後端 | 線程數 | 測試類型 | 每秒令牌數 |
---|---|---|---|---|---|---|
Llama-xLAM-2-8b-fc-r-Q4_K_M | 4.10 GiB | 8.03 B | Metal,BLAS | 6 | pp512 | 314.18 ± 0.08 |
Llama-xLAM-2-8b-fc-r-Q4_K_M | 4.10 GiB | 8.03 B | Metal,BLAS | 6 | tg128 | 28.09 ± 0.03 |
Llama-xLAM-2-8b-fc-r-Q4_K_M | 4.10 GiB | 8.03 B | Metal,BLAS | 6 | pp1024+tg1024 | 44.57 ± 0.09 |
Llama-xLAM-2-8b-fc-r-Q4_K_M (naive) | 4.58 GiB | 8.03 B | Metal,BLAS | 6 | pp512 | 327.86 ± 0.57 |
Llama-xLAM-2-8b-fc-r-Q4_K_M (naive) | 4.58 GiB | 8.03 B | Metal,BLAS | 6 | tg128 | 26.15 ± 0.10 |
Llama-xLAM-2-8b-fc-r-Q4_K_M (naive) | 4.58 GiB | 8.03 B | Metal,BLAS | 6 | pp1024+tg1024 | 42.97 ± 0.10 |
指標說明
- 困惑度(Perplexity):自然語言處理評估中的關鍵指標之一,用於衡量語言模型預測下一個令牌的能力。值越接近1表示模型預測越準確。
- KL散度(Kullback–Leibler Divergence):衡量兩個概率分佈之間差異的統計指標。在量化模型時,該值越接近0表示量化後的模型權重概率分佈與原始模型越接近。
- AI2推理挑戰(ARC):評估AI模型回答複雜科學問題的能力,要求模型具備超越模式匹配的邏輯推理能力。
- HellaSwag:用於測試常識自然語言推理的基準,要求模型預測句子最可能的結尾。
- MMLU:評估大語言模型在57個主題上的通用知識和問題解決能力,包括初等數學、美國曆史、計算機科學和法律等。
- Truthful QA:評估大語言模型生成真實回答的能力,確保模型避免生成虛假或誤導性信息。
- Winogrande:基於Winograd Schema Challenge的自然語言理解任務,要求模型解決涉及代詞引用的句子歧義問題。
🔧 技術細節
本項目使用 LLaMA C++ 發佈版 b5180 進行量化。具體方法是通過自定義版本的 llama-imatrix
和 llama-quantize
來識別有影響力的張量,並對最重要的層進行更高比特精度的量化,對不太重要的層進行較低比特的量化。這一過程部分受到Dumitru等人的 Layer-Wise Quantization: A Pragmatic and Effective Method for Quantizing LLMs Beyond Integer Bit-Levels 論文的啟發。
修改後的 llama-imatrix 生成有用的統計信息,以指導張量選擇過程。這些統計信息包括偏差總和、最小和最大激活值、均值和標準差、活躍元素比例、激活數量、熵、歸一化熵、ZD分數和餘弦相似度等。
所有實驗版本均使用從校準數據集 eaddario/imatrix-calibration 創建的適當重要性矩陣(imatrix)生成。重要性矩陣本質上是一個表格或結構化表示,用於量化機器學習模型中不同特徵或參數的相對重要性,有助於平衡量化和剪枝的負面影響。
📄 許可證
本項目採用 cc-by-nc-4.0 許可證。
致謝
特別感謝 Colin Kealty 的諸多貢獻,他是Huggingface上高質量量化模型的優質來源之一。同時,非常感謝 Georgi Gerganov 在 llama.cpp 和 ggml/gguf 庫方面的傑出工作。



