Files
Christian Meyer 407af8099b
Some checks failed
CI / test (push) Has been cancelled
CI / test (pull_request) Has been cancelled
docs: record Qwen MLX benchmark results
2026-08-31 16:39:37 +02:00

136 lines
5.2 KiB
JSON

{
"run_id": "20260831T114727Z",
"created_at": "2026-08-31T11:47:27.622260+00:00",
"host": {
"platform": "macOS-15.6-arm64-arm-64bit",
"machine": "arm64",
"python": "3.12.8"
},
"arguments": {
"output_dir": "/Users/christianmeyer/Documents/git/lai_automatisierung/benchmarks/inference/results",
"runtime": "vllm",
"ollama_url": "http://127.0.0.1:11434",
"ollama_model": "qwen3.8:27b-mlx",
"vllm_url": "http://127.0.0.1:8001",
"vllm_model": "qwen3.8-27b-nvfp4",
"warmups": 2,
"rounds": 5,
"concurrency": [
1,
4
],
"max_tokens": 128,
"seed": 42,
"timeout": 600
},
"runtimes": [
{
"name": "vllm-metal",
"kind": "openai",
"base_url": "http://127.0.0.1:8001",
"model": "qwen3.8-27b-nvfp4"
}
],
"versions": {
"ollama": "ollama version is 0.32.14",
"vllm": "INFO 08-31 13:47:28 [__init__.py:52] Available plugins for group vllm.platform_plugins:\nINFO 08-31 13:47:28 [__init__.py:54] - metal -> vllm_metal:register\nINFO 08-31 13:47:28 [__init__.py:57] All plugins in this group will be loaded. Set `VLLM_PLUGINS` to control which plugins to load.\nINFO 08-31 13:47:30 [__init__.py:254] Platform plugin metal is activated\nINFO 08-31 13:47:30 [importing.py:88] Triton not installed or not compatible; certain GPU-related functions will not be available.\n0.28.0+cpu"
},
"model_metadata": {
"vllm-metal": {
"object": "list",
"data": [
{
"id": "qwen3.8-27b-nvfp4",
"object": "model",
"created": 1788176852,
"owned_by": "vllm",
"root": "mlx-community/Qwen3.8-27B-nvfp4",
"parent": null,
"max_model_len": 8192,
"permission": [
{
"id": "modelperm-956fc45cb39100d2",
"object": "model_permission",
"created": 1788176852,
"allow_create_engine": false,
"allow_sampling": true,
"allow_logprobs": true,
"allow_search_indices": false,
"allow_view": true,
"allow_fine_tuning": false,
"organization": "*",
"group": null,
"is_blocking": false
}
]
}
]
}
},
"prompts": {
"short": "In exactly four concise bullet points, explain why database transactions are useful. Do not use a heading.",
"medium": "You are reviewing a Laravel service that transfers money between two accounts. Explain the failure modes involving concurrency, partial writes, retries, and audit logs. Then provide a robust implementation plan. Keep the response technical and concise.",
"code": "Write a Python 3.12 function named merge_intervals that accepts a list of integer pairs, validates each pair, merges overlapping or adjacent intervals, and returns sorted tuples. Include type hints, a short docstring, and five assert-based examples. Output only code."
},
"measurement_notes": {
"ttft": "Client wall time from request start until first non-empty generated text chunk.",
"total": "Client wall time from request start until stream completion.",
"decode_tps": "Ollama server eval metric; otherwise output tokens / (total - TTFT).",
"aggregate_output_tps": "Sum of successful output tokens / concurrent group wall time."
},
"completed_at": "2026-08-31T11:49:15.455115+00:00",
"summary": [
{
"runtime": "vllm-metal",
"model": "qwen3.8-27b-nvfp4",
"concurrency": 1,
"requests": 5,
"successes": 5,
"failures": 0,
"ttft_s_mean": 0.3338013501954265,
"ttft_s_p50": 0.37227433401858434,
"ttft_s_p95": 0.4201282836031169,
"total_s_mean": 5.444907250197138,
"total_s_p50": 5.454897999996319,
"total_s_p95": 5.562144016823732,
"prompt_tps_mean": null,
"prompt_tps_p50": null,
"prompt_tps_p95": null,
"decode_tps_mean": 25.04504255080693,
"decode_tps_p50": 24.962500989743333,
"decode_tps_p95": 25.32382313060655,
"request_tps_mean": 23.517575676354507,
"request_tps_p50": 23.465150035818517,
"request_tps_p95": 24.196276605031606,
"aggregate_output_tps_mean": 23.516827822391825,
"aggregate_output_tps_p50": 23.464397444683396,
"aggregate_output_tps_p95": 24.195480643338048
},
{
"runtime": "vllm-metal",
"model": "qwen3.8-27b-nvfp4",
"concurrency": 4,
"requests": 20,
"successes": 20,
"failures": 0,
"ttft_s_mean": 1.1358489938022103,
"ttft_s_p50": 1.1691114795103204,
"ttft_s_p95": 1.2360623297834537,
"total_s_mean": 9.343862856202758,
"total_s_p50": 9.272835896001197,
"total_s_p95": 9.591099269420374,
"prompt_tps_mean": null,
"prompt_tps_p50": null,
"prompt_tps_p95": null,
"decode_tps_mean": 15.572524640705884,
"decode_tps_p50": 15.580143217705817,
"decode_tps_p95": 15.920671319893613,
"request_tps_mean": 13.679827878866371,
"request_tps_p50": 13.803600866803595,
"request_tps_p95": 13.831739950302437,
"aggregate_output_tps_mean": 54.66256367620249,
"aggregate_output_tps_p50": 54.89183177619698,
"aggregate_output_tps_p95": 55.24148726503248
}
]
}