huggingface/optimum-benchmark

🏋️ A unified multi-backend utility for benchmarking Transformers, Timm, PEFT, Diffusers and Sentence-Transformers with full support of Optimum's hardware optimizations & quantization schemes.

什麼是 Optimum‑Benchmark

Optimum‑Benchmark 是一個 Python 庫,可讓您在多種不同的硬體後端上測量 Hugging  Face 模型的執行速度與效率。它支援主要的模型家族(Transformers、Diffusers、PEFT、TIMM 等)以及廣泛的執行環境(PyTorch、ONNX  Runtime、OpenVINO、vLLM、TensorRT‑LLM、IPEX、Llama‑Cpp、Py‑TXI 等),可在 CPU、GPU、AMD ROCm、Intel XPU、Habana Gaudi 等硬體上運行。

此工具可針對 推論(延遲、吞吐量、記憶體、能源)以及 訓練(相同指標加上資料集形狀控制)進行基準測試。支援單一程序模式、使用 torchrun 進行分散式執行,或透過簡單的 Hydra 基礎 CLI 進行操作。結果以 JSON、Markdown 與純文字檔格式儲存,並可推送到 Hugging  Face Hub 以分享。


誰會使用它?

  • 希望在相同模型上與競爭對手晶片進行比較的 硬體廠商
  • 需要在部署前了解特定後端上模型的延遲、記憶體佔用或能源成本的 模型開發者/研究人員
  • 希望評估 Optimum 生態系統提供的量化、剪枝或其他優化影響的 ML 工程師
  • 希望實現可重現、可配置的執行,並能掃描設備、後端或模型變體的 基準測試愛好者

核心概念

概念 含義
Launcher 基準測試程序的啟動方式 – process(隔離)、torchrun(分散式)或 inline(僅用於除錯)。
Scenario 被測量的內容 – inference(前向/生成)或 training(訓練器迴圈)。
Backend 實際執行模型的執行環境 – 例如 pytorchonnxruntimevllmopenvinotensorrt‑llm 等。
Device 物理硬體目標 – cpucudarocmgpuxpuhpu 等。
Config 一個 Hydra 相容的 YAML 檔案(或 Python 物件),將三者連結起來,並允許調整批次大小、輸入形狀、預熱執行、能源追蹤等參數。

如何開始

  1. 安裝 – 此庫在 PyPI 上。最簡單的方式是 pip install optimum-benchmark,或如果您偏好使用快速的 uv 管理器,則使用 uv add optimum-benchmark
  2. 選擇後端 – 安裝所需執行環境的可選擴充,例如 pip install optimum-benchmark[onnxruntime]uv add optimum-benchmark --extra vllm
  3. 執行基準測試 – 可選擇以下任一方式:
    • Python API – 建立一個 BenchmarkConfig,包含 TorchrunConfigInferenceConfig(或 TrainingConfig)以及後端設定(例如 PyTorchConfig(model="gpt2", device="cuda"))。呼叫 Benchmark.launch(config) 並檢查回傳的 BenchmarkReport
    • CLIoptimum-benchmark --config-dir examples/ --config-name cuda_pytorch_bert。使用 --multirun 可對值進行掃描(例如 backend.device=cpu,cuda)。
  4. 檢查結果 – 執行會產生多個檔案(benchmark_report.json.md.txt 等),並可選擇性地推送到 Hugging  Face Hub。

它為何有用?

  • 提供跨數十個後端與設備的統一介面,無需為每個執行環境撰寫獨立腳本。
  • 提供精確的指標 – 延遲、吞吐量、記憶體使用量,以及透過 codecarbon 整合的可選能源追蹤。
  • 可重現性 – 使用 Hydra 設定、Docker 映像(cpucudarocm)與 CI 測試,確保相同基準測試可在任何地方重複執行。
  • 可擴充性 – 透過擴展提供的設定類別,可新增後端、啟動器或自訂指標。

如何了解更多?

  • 上述的 README 包含快速入門指令與受支援後端的完整清單。
  • 範例設定檔位於倉儲的 examples/ 目錄中。
  • 庫的 API 文件optimum_benchmark 套件生成,安裝後可檢視。
  • 對於社群主導的效能比較,請參閱托管於 Hugging  Face Hub 上的 LLM‑Perf Leaderboard

TL;DR

Optimum‑Benchmark 是由 Hugging  Face 維護的、用於 Transformer 風格模型的多後端基準測試套件。安裝它,選擇一個後端/設備,定義一個 Hydra 設定(或使用 Python API),執行基準測試,即可獲得可公開分享的詳細延遲/記憶體/能源報告。它適用於任何需要在快速演進的 AI 硬體環境中取得可靠、可重現性能數據的人。

相關

  • 專案
  • 專案
  • 專案
  • 專案