【手把手教程】解锁OpenVINO WWB:GenAI模型优选从此So Easy

openlab_96bf3613 更新于 1天前

1、WWB 工具介绍

WWB 工具全称为 who_what_benchmark,是 OpenVINO™ GenAI 中的生成式 AI 模型简易准确率基准测试工具,主要用于评估转换或量化压缩后模型与原版模型的相似度,也是社区优选模型的重要评审工具。其核心思路是通过计算两个模型(如基线模型与优化模型)生成数据的嵌入相似度得分来评估性能,这些数据可由不同工具推理生成,相似度得分能反映数据间的整体相近程度。WWB 为支持用例提供默认数据集,且插入和使用自定义数据集较为便捷。

再说下 OpenVINO™ GenAI ,它是一款简化生成式 AI 模型推理的工具。它基于 OpenVINO™ Runtime,隐藏了生成过程的复杂性,并最大限度地减少了所需的代码量。您只需向该工具提供模型和输入上下文,它便会对输入文本进行分词,在选定的设备上执行生成循环,并返回生成的内容。

本例全部在 Ubuntu 系统中演示。

2、首先创建虚拟环境

python3 –m venv en2source env2/bin/activate

3、下载 WWB 工具

该工具为 OpenVINO™ GenAI 的一部分,先下载 OpenVINO™ GenAI

git clone https://github.com/openvinotoolkit/openvino.genai.git

然后这里我使用的 commit 值为 811056b1b9632f006bd97c20cbf53876c53d3a37

切换到该版本

git checkout 811056b1b9632f006bd97c20cbf53876c53d3a37

请注意!如果未来需要支持更多的模型,建议使用更新的版本。

然后**该工具到自己的用户目录

cd openvino.genaicp -r tools/who_what_benchmark  /home/rainhenry/AIGC/20251119_WWB/

**好以后的样子:

4、编译安装依赖的工具

该工具依赖的几个关键包也需要采用源码编译

首先是 AutoGPTQ-0.7.1 下载地址

https://github.com/AutoGPTQ/AutoGPTQ/archive/refs/tags/v0.7.1.tar.gz

先解压

tar -xvf AutoGPTQ-0.7.1.tar.gz

然后安装依赖

pip install torch --index-url https://download.pytorch.org/whl/cpupip install “huggingface-hub>=0.34.0”

中间有报错先忽略

然后编译

cd AutoGPTQ-0.7.1export BUILD_CUDA_EXT=0python3 setup.py buildpython3 setup.py installcd ..

5、编译安装 WWB

cd who_what_benchmarkpip install -r requirements.txtpip install .

注意!这个很重要,不要用 python3 setup.py install 安装,否则会有问题

当一切安装成功后,whowhatbench 的版本信息如下:


6、下载原版 Qwen3-4B 模型进行评估

下载地址 https://modelscope.cn/models/Qwen/Qwen3-4B

使用命令

wwb --base-model /home/rainhenry/AIGC/20251119_PTLLNL/Qwen3-4B --gt-data gt.csv --model-type text --hf

进行生成基准测试文件:gt.csv

注意!这个步骤需要访问 huggingface,请注意网络环境的配置

成功生成的文件如下:

7、下载转换为后的 Qwen3-4B-int4-ov 进行对比

下载地址 https://modelscope.cn/models/OpenVINO/Qwen3-4B-int4-ov

采用 optimum-intel 的推理方式,使用命令对比之前生成的基准 gt.csv,命令如下:

wwb --target-model /home/rainhenry/AIGC/20251119_PTLLNL/Qwen3-4B-int4-ov --gt-data gt.csv --model-type text

结果如图:

 

它的意思是和原始模型相比,相似度高达 92.5%

如果使用 OpenVINO™ GenAI 的方式,命令如下:

wwb --target-model /home/rainhenry/AIGC/20251119_PTLLNL/Qwen3-4B-int4-ov --gt-data gt.csv --model-type text --genai

相似度达到了 93.2%

所以这就很容易就能反映出,我们自己转换的模型,或者经过量化和压缩以后的模型,相比于原始模型的具体数量上变化参考。它将作为优选模型的主要依据。

除了 LLM 以外,这个 WWB 工具还支持其他类型的相似度计算,可以通过

wwb --help

命令查看,目前支持下面的模型类型

参考链接:

WWB 帮助文档:

https://github.com/openvinotoolkit/openvino.genai/blob/master/tools/who_what_benchmark/README.md

AutoGPTQ 项目:

https://github.com/AutoGPTQ/AutoGPTQ

模型的下载:

