Skip to main content

metrumbench-asr Workload And Scenario

Use this flow to create an ASR workload and its audio scenario matrix. ASR is scoped to the Whisper model family on vLLM only.

Set these environment variables for the examples:

export METRUM_API_URL="https://api.<control-plane-domain>"
export METRUM_JWT_TOKEN="<12-hour-db-minted-postgrest-jwt>"
export METRUM_ACCOUNT_ID="<account-uuid>"

Create Workload

Creates a benchmark workload for a project, tool, model, framework, version, and engine args set.

curl -fsS -X POST "$METRUM_API_URL/rpc/create_workload" \
-H "Authorization: Bearer $METRUM_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"p_owner_account_id\":\"$METRUM_ACCOUNT_ID\",
\"p_project_name\":\"whisper-asr-h100\",
\"p_workload_code\":\"whisper-largev3-vllm\",
\"p_workload_name\":\"whisper-largev3-vllm\",
\"p_tool_code\":\"metrumbench-asr\",
\"p_model_code\":\"openai/whisper-large-v3\",
\"p_framework_code\":\"vllm\",
\"p_version\":\"0.20.0\"
}" | jq

Parameters:

NameRequiredDescription
p_owner_account_idYesAccount UUID that owns the project.
p_project_nameYesExisting project name.
p_workload_codeYesStable workload code. Use lowercase words separated by hyphens.
p_workload_nameYesDisplay name. Often the same as p_workload_code.
p_tool_codeYesBenchmark tool code, usually metrumbench-asr.
p_model_codeYesWhisper model code, for example openai/whisper-large-v3.
p_framework_codeYesvllm only. SGLang and TensorRT-LLM are not productized for ASR.
p_versionYesvLLM framework version.
p_quantization_codeNoQuantization code, when applicable.
p_engine_args_set_codeNoEngine argument preset, for example vllm-default.

Create Scenario

Creates one benchmark scenario for an ASR workload. For ASR, the main knobs are p_concurrency and p_num_requests; audio is pulled from the prompt source referenced on the workload.

curl -fsS -X POST "$METRUM_API_URL/rpc/create_scenario" \
-H "Authorization: Bearer $METRUM_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"p_owner_account_id\":\"$METRUM_ACCOUNT_ID\",
\"p_project_name\":\"whisper-asr-h100\",
\"p_workload_code\":\"whisper-largev3-vllm\",
\"p_scenario_code\":\"c8-librispeech-clean\",
\"p_scenario_name\":\"c8-librispeech-clean\",
\"p_concurrency\":8,
\"p_num_requests\":200
}" | jq

Parameters:

NameRequiredDescription
p_owner_account_idYesAccount UUID that owns the project.
p_project_nameYesExisting project name.
p_workload_codeYesWorkload code created earlier.
p_scenario_codeYesStable scenario code. Include concurrency.
p_scenario_nameYesDisplay name. Often the same as p_scenario_code.
p_concurrencyNoConcurrent transcription requests.
p_num_requestsNoTotal transcriptions to send.
p_response_formatNoverbose_json, json, text, srt, or vtt. Default verbose_json.

See also