这里这张图非常的清晰,借鉴至这篇文章(https://medium.com/squeezebits-team-blog/vllm-vs-tensorrt-llm-1-an-overall-evaluation-88f281bf01c7),主要就是涉及 TTFT、TPOT、Total Inference Time (Latency) 以及图中没有提及的 TPS,这几个大模型的性能指标不只是适用于纯语言大模型 LLM,也适用于多模态大模型 MLLM,所以还是比较通用。
定义:从向模型输入 prompt 开始到模型生成第一个输出 token 所花费的时间。
作用:从业务角度来说是反映模型的初始响应速度,对于实时交互式应用非常重要,较低的TTFT可以提高用户体验,使用户感觉模型响应迅速;从算法推理角度来说,其实主要是在掐大模型推理的 Prefill 时间,更加准确一些的是上图中的 Queueing Time + Prefill Latency 时间和。
定义:从输入 prompt 到模型生成完整输出所消耗的总时间。
作用:总体的响应时间,包含 TTFT 和生成所有 tokens 的时间,当然对于需要快速响应的应用,延时越低越好。
定义:模型在输出阶段 (Decode 阶段) 每个输出 token 的延时。
计算方式:
作用:衡量模型生成阶段自回归蹦出来输出的效率。
定义:模型每秒生成的tokens数量。
计算方式:
作用:直接衡量模型的生成速度 (还是指 decode 阶段)。TPS 越高,表示模型生成文本的速度越快。
下面实操在 transformers 中测量 TTFT、TPOT、Latency 和 TPS 数据的代码。
def measure_performance(model, tokenizer, prompt, max_new_tokens=50):
inputs = tokenizer(prompt, return_tensors="pt")
input_ids = inputs.input_ids.to(model.device)
# 测量TTFT
start_time = time.time()
with torch.no_grad():
outputs = model.generate(input_ids, max_new_tokens=1)
ttft = time.time() - start_time
# 测量TPOT和Latency
start_time = time.time()
with torch.no_grad():
outputs = model.generate(input_ids, max_new_tokens=max_new_tokens)
total_time = time.time() - start_time
tpot = (total_time - ttft) / max_new_tokens
latency = total_time
# 计算TPS
tps = max_new_tokens / latency
return ttft, tpot, latency, tps
prompt = "Once upon a time"
ttft, tpot, latency, tps = measure_performance(model, tokenizer, prompt)
print(f"TTFT: seconds")
print(f"TPOT: seconds")
print(f"Latency: seconds")
print(f"TPS: tokens/second")
如果你稍微心细一些可能会发现上述的代码是在掐 max_new_tokens
的时间,而实际的输出 token 数一定会是 <= max_new_tokens
,这应该很好理解。所以更加准确一些的测试方法是掐实际输出 tokens,实际输出 tokens 可以使用类似 len(tokenizer.encode(response))
的代码进行计算。
所以可以看到大模型这种生成的模式测性能,指标和以前的 CV 小模型测性能差别非常之大。
好文章,需要你的鼓励
Xbox 部门推出了名为 Muse 的生成式 AI 模型,旨在为游戏创造视觉效果和玩法。这一举措反映了微软全面拥抱 AI 技术的战略,尽管游戏开发者对 AI 持谨慎态度。Muse 不仅可能提高游戏开发效率,还有望实现老游戏的现代化改造,但其实际效果和对行业的影响仍有待观察。
Sonar收购AutoCodeRover,旨在通过自主AI代理增强其代码质量工具。这项收购将使Sonar客户能够自动化调试和问题修复等任务,让开发者将更多时间用于改进应用程序而非修复bug。AutoCodeRover的AI代理能够自主修复有问题的代码,将与Sonar的工具集成,提高开发效率并降低成本。
人工智能正在推动数据中心的变革。为满足 AI workload 的需求,数据中心面临前所未有的电力消耗增长、散热压力和设备重量挑战。应对这些挑战需要创新的解决方案,包括 AI 专用硬件、可再生能源、液冷技术等。同时,数据中心还需平衡监管压力和社区关切。未来数据中心的发展将决定 AI 技术能否实现其变革性潜力。