在大模型推理过程中,首 token 时间(TTFT)和每秒处理 token 数(TPS)是衡量推理性能的关键指标。如何通过模型压缩、量化、批处理、内存优化及推理引擎优化等手段,在保证生成质量的前提下有效降低 TTFT 并提升 TPS,是当前工程落地中的核心挑战。
1条回答 默认 最新
蔡恩泽 2025-07-08 20:10关注1. 模型推理性能的关键指标
在大语言模型(LLM)的部署与推理过程中,两个核心性能指标是首 token 时间(Time To First Token, TTFT)和每秒处理 token 数(Tokens Per Second, TPS)。TTFT 反映了用户首次看到生成内容的速度,直接影响用户体验;TPS 则体现了系统的整体吞吐能力。
- TTFT: 用户等待第一个 token 生成的时间,尤其在对话系统中至关重要。
- TPS: 单位时间内能处理的 token 总数,影响并发能力和资源利用率。
2. 影响 TTFT 和 TPS 的因素分析
影响这两个指标的因素主要包括以下几个方面:
- 模型结构复杂度:层数、参数量等决定了计算密集程度。
- 硬件资源限制:GPU/TPU 内存带宽、算力。
- 推理引擎效率:如调度策略、并行化能力。
- 输入输出管理:批处理策略、缓存机制。
3. 提升推理性能的核心技术手段
为提升推理性能,通常采用以下五类关键技术:
技术方向 作用 典型方法 模型压缩 减少参数数量,降低计算负载 剪枝、蒸馏、结构重设计 量化 使用低精度表示降低内存占用与计算开销 INT8、FP16、混合精度训练 批处理优化 提升 GPU 利用率,提高 TPS 动态批处理、请求优先级调度 内存优化 减少显存消耗,支持更大 batch size KV Cache 重用、内存池管理 推理引擎优化 提升执行效率,缩短延迟 Triton、TensorRT、ONNX Runtime 4. 模型压缩与量化技术详解
模型压缩通过移除冗余参数或简化网络结构来减小模型体积。例如,知识蒸馏利用一个小型学生模型去学习大型教师模型的行为;剪枝则去除不重要的神经元连接。
# 示例:使用 HuggingFace Transformers 进行模型量化 from transformers import AutoTokenizer, AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("gpt2") tokenizer = AutoTokenizer.from_pretrained("gpt2") # 使用动态量化 import torch.quantization quantized_model = torch.quantization.quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )5. 批处理与内存优化策略
在推理阶段,将多个请求合并成一个 batch 能显著提高 GPU 的利用率。但需注意不同长度的输入可能导致 padding 浪费。
KV Cache 是自回归生成中的关键结构,重复使用可以避免重复计算 key/value 向量,从而加快后续 token 的生成速度。
graph TD A[用户请求] --> B{是否可合并?} B -- 是 --> C[合并到当前 batch] B -- 否 --> D[启动新 batch] C --> E[推理引擎处理] D --> E E --> F[返回结果]6. 推理引擎与系统级优化
高效的推理引擎对于降低 TTFT 和提高 TPS 至关重要。现代推理框架如 TensorRT、Triton、DeepSpeed Inference 支持自动图优化、融合操作、异步执行等特性。
此外,系统级优化包括:
- CUDA 核函数调优
- 多卡分布式推理
- 流水线并行执行
- 缓存命中率优化
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报