Qwen2.5 3B Instruct GGUF
模型概述
Qwen2.5-3B-Instruct是基於Qwen2.5-3B的指令優化版本,支持文本生成和聊天任務。通過創新的IQ-DynamicGate量化技術,在保持高精度的同時顯著降低內存佔用。
模型特點
IQ-DynamicGate量化技術
採用分層策略進行動態精度分配,在超低位量化(1-2位)下仍能保持較高準確性
關鍵組件保護
嵌入層和輸出層使用更高精度量化(Q5_K),減少誤差傳播
多格式支持
提供從BF16到IQ3_XS等多種量化格式,適應不同硬件需求
內存高效
最小量化版本僅需2.1GB內存,適合邊緣設備部署
模型能力
文本生成
對話系統
指令跟隨
使用案例
資源受限環境部署
邊緣設備AI助手
在內存有限的邊緣設備上部署聊天機器人
IQ1_S量化版本僅需2.1GB內存
CPU推理優化
在沒有GPU的設備上運行大型語言模型
Q4_K量化版本適合CPU推理
研究應用
超低位量化研究
研究1-2位量化對模型性能的影響
IQ-DynamicGate技術可降低39.7%困惑度
🚀 Qwen2.5-3B-Instruct GGUF模型
Qwen2.5-3B-Instruct GGUF模型採用了最新的超低比特量化方法,在保持高精度的同時,極大地提高了內存使用效率。該模型適用於多種硬件環境,能滿足不同場景下的推理需求。
🚀 快速開始
以下是一個使用apply_chat_template
加載分詞器和模型並生成內容的代碼示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-3B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
✨ 主要特性
超低比特量化技術
- 引入了針對超低比特模型(1 - 2比特)的精度自適應量化方法,在Llama - 3 - 8B模型上經過基準測試驗證,性能得到顯著提升。
- 採用特定層策略,在保持極高內存效率的同時,有效保留了模型的準確性。
多模型格式支持
- 提供BF16、F16、量化模型(Q4_K、Q6_K、Q8等)多種格式,可根據硬件能力和內存限制靈活選擇。
廣泛的應用場景
- 適用於GPU顯存有限的場景、內存受限的部署環境、CPU和邊緣設備,以及超低比特量化研究。
📦 安裝指南
文檔未提及具體安裝步驟,可參考Hugging Face的transformers
庫安裝方法。
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-3B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
高級用法
文檔未提及高級用法示例。
📚 詳細文檔
量化方法詳情
基準測試環境
所有測試均在Llama - 3 - 8B - Instruct上進行,使用標準困惑度評估管道、2048令牌上下文窗口,並在所有量化方法中使用相同的提示集。
量化方法
- 動態精度分配:
- 前/後25%的層採用IQ4_XS(選定層)。
- 中間50%的層採用IQ2_XXS/IQ3_S以提高效率。
- 關鍵組件保護:
- 嵌入層/輸出層使用Q5_K,與標準1 - 2比特量化相比,誤差傳播降低38%。
量化性能比較(Llama - 3 - 8B)
量化方式 | 標準困惑度 | DynamicGate困惑度 | 困惑度變化 | 標準大小 | DG大小 | 大小變化 | 標準速度 | DG速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
關鍵改進:
- 🔥 IQ1_M的困惑度大幅降低43.9%(從27.46降至15.41)。
- 🚀 IQ2_S的困惑度降低36.9%,同時僅增加0.2GB大小。
- ⚡ IQ1_S在1比特量化的情況下,精度仍提高39.7%。
權衡:
- 所有變體的大小均有適度增加(0.1 - 0.3GB)。
- 推理速度差異不大(<5%)。
模型格式選擇
BF16(Brain Float 16)
- 適用於支持BF16加速的硬件,提供與FP32相似的動態範圍,但內存使用更低。
- 使用場景:硬件支持BF16加速、需要更高精度並節省內存、計劃將模型重新量化為其他格式。
- 避免場景:硬件不支持BF16、需要與缺乏BF16優化的舊設備兼容。
F16(Float 16)
- 比BF16更廣泛支持,適用於大多數支持FP16加速的設備。
- 使用場景:硬件支持FP16但不支持BF16、需要在速度、內存使用和準確性之間取得平衡、在GPU或其他針對FP16計算優化的設備上運行。
- 避免場景:設備缺乏原生FP16支持、有內存限制。
量化模型(Q4_K、Q6_K、Q8等)
- 用於CPU和低顯存推理,通過量化降低模型大小和內存使用,同時儘可能保持準確性。
- 低比特模型(Q4_K):最適合最小化內存使用,但精度可能較低。
- 高比特模型(Q6_K、Q8_0):精度更高,但需要更多內存。
- 使用場景:在CPU上運行推理、設備顯存較低、希望在保持合理準確性的同時減少內存佔用。
- 避免場景:需要最高精度、硬件有足夠顯存支持更高精度格式(BF16/F16)。
極低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
- 針對極端內存效率進行優化,適用於低功耗設備或內存受限的大規模部署。
- IQ3_XS:超低比特量化(3比特),具有極高的內存效率,適用於超低內存設備,但精度較低。
- IQ3_S:小塊大小,最大程度提高內存效率,適用於低內存設備。
- IQ3_M:中等塊大小,精度優於IQ3_S,適用於低內存設備。
- Q4_K:4比特量化,塊級優化,精度較好,適用於低內存設備。
- Q4_0:純4比特量化,針對ARM設備優化,適用於ARM設備或低內存環境。
模型格式選擇總結表
模型格式 | 精度 | 內存使用 | 設備要求 | 最佳使用場景 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持BF16的GPU/CPU | 高速推理,減少內存佔用 |
F16 | 高 | 高 | 支持FP16的設備 | BF16不可用時的GPU推理 |
Q4_K | 中低 | 低 | CPU或低顯存設備 | 內存受限環境 |
Q6_K | 中等 | 適中 | 內存較多的CPU | 量化模型中精度較好 |
Q8_0 | 高 | 適中 | 有足夠顯存的CPU或GPU | 量化模型中精度最高 |
IQ3_XS | 極低 | 極低 | 超低內存設備 | 極端內存效率,低精度 |
Q4_0 | 低 | 低 | ARM或低內存設備 | llama.cpp可針對ARM設備優化 |
包含文件詳情
Qwen2.5-3B-Instruct-bf16.gguf
:模型權重保存為BF16格式,適用於支持BF16加速的設備,可用於將模型重新量化為其他格式。Qwen2.5-3B-Instruct-f16.gguf
:模型權重保存為F16格式,適用於支持FP16但不支持BF16的設備。Qwen2.5-3B-Instruct-bf16-q8_0.gguf
:輸出和嵌入層保持為BF16,其他層量化為Q8_0,適用於支持BF16且需要量化版本的設備。Qwen2.5-3B-Instruct-f16-q8_0.gguf
:輸出和嵌入層保持為F16,其他層量化為Q8_0。Qwen2.5-3B-Instruct-q4_k.gguf
:輸出和嵌入層量化為Q8_0,其他層量化為Q4_K,適用於內存有限的CPU推理。Qwen2.5-3B-Instruct-q4_k_s.gguf
:最小的Q4_K變體,內存使用更少,但精度較低,適用於極低內存環境。Qwen2.5-3B-Instruct-q6_k.gguf
:輸出和嵌入層量化為Q8_0,其他層量化為Q6_K。Qwen2.5-3B-Instruct-q8_0.gguf
:全Q8量化模型,精度更高,但需要更多內存。Qwen2.5-3B-Instruct-iq3_xs.gguf
:IQ3_XS量化,針對極端內存效率優化,適用於超低內存設備。Qwen2.5-3B-Instruct-iq3_m.gguf
:IQ3_M量化,中等塊大小,精度較好,適用於低內存設備。Qwen2.5-3B-Instruct-q4_0.gguf
:純Q4_0量化,針對ARM設備優化,適用於低內存環境,若需要更高精度,可選擇IQ4_NL。
模型測試
如果您覺得這些模型有用,請點擊“點贊”!同時,歡迎幫助測試AI網絡監控助手,進行量子就緒安全檢查: 👉 免費網絡監控器
測試方法
- 點擊任意頁面右下角的聊天圖標。
- 選擇AI助手類型:
TurboLLM
(GPT - 4 - mini)FreeLLM
(開源)TestLLM
(僅支持CPU的實驗性模型)
測試內容
- 推動小型開源模型在AI網絡監控中的極限,具體包括:
- 針對即時網絡服務進行函數調用。
- 探索模型在處理以下任務時的最小規模:
- 自動化Nmap掃描。
- 量子就緒檢查。
- Metasploit集成。
各助手特點
- 🟡 TestLLM:當前實驗性模型(llama.cpp在6個CPU線程上運行),零配置設置,加載時間30秒(推理速度慢,但無API成本),尋求邊緣設備AI方面的合作!
- 🟢 TurboLLM:使用gpt - 4 - mini進行即時網絡診斷和自動化滲透測試(Nmap/Metasploit),可通過下載免費網絡監控代理獲取更多令牌。
- 🔵 HugLLM:開源模型(約80億參數),令牌數量是TurboLLM的2倍,支持AI日誌分析,在Hugging Face推理API上運行。
示例AI測試命令
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a quick Nmap vulnerability test"
🔧 技術細節
模型介紹
Qwen2.5是通義大語言模型的最新系列,針對Qwen2.5發佈了一系列參數從5億到720億的基礎語言模型和指令微調語言模型。與Qwen2相比,Qwen2.5有以下改進:
- 知識量顯著增加,在編碼和數學方面的能力大幅提升,得益於在這些領域的專業專家模型。
- 在指令遵循、長文本生成(超過8K令牌)、結構化數據理解(如表格)和結構化輸出生成(特別是JSON)方面有顯著改進,對系統提示的多樣性更具魯棒性,增強了聊天機器人的角色扮演實現和條件設置。
- 支持長達128K令牌的長上下文,可生成多達8K令牌的內容。
- 支持超過29種語言,包括中文、英文、法語、西班牙語、葡萄牙語、德語、意大利語、俄語、日語、韓語、越南語、泰語、阿拉伯語等。
模型參數
屬性 | 詳情 |
---|---|
模型類型 | 因果語言模型 |
訓練階段 | 預訓練和後訓練 |
架構 | 帶有RoPE、SwiGLU、RMSNorm、注意力QKV偏置和綁定詞嵌入的transformers |
參數數量 | 30.9億 |
非嵌入參數數量 | 27.7億 |
層數 | 36 |
注意力頭數量(GQA) | Q為16,KV為2 |
上下文長度 | 完整32,768令牌,生成8192令牌 |
評估與性能
詳細評估結果見📑 博客。GPU內存要求和相應吞吐量結果見此處。
📄 許可證
本項目採用qwen-research許可證。
引用
如果您覺得我們的工作有幫助,請引用以下文獻:
@misc{qwen2.5,
title = {Qwen2.5: A Party of Foundation Models},
url = {https://qwenlm.github.io/blog/qwen2.5/},
author = {Qwen Team},
month = {September},
year = {2024}
}
@article{qwen2,
title={Qwen2 Technical Report},
author={An Yang and Baosong Yang and Binyuan Hui and Bo Zheng and Bowen Yu and Chang Zhou and Chengpeng Li and Chengyuan Li and Dayiheng Liu and Fei Huang and Guanting Dong and Haoran Wei and Huan Lin and Jialong Tang and Jialin Wang and Jian Yang and Jianhong Tu and Jianwei Zhang and Jianxin Ma and Jin Xu and Jingren Zhou and Jinze Bai and Jinzheng He and Junyang Lin and Kai Dang and Keming Lu and Keqin Chen and Kexin Yang and Mei Li and Mingfeng Xue and Na Ni and Pei Zhang and Peng Wang and Ru Peng and Rui Men and Ruize Gao and Runji Lin and Shijie Wang and Shuai Bai and Sinan Tan and Tianhang Zhu and Tianhao Li and Tianyu Liu and Wenbin Ge and Xiaodong Deng and Xiaohuan Zhou and Xingzhang Ren and Xinyu Zhang and Xipin Wei and Xuancheng Ren and Yang Fan and Yang Yao and Yichang Zhang and Yu Wan and Yunfei Chu and Yuqiong Liu and Zeyu Cui and Zhenru Zhang and Zhihao Fan},
journal={arXiv preprint arXiv:2407.10671},
year={2024}
}
Phi 2 GGUF
其他
Phi-2是微軟開發的一個小型但強大的語言模型,具有27億參數,專注於高效推理和高質量文本生成。
大型語言模型 支持多種語言
P
TheBloke
41.5M
205
Roberta Large
MIT
基於掩碼語言建模目標預訓練的大型英語語言模型,採用改進的BERT訓練方法
大型語言模型 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基礎模型的蒸餾版本,在保持相近性能的同時更輕量高效,適用於序列分類、標記分類等自然語言處理任務。
大型語言模型 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一個多語言大語言模型,針對多語言對話用例進行了優化,在常見的行業基準測試中表現優異。
大型語言模型 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基於100種語言的2.5TB過濾CommonCrawl數據預訓練的多語言模型,採用掩碼語言建模目標進行訓練。
大型語言模型 支持多種語言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基於Transformer架構的英語預訓練模型,通過掩碼語言建模目標在海量文本上訓練,支持文本特徵提取和下游任務微調
大型語言模型 英語
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI發佈的開放預訓練Transformer語言模型套件,參數量從1.25億到1750億,旨在對標GPT-3系列性能,同時促進大規模語言模型的開放研究。
大型語言模型 英語
O
facebook
6.3M
198
1
基於transformers庫的預訓練模型,適用於多種NLP任務
大型語言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多語言大語言模型系列,包含8B、70B和405B參數規模,支持8種語言和代碼生成,優化了多語言對話場景。
大型語言模型
Transformers 支持多種語言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基礎版是由Google開發的文本到文本轉換Transformer模型,參數規模2.2億,支持多語言NLP任務。
大型語言模型 支持多種語言
T
google-t5
5.4M
702
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98