https://modelscope.cn/doc***odels/download

环境参考 (pip list):

PackageVersion
about-time4.2.1
accelerate1.11.0
accelerate1.11.0
aiohappyeyeballs2.6.1
aiohappyeyeballs2.6.1
aiohttp3.13.2
aiohttp3.13.2
aiosignal1.4.0
aiosignal1.4.0
alive-progress3.3.0
anyio4.11.0
anyio4.11.0
attrs25.4.0
attrs25.4.0
auto_gptq0.7.1
auto_gptq0.7.1
auto_gptq0.7.1
autoawq0.2.7.post3
autoawq0.2.7.post3
autograd1.8.0
certifi2025.11.12
charset-normalizer3.4.4
cma4.4.0
contourpy1.3.3
cycler0.12.1
datasets4.4.1
datasets4.4.1
Deprecated1.3.1
diffusers0.35.2
diffusers0.35.2
dill0.4.0
dill0.4.0
filelock3.19.1
fonttools4.60.1
frozenlist1.8.0
frozenlist1.8.0
fsspec2025.9.0
gekko1.3.0
gekko1.3.0
graphemeu0.7.2
h110.16.0
h110.16.0
hf-xet1.2.0
httpcore1.0.9
httpcore1.0.9
httpx0.28.1
httpx0.28.1
huggingface-hub0.36.0
idna3.11
importlib_metadata8.7.0
importlib_metadata8.7.0
Jinja23.1.6
joblib1.5.2
jsonschema4.25.1
jsonschema-specifications2025.9.1
kiwisolver1.4.9
markdown-it-py4.0.0
MarkupSafe2.1.5
matplotlib3.10.7
mdurl0.1.2
ml_dtypes0.5.4
ml_dtypes0.5.4
modelscope1.32.0
mpmath1.3.0
multidict6.7.0
multidict6.7.0
multiprocess0.70.18
multiprocess0.70.18
natsort8.4.0
networkx3.4.2
ninja1.13.0
nncf2.18.0
nncf2.18.0
numpy2.2.6
onnx1.20.0rc1
onnx1.20.0rc1
openvino2025.3.0
openvino2025.3.0
openvino-genai2025.3.0.0
openvino-genai2025.3.0.0
openvino-telemetry2025.2.0
openvino-telemetry2025.2.0
openvino-tokenizers2025.3.0.0
openvino-tokenizers2025.3.0.0
optimum2.0.0
optimum2.0.0
optimum-intel1.26.1
optimum-intel1.26.1
optimum-onnx0.0.3
optimum-onnx0.0.3
packaging25.0
packaging25.0
pandas2.3.3
pandas2.3.3
peft0.18.0
peft0.18.0
pillow12.0.0
pillow12.0.0
pip24.0
propcache0.4.1
propcache0.4.1
protobuf6.33.1
protobuf6.33.1
psutil7.1.3
psutil7.1.3
pyarrow22.0.0
pyarrow22.0.0
pydot3.0.4
pydot3.0.4
Pygments2.19.2
pymoo0.6.1.5
pymoo0.6.1.5
pyparsing3.2.5
python-dateutil2.9.0.post0
python-dateutil2.9.0.post0
pytz2025.2
pytz2025.2
PyYAML6.0.3
PyYAML6.0.3
referencing0.37.0
regex2025.11.3
regex2025.11.3
requests2.32.5
requests2.32.5
rich14.2.0
rich14.2.0
rouge1.0.1
rouge1.0.1
rpds-py0.29.0
safetensors0.7.0rc1
safetensors0.7.0rc1
scikit-learn1.7.2
scikit-learn1.7.2
scipy1.16.3
scipy1.16.3
sentence-transformers5.1.2
sentence-transformers5.1.2
sentencepiece0.2.1
sentencepiece0.2.1
setuptools70.2.0
six1.17.0
six1.17.0
sniffio1.3.1
sniffio1.3.1
sympy1.14.0
tabulate0.9.0
tabulate0.9.0
threadpoolctl3.6.0
tokenizers0.21.4
torch2.9.1+cpu
tqdm4.67.1
tqdm4.67.1
transformers4.55.4
triton3.5.1
triton3.5.1
typing_extensions4.15.0
tzdata2025.2
tzdata2025.2
urllib32.5.0
whowhatbench1.0.0.dev0+unknown.version
wrapt2.0.1
xxhash3.6.0
xxhash3.6.0
yarl1.22.0
yarl1.22.0
zipp3.23.0
zipp3.23.0
zstandard0.25.0
zstandard0.25.0

© 著作权归作者所有

0个评论