模型概述
模型特點
模型能力
使用案例
🚀 Qwen2.5-VL-72B-Instruct GGUF模型
Qwen2.5-VL-72B-Instruct GGUF模型是一種強大的多模態模型,可處理圖像和文本輸入,適用於多種場景,如視覺理解、視頻分析等。它在Qwen2-VL的基礎上進行了多項關鍵增強,提升了模型的性能和應用範圍。
🚀 快速開始
使用llama.cpp運行Qwen 2.5 VL Instruct(截至2025年5月10日的最新版本)
-
下載Qwen 2.5 VL gguf文件: 訪問下載鏈接,選擇名稱中不包含
mmproj
的gguf文件。 例如:Qwen2.5-VL-72B-Instruct-q8_0.gguf,將此文件複製到您選擇的文件夾。 -
下載Qwen 2.5 VL mmproj文件: 訪問下載鏈接,選擇名稱中包含
mmproj
的文件。 例如:Qwen2.5-VL-72B-Instruct-mmproj-f16.gguf,將此文件複製到您選擇的文件夾。 -
複製圖像到gguf文件所在的同一文件夾或適當更改路徑: 在以下示例中,gguf文件、圖像和
llama-mtmd-cli
位於同一文件夾。 例如圖像:car-1.jpg,將此文件複製到您選擇的文件夾。 -
運行CLI工具: 在您選擇的文件夾中運行以下命令:
llama-mtmd-cli -m Qwen2.5-VL-72B-Instruct-q8_0.gguf --mmproj Qwen2.5-VL-72B-Instruct-mmproj-f16.gguf -p "Describe this image." --image ./car-1.jpg
使用🤗 Transformers進行聊天
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
# 默認:將模型加載到可用設備上
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"Qwen/Qwen2.5-VL-72B-Instruct", torch_dtype="auto", device_map="auto"
)
# 我們建議啟用flash_attention_2以獲得更好的加速和內存節省,特別是在多圖像和視頻場景中。
# model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
# "Qwen/Qwen2.5-VL-72B-Instruct",
# torch_dtype=torch.bfloat16,
# attn_implementation="flash_attention_2",
# device_map="auto",
# )
# 默認處理器
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-72B-Instruct")
# 模型中每張圖像的視覺令牌數量的默認範圍是4 - 16384。
# 您可以根據需要設置min_pixels和max_pixels,例如令牌範圍為256 - 1280,以平衡性能和成本。
# min_pixels = 256*28*28
# max_pixels = 1280*28*28
# processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-72B-Instruct", min_pixels=min_pixels, max_pixels=max_pixels)
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
{"type": "text", "text": "Describe this image."},
],
}
]
# 推理準備
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# 推理:生成輸出
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
多圖像推理
# 包含多個圖像和文本查詢的消息
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "file:///path/to/image1.jpg"},
{"type": "image", "image": "file:///path/to/image2.jpg"},
{"type": "text", "text": "Identify the similarities between these images."},
],
}
]
# 推理準備
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# 推理
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
視頻推理
# 包含圖像列表作為視頻和文本查詢的消息
messages = [
{
"role": "user",
"content": [
{
"type": "video",
"video": [
"file:///path/to/frame1.jpg",
"file:///path/to/frame2.jpg",
"file:///path/to/frame3.jpg",
"file:///path/to/frame4.jpg",
],
},
{"type": "text", "text": "Describe this video."},
],
}
]
# 包含本地視頻路徑和文本查詢的消息
messages = [
{
"role": "user",
"content": [
{
"type": "video",
"video": "file:///path/to/video1.mp4",
"max_pixels": 360 * 420,
"fps": 1.0,
},
{"type": "text", "text": "Describe this video."},
],
}
]
# 包含視頻URL和文本查詢的消息
messages = [
{
"role": "user",
"content": [
{
"type": "video",
"video": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-VL/space_woaudio.mp4",
},
{"type": "text", "text": "Describe this video."},
],
}
]
# 在Qwen 2.5 VL中,幀率信息也會輸入到模型中以與絕對時間對齊。
# 推理準備
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs, video_kwargs = process_vision_info(messages, return_video_kwargs=True)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
fps=fps,
padding=True,
return_tensors="pt",
**video_kwargs,
)
inputs = inputs.to("cuda")
# 推理
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
視頻URL兼容性在很大程度上取決於第三方庫版本。詳細信息如下表所示。如果您不想使用默認的後端,可以通過FORCE_QWENVL_VIDEO_READER=torchvision
或FORCE_QWENVL_VIDEO_READER=decord
更改後端。
後端 | HTTP | HTTPS |
---|---|---|
torchvision >= 0.19.0 | ✅ | ✅ |
torchvision < 0.19.0 | ❌ | ❌ |
decord | ✅ | ❌ |
批量推理
# 批量推理的示例消息
messages1 = [
{
"role": "user",
"content": [
{"type": "image", "image": "file:///path/to/image1.jpg"},
{"type": "image", "image": "file:///path/to/image2.jpg"},
{"type": "text", "text": "What are the common elements in these pictures?"},
],
}
]
messages2 = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"},
]
# 組合消息進行批量處理
messages = [messages1, messages2]
# 批量推理準備
texts = [
processor.apply_chat_template(msg, tokenize=False, add_generation_prompt=True)
for msg in messages
]
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=texts,
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# 批量推理
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_texts = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_texts)
✨ 主要特性
關鍵增強
- 視覺理解能力:Qwen2.5-VL不僅擅長識別常見物體,如花鳥魚蟲,還能高度分析圖像中的文本、圖表、圖標、圖形和佈局。
- 智能代理能力:Qwen2.5-VL可直接作為視覺代理,進行推理並動態調用工具,具備計算機和手機使用能力。
- 長視頻理解和事件捕捉:Qwen2.5-VL能理解超過1小時的視頻,並具備通過定位相關視頻片段捕捉事件的新能力。
- 不同格式的視覺定位:Qwen2.5-VL可以通過生成邊界框或點來準確地定位圖像中的物體,並能為座標和屬性提供穩定的JSON輸出。
- 結構化輸出生成:對於發票、表單、表格等掃描數據,Qwen2.5-VL支持對其內容進行結構化輸出,有利於金融、商業等領域的應用。
模型架構更新
- 用於視頻理解的動態分辨率和幀率訓練:通過採用動態FPS採樣將動態分辨率擴展到時間維度,使模型能夠理解不同採樣率的視頻。相應地,在時間維度上使用ID和絕對時間對齊更新mRoPE,使模型能夠學習時間序列和速度,並最終獲得定位特定時刻的能力。
- 精簡高效的視覺編碼器:通過將窗口注意力策略性地應用於ViT,提高了訓練和推理速度。ViT架構進一步通過SwiGLU和RMSNorm進行優化,使其與Qwen2.5 LLM的結構保持一致。
📦 安裝指南
Qwen2.5-VL的代碼已包含在最新的Hugging face transformers中,建議使用以下命令從源代碼進行構建:
pip install git+https://github.com/huggingface/transformers accelerate
否則,您可能會遇到以下錯誤:
KeyError: 'qwen2_5_vl'
同時,我們提供了一個工具包,可幫助您更方便地處理各種類型的視覺輸入,就像使用API一樣。可以使用以下命令進行安裝:
# 強烈建議使用`[decord]`特性以實現更快的視頻加載。
pip install qwen-vl-utils[decord]==0.0.8
如果您不使用Linux系統,可能無法從PyPI安裝decord
。在這種情況下,您可以使用pip install qwen-vl-utils
,它將回退到使用torchvision進行視頻處理。不過,您仍然可以從源代碼安裝decord,以便在加載視頻時使用decord。
💻 使用示例
輸入圖像支持格式
# 您可以直接在文本中需要的位置插入本地文件路徑、URL或Base64編碼的圖像。
## 本地文件路徑
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "file:///path/to/your/image.jpg"},
{"type": "text", "text": "Describe this image."},
],
}
]
## 圖像URL
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "http://path/to/your/image.jpg"},
{"type": "text", "text": "Describe this image."},
],
}
]
## Base64編碼的圖像
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "data:image;base64,/9j/..."},
{"type": "text", "text": "Describe this image."},
],
}
]
圖像分辨率設置
min_pixels = 256 * 28 * 28
max_pixels = 1280 * 28 * 28
processor = AutoProcessor.from_pretrained(
"Qwen/Qwen2.5-VL-72B-Instruct", min_pixels=min_pixels, max_pixels=max_pixels
)
精細控制圖像大小輸入
# min_pixels和max_pixels
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "file:///path/to/your/image.jpg",
"resized_height": 280,
"resized_width": 420,
},
{"type": "text", "text": "Describe this image."},
],
}
]
# resized_height和resized_width
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "file:///path/to/your/image.jpg",
"min_pixels": 50176,
"max_pixels": 50176,
},
{"type": "text", "text": "Describe this image."},
],
}
]
處理長文本
當前的config.json
設置的上下文長度最大為32,768個令牌。為了處理超過32,768個令牌的大量輸入,我們使用了YaRN技術來增強模型的長度外推能力,確保在長文本上的最佳性能。
對於支持的框架,您可以在config.json
中添加以下內容以啟用YaRN:
{
...,
"type": "yarn",
"mrope_section": [
16,
24,
24
],
"factor": 4,
"original_max_position_embeddings": 32768
}
然而,需要注意的是,這種方法對時間和空間定位任務的性能有顯著影響,因此不建議使用。同時,對於長視頻輸入,由於MRoPE本身在ids方面更節省,因此可以直接將max_position_embeddings
修改為更大的值,例如64k。
📚 詳細文檔
模型評估
圖像基準測試
基準測試 | GPT4o | Claude3.5 Sonnet | Gemini-2-flash | InternVL2.5-78B | Qwen2-VL-72B | Qwen2.5-VL-72B |
---|---|---|---|---|---|---|
MMMUval | 70.3 | 70.4 | 70.7 | 70.1 | 64.5 | 70.2 |
MMMU_Pro | 54.5 | 54.7 | 57.0 | 48.6 | 46.2 | 51.1 |
MathVista_MINI | 63.8 | 65.4 | 73.1 | 76.6 | 70.5 | 74.8 |
MathVision_FULL | 30.4 | 38.3 | 41.3 | 32.2 | 25.9 | 38.1 |
Hallusion Bench | 55.0 | 55.16 | 57.4 | 58.1 | 55.16 | |
MMBench_DEV_EN_V11 | 82.1 | 83.4 | 83.0 | 88.5 | 86.6 | 88 |
AI2D_TEST | 84.6 | 81.2 | 89.1 | 88.1 | 88.4 | |
ChartQA_TEST | 86.7 | 90.8 | 85.2 | 88.3 | 88.3 | 89.5 |
DocVQA_VAL | 91.1 | 95.2 | 92.1 | 96.5 | 96.1 | 96.4 |
MMStar | 64.7 | 65.1 | 69.4 | 69.5 | 68.3 | 70.8 |
MMVet_turbo | 69.1 | 70.1 | 72.3 | 74.0 | 76.19 | |
OCRBench | 736 | 788 | 854 | 877 | 885 | |
OCRBench-V2(en/zh) | 46.5/32.3 | 45.2/39.6 | 51.9/43.1 | 45/46.2 | 47.8/46.1 | 61.5/63.7 |
CC-OCR | 66.6 | 62.7 | 73.0 | 64.7 | 68.7 | 79.8 |
視頻基準測試
基準測試 | GPT4o | Gemini-1.5-Pro | InternVL2.5-78B | Qwen2VL-72B | Qwen2.5VL-72B |
---|---|---|---|---|---|
VideoMME w/o sub. | 71.9 | 75.0 | 72.1 | 71.2 | 73.3 |
VideoMME w sub. | 77.2 | 81.3 | 74.0 | 77.8 | 79.1 |
MVBench | 64.6 | 60.5 | 76.4 | 73.6 | 70.4 |
MMBench-Video | 1.63 | 1.30 | 1.97 | 1.70 | 2.02 |
LVBench | 30.8 | 33.1 | 41.3 | 47.3 | |
EgoSchema | 72.2 | 71.2 | 77.9 | 76.2 | |
PerceptionTest_test | 68.0 | 73.2 | |||
MLVU_M-Avg_dev | 64.6 | 75.7 | 74.6 | ||
TempCompass_overall | 73.8 | 74.8 |
代理基準測試
基準測試 | GPT4o | Gemini 2.0 | Claude | Aguvis-72B | Qwen2VL-72B | Qwen2.5VL-72B |
---|---|---|---|---|---|---|
ScreenSpot | 18.1 | 84.0 | 83.0 | 87.1 | ||
ScreenSpot Pro | 17.1 | 1.6 | 43.6 | |||
AITZ_EM | 35.3 | 72.8 | 83.2 | |||
Android Control High_EM | 66.4 | 59.1 | 67.36 | |||
Android Control Low_EM | 84.4 | 59.2 | 93.7 | |||
AndroidWorld_SR | 34.5% (SoM) | 27.9% | 26.1% | 35% | ||
MobileMiniWob++_SR | 66% | 68% | ||||
OSWorld | 14.90 | 10.26 | 8.83 |
選擇合適的模型格式
選擇正確的模型格式取決於您的硬件能力和內存限制。
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和低VRAM推理
量化可以在儘可能保持準確性的同時減小模型大小和內存使用。
- 低比特模型 (Q4_K) → 最適合最小化內存使用,可能精度較低。
- 高比特模型 (Q6_K, Q8_0) → 準確性更好,但需要更多內存。
使用量化模型的情況:
- 您在CPU上運行推理,需要優化的模型。
- 您的設備VRAM較低,無法加載全精度模型。
- 您希望在保持合理準確性的同時減少內存佔用。
避免使用量化模型的情況:
- 您需要最高的準確性(全精度模型更適合這種情況)。
- 您的硬件有足夠的VRAM用於更高精度的格式(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或低VRAM設備 | 最適合內存受限的環境 |
Q6_K | 中 | 中等 | 內存更多的CPU | 在量化的同時具有更好的準確性 |
Q8_0 | 高 | 中等 | 具有足夠VRAM的CPU或GPU | 量化模型中準確性最佳 |
IQ3_XS | 非常低 | 非常低 | 超低內存設備 | 極端內存效率和低準確性 |
Q4_0 | 低 | 低 | ARM或低內存設備 | llama.cpp可以針對ARM設備進行優化 |
包含的文件及詳細信息
Qwen2.5-VL-72B-Instruct-bf16.gguf
- 模型權重以BF16格式保存。
- 如果您想將模型重新量化為不同的格式,請使用此文件。
- 如果您的設備支持BF16加速,則最佳選擇。
Qwen2.5-VL-72B-Instruct-f16.gguf
- 模型權重以F16格式保存。
- 如果您的設備支持FP16,尤其是在BF16不可用的情況下,請使用此文件。
Qwen2.5-VL-72B-Instruct-bf16-q8_0.gguf
- 輸出和嵌入保持為BF16。
- 所有其他層量化為Q8_0。
- 如果您的設備支持BF16,並且您想要一個量化版本,請使用此文件。
Qwen2.5-VL-72B-Instruct-f16-q8_0.gguf
- 輸出和嵌入保持為F16。
- 所有其他層量化為Q8_0。
Qwen2.5-VL-72B-Instruct-q4_k.gguf
- 輸出和嵌入量化為Q8_0。
- 所有其他層量化為Q4_K。
- 適用於內存有限的CPU推理。
Qwen2.5-VL-72B-Instruct-q4_k_s.gguf
- 最小的Q4_K變體,以犧牲準確性為代價使用更少的內存。
- 最適合極低內存設置。
Qwen2.5-VL-72B-Instruct-q6_k.gguf
- 輸出和嵌入量化為Q8_0。
- 所有其他層量化為Q6_K。
Qwen2.5-VL-72B-Instruct-q8_0.gguf
- 完全Q8量化的模型,以獲得更好的準確性。
- 需要更多內存,但提供更高的精度。
Qwen2.5-VL-72B-Instruct-iq3_xs.gguf
- IQ3_XS量化,針對極端內存效率進行了優化。
- 最適合超低內存設備。
Qwen2.5-VL-72B-Instruct-iq3_m.gguf
- IQ3_M量化,提供中等塊大小以獲得更好的準確性。
- 適用於低內存設備。
Qwen2.5-VL-72B-Instruct-q4_0.gguf
- 純Q4_0量化,針對ARM設備進行了優化。
- 最適合低內存環境。
- 為了獲得更好的準確性,建議使用IQ4_NL。
🔧 技術細節
超低比特量化與IQ-DynamicGate (1 - 2位)
我們最新的量化方法為超低比特模型(1 - 2位)引入了精度自適應量化,並在Llama-3-8B上通過基準測試證明了其改進效果。這種方法使用特定層的策略來保持準確性,同時保持極高的內存效率。
基準測試背景
所有測試均在Llama-3-8B-Instruct上進行,使用以下條件:
- 標準困惑度評估管道
- 2048令牌上下文窗口
- 所有量化使用相同的提示集
方法
- 動態精度分配:
- 前/後25%的層 → IQ4_XS(選定層)
- 中間50% → IQ2_XXS/IQ3_S(提高效率)
- 關鍵組件保護:
- 嵌入/輸出層使用Q5_K
- 與標準1 - 2位量化相比,將誤差傳播降低38%
量化性能比較 (Llama-3-8B)
量化方式 | 標準PPL | DynamicGate PPL | Δ PPL | 標準大小 | 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 |
關鍵說明:
- PPL = 困惑度(越低越好)
- Δ PPL = 從標準到DynamicGate的百分比變化
- 速度 = 推理時間(CPU avx2,2048令牌上下文)
- 大小差異反映了混合量化的開銷
關鍵改進:
- 🔥 IQ1_M顯示出巨大的43.9%的困惑度降低(從27.46降至15.41)
- 🚀 IQ2_S在僅增加0.2GB的情況下將困惑度降低了36.9%
- ⚡ IQ1_S儘管是1位量化,但仍保持了39.7%的更好準確性
權衡:
- 所有變體的大小都有適度增加(0.1 - 0.3GB)
- 推理速度仍然相當(差異<5%)
何時使用這些模型
- 📌 將模型裝入GPU VRAM
- ✔ 內存受限的部署
- ✔ 可以容忍1 - 2位誤差的CPU和邊緣設備
- ✔ 超低比特量化的研究
📄 許可證
本項目採用Qwen許可證。
引用
如果您覺得我們的工作有幫助,請隨意引用:
@misc{qwen2.5-VL,
title = {Qwen2.5-VL},
url = {https://qwenlm.github.io/blog/qwen2.5-vl/},
author = {Qwen Team},
month = {January},
year = {2025}
}
@article{Qwen2VL,
title={Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any Resolution},
author={Wang, Peng and Bai, Shuai and Tan, Sinan and Wang, Shijie and Fan, Zhihao and Bai, Jinze and Chen, Keqin and Liu, Xuejing and Wang, Jialin and Ge, Wenbin and Fan, Yang and Dang, Kai and Du, Mengfei and Ren, Xuancheng and Men, Rui and Liu, Dayiheng and Zhou, Chang and Zhou, Jingren and Lin, Junyang},
journal={arXiv preprint arXiv:2409.12191},
year={2024}
}
@article{Qwen-VL,
title={Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond},
author={Bai, Jinze and Bai, Shuai and Yang, Shusheng and Wang, Shijie and Tan, Sinan and Wang, Peng and Lin, Junyang and Zhou, Chang and Zhou, Jingren},
journal={arXiv preprint arXiv:2308.12966},
year={2023}
}
其他說明
如果您覺得這些模型有用,請點擊點贊 ❤。同時,如果您能測試我的網絡監控助手,我將不勝感激。請點擊👉 網絡監控助手。
💬 點擊聊天圖標(主頁和儀表盤頁面的右下角),選擇一個大語言模型;在LLM類型之間切換:TurboLLM -> FreeLLM -> TestLLM。
我正在測試的內容
我正在針對我的網絡監控服務進行函數調用實驗,使用小型開源模型。我關注的問題是“模型可以多小還能正常工作”。
🟡 TestLLM – 使用llama.cpp在CPU VM的6個線程上運行當前測試模型(加載大約需要15秒。推理速度相當慢,並且一次只能處理一個用戶提示 – 仍在努力擴展!)。如果您感興趣,我很樂意分享其工作原理!
其他可用的AI助手
🟢 TurboLLM – 使用gpt-4o-mini,速度快!注意:由於OpenAI模型價格昂貴,令牌有限,但您可以登錄或下載免費的網絡監控代理以獲取更多令牌,或者使用TestLLM。
🔵 HugLLM – 運行開源Hugging Face模型,速度快,運行小型模型(≈8B),因此質量較低,可獲得2倍的令牌(取決於Hugging Face API的可用性)。









