主要观点总结
本文总结了基于TRT-LLM的LLM推理流程的关键点,包括推理流程、推理两阶段、推理评测指标和推理运行时的情况。
关键观点总结
关键观点1: LLM推理流程
输入的prompt是放在GPU中处理的,输出时是一个一个出来的。LLM推理分为两个阶段:prefill阶段和decode阶段。prefill阶段处理输入的所有token,而decode阶段则自回归地生成每一个token。
关键观点2: 推理两阶段
prefill阶段会并行处理输入的所有token,而decode阶段是自回归的,每次只生成一个token。两个阶段在资源需求和效率上有显著不同。
关键观点3: 推理评测指标
评估LLM推理性能的指标包括TTFT(Time to First Token)、TPOP(每秒钟能生成的token数)和ITL(Inter-token Latency)。ITL提供了更细粒度的性能视图,能够反映出生成过程中的变化和波动。
关键观点4: 推理运行时
LLM推理运行时的显存利用与普通小模型有很大不同。大模型的显存主要在prefill和decode阶段占用,而模型权重一般只存一份。
文章预览
本文来源自Pytorch Conference 2024的talking —— Understanding the LLM Inference Workload ,由NVIDIA的高级解决方案架构师讲述,感兴趣的可以看原演讲视频: https://www.youtube.com/watch?v=z2M8gKGYws4 =PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l =23 [1] 本文总结和整理下其描述的基于TRT-LLM的LLM推理流程。 0x10 推理 以下是简单的LLM推理流程(下图中输入 Write me a presentation... ),注意两个事儿: 我们的输入prompt是放在GPU中的, 然后output的时候,是 一个一个 出来的:LLM inference is hard,而且每次输出一个token都会这个将这个token之前的输入(也是tokens)全送进GPU再吐下一个token 根据上述的LLM推理流程,很容易推理出: 输入的prompt token数越多,LLM反应越慢,因为LLM要处理你输入的prompt,这是要在GPU上算的,越多计算的时间越长 因为输入的prompt token和后续输出的token都存在GPU中,这些是要占显存
………………………………