模型概述
模型特點
模型能力
使用案例
🚀 Qwen2.5-72B-Instruct GGUF模型
Qwen2.5-72B-Instruct GGUF模型為文本生成任務提供了強大支持,適用於多種硬件環境和不同的應用場景。它在知識儲備、編碼和數學能力、指令遵循等方面有顯著提升,還支持多語言。
🚀 快速開始
選擇合適的模型格式
選擇正確的模型格式取決於你的硬件能力和內存限制。
✨ 主要特性
BF16(Brain Float 16) – 若支持BF16加速則使用
- 一種16位浮點格式,專為更快的計算而設計,同時保持良好的精度。
- 提供與FP32 相似的動態範圍,但內存使用更低。
- 如果你的硬件支持BF16加速(請查看設備規格),則推薦使用。
- 與FP32相比,是具有減少內存佔用的高性能推理的理想選擇。
📌 使用BF16的情況: ✔ 你的硬件具有原生BF16支持(例如,較新的GPU、TPU)。 ✔ 你希望在節省內存的同時獲得更高的精度。 ✔ 你計劃將模型重新量化為另一種格式。
📌 避免使用BF16的情況: ❌ 你的硬件不支持BF16(可能會回退到FP32並運行較慢)。 ❌ 你需要與缺乏BF16優化的舊設備兼容。
F16(Float 16) – 比BF16更廣泛支持
- 一種16位浮點格式,具有高精度,但取值範圍比BF16小。
- 適用於大多數支持FP16加速的設備(包括許多GPU和一些CPU)。
- 數值精度略低於BF16,但通常足以進行推理。
📌 使用F16的情況: ✔ 你的硬件支持FP16但不支持BF16。 ✔ 你需要在速度、內存使用和準確性之間取得平衡。 ✔ 你在GPU或其他針對FP16計算優化的設備上運行。
📌 避免使用F16的情況: ❌ 你的設備缺乏原生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位),具有極端的內存效率。
- 用例:最適合超低內存設備,即使Q4_K也太大的情況。
- 權衡:與高比特量化相比,準確性較低。
-
IQ3_S:小塊大小,以實現最大內存效率。
- 用例:最適合低內存設備,當IQ3_XS過於激進時。
-
IQ3_M:中等塊大小,比IQ3_S具有更好的準確性。
- 用例:適用於低內存設備,當IQ3_S限制過多時。
-
Q4_K:4位量化,具有逐塊優化以提高準確性。
- 用例:最適合低內存設備,當Q6_K太大時。
-
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-72B-Instruct-bf16.gguf
- 模型權重以BF16保存。
- 如果你想將模型重新量化為不同的格式,請使用此文件。
- 如果你的設備支持BF16加速,則最佳。
Qwen2.5-72B-Instruct-f16.gguf
- 模型權重以F16存儲。
- 如果你的設備支持FP16,特別是當BF16不可用時,請使用。
Qwen2.5-72B-Instruct-bf16-q8_0.gguf
- 輸出和嵌入保持為BF16。
- 所有其他層量化為Q8_0。
- 如果你的設備支持BF16,並且你想要一個量化版本,請使用。
Qwen2.5-72B-Instruct-f16-q8_0.gguf
- 輸出和嵌入保持為F16。
- 所有其他層量化為Q8_0。
Qwen2.5-72B-Instruct-q4_k.gguf
- 輸出和嵌入量化為Q8_0。
- 所有其他層量化為Q4_K。
- 適用於內存有限的CPU推理。
Qwen2.5-72B-Instruct-q4_k_s.gguf
- 最小的Q4_K變體,以犧牲準確性為代價使用更少的內存。
- 最適合非常低內存的設置。
Qwen2.5-72B-Instruct-q6_k.gguf
- 輸出和嵌入量化為Q8_0。
- 所有其他層量化為Q6_K。
Qwen2.5-72B-Instruct-q8_0.gguf
- 完全Q8量化的模型,以獲得更好的準確性。
- 需要更多內存,但提供更高的精度。
Qwen2.5-72B-Instruct-iq3_xs.gguf
- IQ3_XS量化,針對極端內存效率進行了優化。
- 最適合超低內存設備。
Qwen2.5-72B-Instruct-iq3_m.gguf
- IQ3_M量化,提供中等塊大小以提高準確性。
- 適用於低內存設備。
Qwen2.5-72B-Instruct-q4_0.gguf
- 純Q4_0量化,針對ARM設備進行了優化。
- 最適合低內存環境。
- 為了更好的準確性,優先選擇IQ4_NL。
測試模型
如果你覺得這些模型有用,請點擊“點贊”!幫助測試我的支持量子安全檢查的AI網絡監控助手: 👉 免費網絡監控器
💬 測試方法:
- 點擊聊天圖標(任何頁面的右下角)
- 選擇一個AI助手類型:
TurboLLM
(GPT - 4 - mini)FreeLLM
(開源)TestLLM
(僅實驗性CPU)
測試內容
正在推動用於AI網絡監控的小型開源模型的極限,具體包括:
- 針對即時網絡服務的函數調用
- 模型可以多小,同時仍能處理:
- 自動化Nmap掃描
- 量子就緒檢查
- Metasploit集成
🟡 TestLLM – 當前的實驗模型(在6個CPU線程上的llama.cpp):
- ✅ 零配置設置
- ⏳ 30秒加載時間(推理慢,但無API成本)
- 🔧 尋求幫助! 如果你對邊緣設備AI感興趣,讓我們合作!
其他助手
🟢 TurboLLM – 使用gpt - 4 - mini進行:
- 即時網絡診斷
- 自動化滲透測試(Nmap/Metasploit)
- 🔑 通過下載我們的免費網絡監控代理獲得更多令牌
🔵 HugLLM – 開源模型(約8B參數):
- 比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"
💻 使用示例
基礎用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-72B-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]
處理長文本
當前的config.json
設置為上下文長度最多32,768個標記。
為了處理超過32,768個標記的大量輸入,我們使用YaRN,這是一種增強模型長度外推的技術,確保在長文本上的最佳性能。
對於支持的框架,你可以在config.json
中添加以下內容以啟用YaRN:
{
...,
"rope_scaling": {
"factor": 4.0,
"original_max_position_embeddings": 32768,
"type": "yarn"
}
}
對於部署,我們建議使用vLLM。如果你不熟悉vLLM,請參考我們的文檔瞭解用法。目前,vLLM僅支持靜態YARN,這意味著縮放因子無論輸入長度如何都保持不變,可能會影響較短文本的性能。我們建議僅在需要處理長上下文時添加rope_scaling
配置。
📚 詳細文檔
模型介紹
Qwen2.5是通義千問大語言模型的最新系列。對於Qwen2.5,我們發佈了一系列從0.5到720億參數的基礎語言模型和指令調優語言模型。Qwen2.5在Qwen2的基礎上帶來了以下改進:
- 由於在這些領域的專業專家模型,擁有顯著更多的知識,並且在編碼和數學方面的能力有了很大提高。
- 在指令遵循、生成長文本(超過8K標記)、理解結構化數據(例如,表格)和生成結構化輸出(特別是JSON)方面有顯著改進。對系統提示的多樣性更具彈性,增強了聊天機器人的角色扮演實現和條件設置。
- 長上下文支持高達128K標記,並且可以生成多達8K標記。
- 多語言支持超過29種語言,包括中文、英語、法語、西班牙語、葡萄牙語、德語、意大利語、俄語、日語、韓語、越南語、泰語、阿拉伯語等。
此倉庫包含經過指令調優的72B Qwen2.5模型,具有以下特點:
- 類型:因果語言模型
- 訓練階段:預訓練和後訓練
- 架構:帶有RoPE、SwiGLU、RMSNorm和注意力QKV偏置的transformers
- 參數數量:727億
- 參數數量(非嵌入):700億
- 層數:80
- 注意力頭數量(GQA):Q為64,KV為8
- 上下文長度:完整的131,072個標記,生成8192個標記
- 有關如何部署Qwen2.5以處理長文本的詳細說明,請參閱此部分。
環境要求
Qwen2.5的代碼已包含在最新的Hugging face transformers
中,建議使用最新版本的transformers
。
使用transformers<4.37.0
時,會遇到以下錯誤:
KeyError: 'qwen2'
評估與性能
詳細的評估結果在這個📑 博客中報告。
有關GPU內存要求和相應吞吐量的信息,請參閱此處的結果。
📄 許可證
本項目採用Qwen許可證。
引用
如果你覺得我們的工作有幫助,請引用:
@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}
}



