用途:把 HuggingFace 上的 Transformer 模型导出为 ONNX,供 Transformers.js 配合 WebGPU 在浏览器端运行推理。
主要能力:先检查 Hub 上是否已有 ONNX 版本(如 onnx-community/<model-name> 或模型仓库中的 onnx/ 目录,也可浏览 library=transformers.js 的预转换模型);用 optimum 导出 ONNX;按部署目标量化;可选上传到 HuggingFace Hub;在 Transformers.js 中调用。
使用方式:环境搭建执行 python -m venv onnx-env && source onnx-env/bin/activate,再 pip install "optimum[onnx]" onnxruntime,GPU 导出可选 pip install onnxruntime-gpu,用 optimum-cli export onnx --help 验证。导出命令为 optimum-cli export onnx --model <model_id_or_path> ./output_dir/,可加 --task、--opset、--device、--optimize、--monolith、--trust-remote-code、--pad_token_id、--batch_size、--sequence_length、--atol 等参数;解码器模型可用 text-generation-with-past 等带 -with-past 的任务以复用 KV 缓存。量化可用 optimum-cli onnxruntime quantize --onnx_model ./output_dir/ --avx512 -o ./quantized_dir/,或用 Python API 的 ORTQuantizer 与 AutoQuantizationConfig 精细控制。dtype 可选 fp32、fp16、q8/int8、q4/bnb4、q4f16,分别对应不同精度与体积。多 dtype 变体按 onnx/ 目录组织 model.onnx、model_fp16.onnx、model_quantized.onnx、model_q4.onnx。上传用 huggingface-cli login 与 huggingface-cli upload <your-username>/<model-name>-onnx ./output_dir/。前端安装 npm install @huggingface/transformers,用 pipeline("task-name", "model-id-or-path", { device: "webgpu", dtype: "q4" }) 调用;编码器-解码器模型(如 Whisper、Florence-2)可按模块分别指定 dtype。
适用场景:文本分类、文本生成、特征提取、语音识别、图像分类、目标检测、图像分割、零样本图像分类、深度估计、翻译、摘要等任务。
限制:WebGPU 需 Chrome 113+ 或 Edge 113+,否则回退 WASM;部分模型需 --trust-remote-code;显存不足可改用 --device cpu 并减小 --batch_size;验证失败可尝试 --no-post-process 或增大 --atol;支持 120+ 架构,具体支持范围以官方为准。