🚀 微軟NextCoder - 32B的Llamacpp imatrix量化版本
本項目是微軟NextCoder - 32B模型的量化版本,使用llama.cpp
工具對原模型進行量化處理,以在不同硬件條件下更高效地運行模型。
🚀 快速開始
量化工具
使用 llama.cpp 的 b5856 版本進行量化。
原模型地址
https://huggingface.co/microsoft/NextCoder - 32B
運行方式
✨ 主要特性
- 多種量化類型:提供了豐富的量化類型供選擇,如
bf16
、Q8_0
、Q6_K_L
等,以滿足不同的性能和質量需求。
- 在線重打包:部分量化類型支持在線重打包權重,可在ARM和AVX機器上自動優化性能。
- 靈活下載:支持使用
huggingface - cli
下載特定文件或整個模型分支。
📦 安裝指南
安裝huggingface - cli
pip install -U "huggingface_hub[cli]"
下載特定文件
huggingface-cli download bartowski/microsoft_NextCoder-32B-GGUF --include "microsoft_NextCoder-32B-Q4_K_M.gguf" --local-dir ./
下載拆分的大模型
如果模型大於50GB,已拆分為多個文件,可使用以下命令下載到本地文件夾:
huggingface-cli download bartowski/microsoft_NextCoder-32B-GGUF --include "microsoft_NextCoder-32B-Q8_0/*" --local-dir ./
可以指定新的本地目錄,也可以直接下載到當前目錄。
💻 使用示例
提示格式
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
📚 詳細文檔
下載文件列表
嵌入/輸出權重
部分量化類型(如Q3_K_XL、Q4_K_L等)採用標準量化方法,將嵌入和輸出權重量化為Q8_0,而非默認值。
ARM/AVX信息
以前,需要下載Q4_0_4_4/4_8/8_8文件,這些文件的權重在內存中交錯排列,以提高ARM和AVX機器的性能。現在,有了“在線重打包”功能,詳情見 此PR。如果使用Q4_0且硬件能從權重重打包中受益,將自動進行即時重打包。
從llama.cpp構建 b4282 版本開始,將無法運行Q4_0_X_X文件,需使用Q4_0。此外,由於 此PR,可以使用IQ4_NL獲得稍好的質量,它也會為ARM重打包權重,但目前僅支持4_4。加載時間可能會變慢,但總體速度會提高。
如何選擇文件
點擊查看詳情
首先,需要確定能運行的模型大小,這取決於可用的RAM和/或VRAM。
- **追求最快速度**:如果希望模型儘可能快地運行,應選擇文件大小比GPU總VRAM小1 - 2GB的量化文件,以將整個模型放入GPU的VRAM中。
- **追求最高質量**:如果追求絕對最高質量,將系統RAM和GPU的VRAM相加,然後選擇文件大小比該總和小1 - 2GB的量化文件。
接下來,需要決定使用“I - 量化”還是“K - 量化”。
- 簡單選擇:如果不想過多考慮,選擇K - 量化文件,格式為“QX_K_X”,如Q5_K_M。
- 深入瞭解:如果想深入瞭解,可以查看 [llama.cpp特性矩陣](https://github.com/ggerganov/llama.cpp/wiki/Feature - matrix)。一般來說,如果目標是低於Q4的量化,並且使用cuBLAS(Nvidia)或rocBLAS(AMD),應選擇I - 量化文件,格式為IQX_X,如IQ3_M。這些是較新的量化類型,在相同大小下提供更好的性能。不過,I - 量化文件在CPU上運行時會比K - 量化文件慢,因此需要在速度和性能之間進行權衡。
🔧 技術細節
本項目使用llama.cpp
的imatrix
選項進行量化,校準數據集來自 此處。
📄 許可證
本項目採用MIT許可證。
致謝
感謝kalomaze和Dampf協助創建imatrix校準數據集。
感謝ZeroWw啟發了對嵌入/輸出的實驗。
感謝LM Studio贊助本項目。
如果想支持我的工作,請訪問我的ko - fi頁面:https://ko - fi.com/bartowski