Report median instead of mean in bench_latency.py (#1269)

This commit is contained in:
Lianmin Zheng
2024-08-30 06:05:01 -07:00
committed by GitHub
parent 55f5976b42
commit 79ece2c51f
3 changed files with 8 additions and 14 deletions

View File

@@ -292,6 +292,7 @@ def latency_test_run_once(
measurement_results["prefill_throughput"] = throughput
# Decode
decode_latencies = []
for i in range(output_len):
torch.cuda.synchronize()
tic = time.time()
@@ -300,17 +301,18 @@ def latency_test_run_once(
latency = time.time() - tic
tot_latency += latency
throughput = batch_size / latency
decode_latencies.append(latency)
if i < 5:
rank_print(
f"Decode. latency: {latency:6.5f} s, throughput: {throughput:9.2f} token/s"
)
avg_decode_latency = (tot_latency - prefill_latency) / output_len
avg_decode_throughput = batch_size / avg_decode_latency
med_decode_latency = np.median(decode_latencies)
med_decode_throughput = batch_size / med_decode_latency
rank_print(
f"Decode. avg latency: {avg_decode_latency:6.5f} s, avg throughput: {avg_decode_throughput:9.2f} token/s"
f"Decode. median latency: {med_decode_latency:6.5f} s, median throughput: {med_decode_throughput:9.2f} token/s"
)
measurement_results["avg_decode_latency"] = avg_decode_latency
measurement_results["avg_decode_throughput"] = avg_decode_throughput
measurement_results["median_decode_latency"] = med_decode_latency
measurement_results["median_decode_throughput"] = med_decode_throughput
throughput = (input_len + output_len) * batch_size / tot_latency
rank_print(

View File

@@ -50,8 +50,6 @@ for name, cls in _CONFIG_REGISTRY.items():
with contextlib.suppress(ValueError):
AutoConfig.register(name, cls)
from sglang.srt.utils import is_multimodal_model
def download_from_hf(model_path: str):
if os.path.exists(model_path):
@@ -60,12 +58,6 @@ def download_from_hf(model_path: str):
return snapshot_download(model_path, allow_patterns=["*.json", "*.bin", "*.model"])
def get_config_json(model_path: str):
with open(os.path.join(model_path, "configs.json")) as f:
config = json.load(f)
return config
def get_config(
model: str,
trust_remote_code: bool,