模型概述
模型特點
模型能力
使用案例
🚀 Qwen2.5-VL-3B-Instruct GGUF模型
Qwen2.5-VL-3B-Instruct GGUF模型文件是使用imatrix文件和最新的llama.cpp版本構建而成。若要使用該模型的視覺功能,你必須使用llama.cpp的一個分支版本。
🚀 快速開始
如何使用llama.cpp運行Qwen 2.5 VL Instruct模型
要在llama.cpp
中使用對Qwen 2.5 VL的實驗性支持,請按照以下步驟操作:
注意:此方法使用的是llama.cpp的一個分支版本。目前,主分支尚不支持該模型的視覺功能。
-
克隆最新的llama.cpp分支:
git clone https://github.com/HimariO/llama.cpp.qwen2vl.git cd llama.cpp.qwen2vl git checkout qwen25-vl-20250404
-
編譯Llama.cpp: 按照常規方式編譯llama.cpp:https://github.com/ggml-org/llama.cpp#building-the-project 。 編譯完成後,將
./llama.cpp.qwen2vl/build/bin/llama-qwen2-vl-cli
複製到你選擇的文件夾中。 -
下載Qwen 2.5 VL gguf文件: 訪問:https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/tree/main ,選擇名稱中不包含
mmproj
的gguf文件。 例如:https://huggingface.co/Mungert/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/Qwen2.5-VL-3B-Instruct-q8_0.gguf ,將該文件複製到你選擇的文件夾中。 -
下載Qwen 2.5 VL mmproj文件: 訪問:https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/tree/main ,選擇名稱中包含
mmproj
的文件。 例如:https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/Qwen2.5-VL-3B-Instruct-mmproj-f16.gguf ,將該文件複製到你選擇的文件夾中。 -
複製圖像文件: 將圖像文件複製到與gguf文件相同的文件夾中,或者根據需要調整路徑。 示例圖像:https://huggingface.co/Mungert/Qwen2.5-VL-3B-Instruct-GGUF/resolve/main/car-1.jpg ,將該文件複製到你選擇的文件夾中。
-
運行CLI工具: 在你選擇的文件夾中運行以下命令:
llama-qwen2vl-cli -m Qwen2.5-VL-3B-Instruct-q8_0.gguf --mmproj Qwen2.5-VL-3B-Instruct-mmproj-f16.gguf -p "Describe this image." --image ./car-1.jpg
✨ 主要特性
超低比特量化(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量化性能對比
量化方式 | 標準困惑度 | 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 |
關鍵指標說明:
- PPL = 困惑度(越低越好)
- Δ PPL = 從標準量化到DynamicGate量化的困惑度變化百分比
- 速度 = 推理時間(CPU avx2,2048令牌上下文)
- 大小差異反映了混合量化的開銷
主要改進:
- 🔥 IQ1_M困惑度大幅降低43.9%(從27.46降至15.41)
- 🚀 IQ2_S困惑度降低36.9%,僅增加0.2GB大小
- ⚡ IQ1_S在1比特量化下仍保持39.7%的精度提升
權衡因素:
- 所有變體的大小增加適中(0.1 - 0.3GB)
- 推理速度相近(差異小於5%)
適用場景
📌 將模型適配到GPU顯存 ✔ 內存受限的部署環境 ✔ CPU和邊緣設備,可容忍1 - 2比特量化誤差 ✔ 超低比特量化研究
快速測試
使用最高級的DynamicGate量化方法IQ2_M對Qwen 2.5 VL 3B進行快速測試:
llama.cpp.qwen2vl/build/bin/llama-qwen2vl-cli -m Qwen2.5-VL-3B-Instruct-iq2_m.gguf --mmproj qwen.qwen2.5-vl-3b-instruct-vision.f16.gguf -p "Describe this image in a lot of detail." --image ./car-1.jpg
輸出結果: 圖像展示了一輛時尚的黑色保時捷Panamera Turbo,它在賽道或高速道路上飛馳。拍攝角度為後側方,凸顯了車輛的空氣動力學設計和獨特特徵。車輛尾燈亮起,與深色車身形成鮮明對比。車尾顯著位置展示著保時捷標誌,以及“Panamera Turbo”字樣和車牌號“CVC - 911”。車牌旁有加州“COOPER”貼紙,表明車輛可能在加州註冊。由於車速較快,道路模糊,突出了車輛的高性能和先進工程技術。背景中有樹木和路燈,暗示這是傍晚或黃昏時分。
對於一個高度壓縮的3B模型來說,這表現相當出色!
較低的量化級別會降低模型質量,尤其是xs量化。因此,如果你需要將模型壓縮到內存中,可以嘗試iq2_m量化。
📦 安裝指南
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。
💻 使用示例
基礎用法
使用🤗 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-3B-Instruct", torch_dtype="auto", device_map="auto"
)
# 建議啟用flash_attention_2以獲得更好的加速和內存節省效果,特別是在多圖像和視頻場景中
# model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
# "Qwen/Qwen2.5-VL-3B-Instruct",
# torch_dtype=torch.bfloat16,
# attn_implementation="flash_attention_2",
# device_map="auto",
# )
# 默認處理器
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-3B-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-3B-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)
更多使用提示
輸入圖像格式
支持本地文件、Base64編碼和URL格式的圖像輸入。對於視頻,目前僅支持本地文件。
# 本地文件路徑
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."},
],
}
]
圖像分辨率優化
模型支持廣泛的分辨率輸入。默認情況下,使用原始分辨率輸入,但更高的分辨率可以提升性能,但會增加計算量。用戶可以設置最小和最大像素數,以實現最佳配置,例如令牌數量範圍為256 - 1280,以平衡速度和內存使用。
min_pixels = 256 * 28 * 28
max_pixels = 1280 * 28 * 28
processor = AutoProcessor.from_pretrained(
"Qwen/Qwen2.5-VL-3B-Instruct", min_pixels=min_pixels, max_pixels=max_pixels
)
此外,我們提供了兩種方法來精細控制輸入到模型的圖像大小:
- 定義min_pixels和max_pixels:圖像將調整大小以保持其寬高比在min_pixels和max_pixels範圍內。
- 指定確切尺寸:直接設置
resized_height
和resized_width
。這些值將四捨五入到最接近的28的倍數。
# 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。
📚 詳細文檔
選擇合適的模型格式
選擇正確的模型格式取決於你的硬件能力和內存限制。
BF16(Brain Float 16) – 適用於支持BF16加速的情況
- 一種16位浮點格式,專為更快的計算而設計,同時保留了良好的精度。
- 與FP32具有相似的動態範圍,但內存使用更低。
- 如果你的硬件支持BF16加速(請檢查設備規格),建議使用。
- 適用於高性能推理,與FP32相比,內存佔用更小。
📌 適用場景: ✔ 硬件具有原生BF16支持(如較新的GPU、TPU) ✔ 希望在節省內存的同時獲得更高的精度 ✔ 計劃將模型重新量化為其他格式
📌 避免場景: ❌ 硬件不支持BF16(可能會回退到FP32,運行速度變慢) ❌ 需要與缺乏BF16優化的舊設備兼容
F16(Float 16) – 比BF16更廣泛支持
- 一種16位浮點格式,精度較高,但取值範圍比BF16小。
- 適用於大多數支持FP16加速的設備(包括許多GPU和一些CPU)。
- 數值精度略低於BF16,但通常足以滿足推理需求。
📌 適用場景: ✔ 硬件支持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比特),具有極高的內存效率。
- 適用場景:最適合超低內存設備,即使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-VL-3B-Instruct-bf16.gguf
- 模型權重以BF16格式保存。
- 如果你想將模型重新量化為其他格式,可以使用此文件。
- 若你的設備支持BF16加速,此文件為最佳選擇。
Qwen2.5-VL-3B-Instruct-f16.gguf
- 模型權重以F16格式存儲。
- 若你的設備支持FP16,尤其是在BF16不可用時,可使用此文件。
Qwen2.5-VL-3B-Instruct-bf16-q8_0.gguf
- 輸出層和嵌入層保持為BF16。
- 其他層量化為Q8_0。
- 若你的設備支持BF16,且需要量化版本,可使用此文件。
Qwen2.5-VL-3B-Instruct-f16-q8_0.gguf
- 輸出層和嵌入層保持為F16。
- 其他層量化為Q8_0。
Qwen2.5-VL-3B-Instruct-q4_k.gguf
- 輸出層和嵌入層量化為Q8_0。
- 其他層量化為Q4_K。
- 適合內存有限的CPU推理。
Qwen2.5-VL-3B-Instruct-q4_k_s.gguf
- 最小的Q4_K變體,以犧牲精度為代價減少內存使用。
- 最適合極低內存設置。
Qwen2.5-VL-3B-Instruct-q6_k.gguf
- 輸出層和嵌入層量化為Q8_0。
- 其他層量化為Q6_K。
Qwen2.5-VL-3B-Instruct-q8_0.gguf
- 完全Q8量化的模型,精度更高。
- 需要更多內存,但提供更高的精度。
Qwen2.5-VL-3B-Instruct-iq3_xs.gguf
- IQ3_XS量化,針對極端內存效率進行了優化。
- 最適合超低內存設備。
Qwen2.5-VL-3B-Instruct-iq3_m.gguf
- IQ3_M量化,提供中等塊大小以提高精度。
- 適用於低內存設備。
Qwen2.5-VL-3B-Instruct-q4_0.gguf
- 純Q4_0量化,針對ARM設備進行了優化。
- 最適合低內存環境。
- 若需要更高精度,建議使用IQ4_NL。
🔧 技術細節
模型介紹
在Qwen2 - VL發佈後的五個月裡,眾多開發者基於Qwen2 - VL視覺語言模型構建了新的模型,併為我們提供了寶貴的反饋。在此期間,我們專注於構建更實用的視覺語言模型。現在,我們很高興地推出Qwen家族的最新成員:Qwen2.5 - VL。
關鍵改進
- 視覺理解能力: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的結構保持一致。
我們有三個參數分別為30億、70億和720億的模型。本倉庫包含經過指令微調的3B Qwen2.5 - VL模型。更多信息,請訪問我們的博客和GitHub。
評估指標
圖像基準測試
基準測試 | InternVL2.5 - 4B | Qwen2 - VL - 7B | Qwen2.5 - VL - 3B |
---|---|---|---|
MMMUval | 52.3 | 54.1 | 53.1 |
MMMU - Proval | 32.7 | 30.5 | 31.6 |
AI2Dtest | 81.4 | 83.0 | 81.5 |
DocVQAtest | 91.6 | 94.5 | 93.9 |
InfoVQAtest | 72.1 | 76.5 | 77.1 |
TextVQAval | 76.8 | 84.3 | 79.3 |
MMBench - V1.1test | 79.3 | 80.7 | 77.6 |
MMStar | 58.3 | 60.7 | 55.9 |
MathVistatestmini | 60.5 | 58.2 | 62.3 |
MathVisionfull | 20.9 | 16.3 | 21.2 |
視頻基準測試
基準測試 | InternVL2.5 - 4B | Qwen2 - VL - 7B | Qwen2.5 - VL - 3B |
---|---|---|---|
MVBench | 71.6 | 67.0 | 67.0 |
VideoMME | 63.6/62.3 | 69.0/63.3 | 67.6/61.5 |
MLVU | 48.3 | - | 68.2 |
LVBench | - | - | 43.3 |
MMBench - Video | 1.73 | 1.44 | 1.63 |
EgoSchema | - | - | 64.8 |
PerceptionTest | - | - | 66.9 |
TempCompass | - | - | 64.4 |
LongVideoBench | 55.2 | 55.6 | 54.2 |
CharadesSTA/mIoU | - | - | 38.8 |
代理基準測試
基準測試 | Qwen2.5 - VL - 3B |
---|---|
ScreenSpot | 55.5 |
ScreenSpot Pro | 23.9 |
AITZ_EM | 76.9 |
Android Control High_EM | 63.7 |
Android Control Low_EM | 22.2 |
AndroidWorld_SR | 90.8 |
MobileMiniWob++_SR | 67.9 |
📄 許可證
本項目採用qwen - research許可證。
其他說明
測試與反饋
如果你覺得這些模型有用,請點贊❤。此外,如果你能測試我的網絡監控助手,我將不勝感激👉 網絡監控助手。
💬 點擊聊天圖標(主頁和儀表盤頁面右下角),選擇一個大語言模型;在TurboLLM -> FreeLLM -> TestLLM之間切換。
測試內容
我正在使用小型開源模型對我的網絡監控服務進行函數調用實驗。我關注的問題是“模型可以多小,仍能正常工作”。
🟡 TestLLM – 使用llama.cpp在CPU虛擬機的6個線程上運行當前測試模型(加載時間約15秒。推理速度較慢,一次僅處理一個用戶提示,仍在進行擴展優化!)。如果你感興趣,我很樂意分享其工作原理。
其他可用的AI助手
🟢 TurboLLM – 使用gpt - 4o - mini,速度快!注意:由於OpenAI模型成本較高,令牌有限,但你可以登錄或下載免費的網絡監控代理以獲取更多令牌,或者使用TestLLM。
🔵 HugLLM – 運行開源Hugging Face模型,速度快,運行小型模型(≈8B),質量較低,可獲得2倍的令牌(取決於Hugging Face API可用性)
引用
如果你覺得我們的工作有幫助,請引用以下文獻:
@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}
}









