快速评估
(quick_result, selected_percentile_metrics, metrics)
| 554 | |
| 555 | |
| 556 | def quick_summary(quick_result, selected_percentile_metrics, metrics): |
| 557 | """ |
| 558 | 快速评估 |
| 559 | """ |
| 560 | |
| 561 | def process_quick_metric( |
| 562 | metric_attribute_name: str, |
| 563 | metric_name: str, |
| 564 | metric_header: str, |
| 565 | ): |
| 566 | if metric_attribute_name not in selected_percentile_metrics: |
| 567 | return |
| 568 | print("{s:{c}^{n}}".format(s=metric_header, n=50, c="-")) |
| 569 | mean_value = getattr(metrics, f"mean_{metric_attribute_name}_ms") |
| 570 | print("{:<40} {:<10.2f}".format(f"Mean {metric_name} (ms):", mean_value)) |
| 571 | quick_result[f"mean_{metric_attribute_name}_ms"] = mean_value |
| 572 | |
| 573 | def process_quick_length( |
| 574 | metric_attribute_name: str, |
| 575 | metric_name: str, |
| 576 | metric_header: str, |
| 577 | ): |
| 578 | if metric_attribute_name not in selected_percentile_metrics: |
| 579 | return |
| 580 | print("{s:{c}^{n}}".format(s=metric_header, n=50, c="-")) |
| 581 | mean_value = getattr(metrics, f"mean_{metric_attribute_name}") |
| 582 | print("{:<40} {:<10.2f}".format(f"Mean {metric_name}:", mean_value)) |
| 583 | quick_result[f"mean_{metric_attribute_name}"] = mean_value |
| 584 | |
| 585 | print("\n\n\n") |
| 586 | print("{s:{c}^{n}}".format(s=" Benchmark Quick Summary ", n=50, c="=")) |
| 587 | process_quick_length("s_decode", "Decode", "解码速度(tok/s)") |
| 588 | process_quick_metric("ttft", "TTFT", "Time to First Token") |
| 589 | process_quick_metric("s_ttft", "S_TTFT", "Infer Time to First Token") |
| 590 | process_quick_metric("tpot", "TPOT", "Time per Output Token (excl. 1st token)") |
| 591 | process_quick_metric("itl", "ITL", "Inter-token Latency") |
| 592 | process_quick_metric("s_itl", "S_ITL", "Infer Inter-token Latency") |
| 593 | process_quick_metric("e2el", "E2EL", "End-to-end Latency") |
| 594 | process_quick_metric("s_e2el", "S_E2EL", "Infer End-to-end Latency") |
| 595 | process_quick_length("input_len", "Cached Tokens", "Cached Tokens") |
| 596 | process_quick_length("s_input_len", "Input Length", "Infer Input Length") |
| 597 | process_quick_length("output_len", "Output Length", "Output Length") |
| 598 | print("=" * 50) |
| 599 | |
| 600 | |
| 601 | def check_goodput_args(args): |
no test coverage detected