【手把手教程】解锁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):
| Package | Version |
| about-time | 4.2.1 |
| accelerate | 1.11.0 |
| accelerate | 1.11.0 |
| aiohappyeyeballs | 2.6.1 |
| aiohappyeyeballs | 2.6.1 |
| aiohttp | 3.13.2 |
| aiohttp | 3.13.2 |
| aiosignal | 1.4.0 |
| aiosignal | 1.4.0 |
| alive-progress | 3.3.0 |
| anyio | 4.11.0 |
| anyio | 4.11.0 |
| attrs | 25.4.0 |
| attrs | 25.4.0 |
| auto_gptq | 0.7.1 |
| auto_gptq | 0.7.1 |
| auto_gptq | 0.7.1 |
| autoawq | 0.2.7.post3 |
| autoawq | 0.2.7.post3 |
| autograd | 1.8.0 |
| certifi | 2025.11.12 |
| charset-normalizer | 3.4.4 |
| cma | 4.4.0 |
| contourpy | 1.3.3 |
| cycler | 0.12.1 |
| datasets | 4.4.1 |
| datasets | 4.4.1 |
| Deprecated | 1.3.1 |
| diffusers | 0.35.2 |
| diffusers | 0.35.2 |
| dill | 0.4.0 |
| dill | 0.4.0 |
| filelock | 3.19.1 |
| fonttools | 4.60.1 |
| frozenlist | 1.8.0 |
| frozenlist | 1.8.0 |
| fsspec | 2025.9.0 |
| gekko | 1.3.0 |
| gekko | 1.3.0 |
| graphemeu | 0.7.2 |
| h11 | 0.16.0 |
| h11 | 0.16.0 |
| hf-xet | 1.2.0 |
| httpcore | 1.0.9 |
| httpcore | 1.0.9 |
| httpx | 0.28.1 |
| httpx | 0.28.1 |
| huggingface-hub | 0.36.0 |
| idna | 3.11 |
| importlib_metadata | 8.7.0 |
| importlib_metadata | 8.7.0 |
| Jinja2 | 3.1.6 |
| joblib | 1.5.2 |
| jsonschema | 4.25.1 |
| jsonschema-specifications | 2025.9.1 |
| kiwisolver | 1.4.9 |
| markdown-it-py | 4.0.0 |
| MarkupSafe | 2.1.5 |
| matplotlib | 3.10.7 |
| mdurl | 0.1.2 |
| ml_dtypes | 0.5.4 |
| ml_dtypes | 0.5.4 |
| modelscope | 1.32.0 |
| mpmath | 1.3.0 |
| multidict | 6.7.0 |
| multidict | 6.7.0 |
| multiprocess | 0.70.18 |
| multiprocess | 0.70.18 |
| natsort | 8.4.0 |
| networkx | 3.4.2 |
| ninja | 1.13.0 |
| nncf | 2.18.0 |
| nncf | 2.18.0 |
| numpy | 2.2.6 |
| onnx | 1.20.0rc1 |
| onnx | 1.20.0rc1 |
| openvino | 2025.3.0 |
| openvino | 2025.3.0 |
| openvino-genai | 2025.3.0.0 |
| openvino-genai | 2025.3.0.0 |
| openvino-telemetry | 2025.2.0 |
| openvino-telemetry | 2025.2.0 |
| openvino-tokenizers | 2025.3.0.0 |
| openvino-tokenizers | 2025.3.0.0 |
| optimum | 2.0.0 |
| optimum | 2.0.0 |
| optimum-intel | 1.26.1 |
| optimum-intel | 1.26.1 |
| optimum-onnx | 0.0.3 |
| optimum-onnx | 0.0.3 |
| packaging | 25.0 |
| packaging | 25.0 |
| pandas | 2.3.3 |
| pandas | 2.3.3 |
| peft | 0.18.0 |
| peft | 0.18.0 |
| pillow | 12.0.0 |
| pillow | 12.0.0 |
| pip | 24.0 |
| propcache | 0.4.1 |
| propcache | 0.4.1 |
| protobuf | 6.33.1 |
| protobuf | 6.33.1 |
| psutil | 7.1.3 |
| psutil | 7.1.3 |
| pyarrow | 22.0.0 |
| pyarrow | 22.0.0 |
| pydot | 3.0.4 |
| pydot | 3.0.4 |
| Pygments | 2.19.2 |
| pymoo | 0.6.1.5 |
| pymoo | 0.6.1.5 |
| pyparsing | 3.2.5 |
| python-dateutil | 2.9.0.post0 |
| python-dateutil | 2.9.0.post0 |
| pytz | 2025.2 |
| pytz | 2025.2 |
| PyYAML | 6.0.3 |
| PyYAML | 6.0.3 |
| referencing | 0.37.0 |
| regex | 2025.11.3 |
| regex | 2025.11.3 |
| requests | 2.32.5 |
| requests | 2.32.5 |
| rich | 14.2.0 |
| rich | 14.2.0 |
| rouge | 1.0.1 |
| rouge | 1.0.1 |
| rpds-py | 0.29.0 |
| safetensors | 0.7.0rc1 |
| safetensors | 0.7.0rc1 |
| scikit-learn | 1.7.2 |
| scikit-learn | 1.7.2 |
| scipy | 1.16.3 |
| scipy | 1.16.3 |
| sentence-transformers | 5.1.2 |
| sentence-transformers | 5.1.2 |
| sentencepiece | 0.2.1 |
| sentencepiece | 0.2.1 |
| setuptools | 70.2.0 |
| six | 1.17.0 |
| six | 1.17.0 |
| sniffio | 1.3.1 |
| sniffio | 1.3.1 |
| sympy | 1.14.0 |
| tabulate | 0.9.0 |
| tabulate | 0.9.0 |
| threadpoolctl | 3.6.0 |
| tokenizers | 0.21.4 |
| torch | 2.9.1+cpu |
| tqdm | 4.67.1 |
| tqdm | 4.67.1 |
| transformers | 4.55.4 |
| triton | 3.5.1 |
| triton | 3.5.1 |
| typing_extensions | 4.15.0 |
| tzdata | 2025.2 |
| tzdata | 2025.2 |
| urllib3 | 2.5.0 |
| whowhatbench | 1.0.0.dev0+unknown.version |
| wrapt | 2.0.1 |
| xxhash | 3.6.0 |
| xxhash | 3.6.0 |
| yarl | 1.22.0 |
| yarl | 1.22.0 |
| zipp | 3.23.0 |
| zipp | 3.23.0 |
| zstandard | 0.25.0 |
| zstandard | 0.25.0 |
© 著作权归作者所有