因为max_batch_size是给TensorRT编译engine用的,编译engine的阶段,无法知道你后续启动服务时需要使用多少KV Cache(其实是可以算的吧,不然启动服务的时候咱会抛出这个信息,感觉是TensorRT-LLM没有在build engine阶段做这个功能),因此就有可能导致,对于某个max_batch_size,虽然编译engine没问题,但是启动
因为max_batch_size是给TensorRT编译engine用的,编译engine的阶段,无法知道你后续启动服务时需要使用多少KV Cache(其实是可以算的吧,不然启动服务的时候咱会抛出这个信息,感觉是TensorRT-LLM没有在build engine阶段做这个功能),因此就有可能导致,对于某个max_batch_size,虽然编译engine没问题,但是启动服务的时候会报OOM。
使用参数use_int8_kv_cache. 未来将减少memory bound的情况。 量化 量化可以从以下2个方面减少cost: 1.低精度的Tensor Core可以加速计算 2.量化的weight可以减少内存的访问,从而提高吞吐 QAT成本比较高,PTQ相对QAT是比较可行的。 PTQ支持了6个类型的量化: 1.INT8 per-channel weigth only 2.INT4 per-channel ...
KV缓存优化(KV Cache Optimizations) 包括分页KV缓存和量化KV缓存,这些技术可以改善内存消耗和利用率,同时支持INT8和FP8的KV缓存。注意力技术(Attention Techniques) TensorRT-LLM提供了定制的注意力优化实现,如窗口注意力和流式LLM,这些技术允许更长的序列长度,减少KV缓存的内存使用,并避免内存不足错误。多GPU多节点(M...
MHA 是标准的多头注意力机制,每个 query 存储一份 KV,因此需要使用较多的显存。MQA 所有 query 共享一份 KV,推理时容易丢失一些细节信息。GQA 将 query 进行分组,组内共享一份 KV,可以有效避免 MHA 和 MQA 的问题。TensorRT-LLM 支持 MHA、MQA 及 GQA 方式,可以在 tensorrt_llm.functional.gpt_attention ...
TensorRT-LLM also offers FP8 quantization for the KV cache. KV cache differs from normal activation occupying non-negligible persistent memory under large batch sizes or long context lengths. Switching to FP8 KV cache enables running 2-3x larger batch sizes with increasing performance. ...
python3 examples/quantization/quantize.py --kv_cache_dtype fp8 --dtype float16 --qformat int4_awq --output_dir ./quantized_mistral_int4 --model_dir /dictalm-2-instruct --calib_size 32 然后构建引擎: trtllm-build --checkpoint_dir quantized_mistral_int4/ --output_dir ...
MHA 是标准的多头注意力机制,每个 query 存储一份 KV,因此需要使用较多的显存。MQA 所有 query 共享一份 KV,推理时容易丢失一些细节信息。GQA 将 query 进行分组,组内共享一份 KV,可以有效避免 MHA 和 MQA 的问题。 TensorRT-LLM 支持 MHA、MQA 及 GQA 方式,可以在 tensorrt_llm.functional.gpt_attention 查看...
quantization={ "quant_algo": "W8A8", "kv_cache_quant_algo": "FP8" } ) # 执行模型转换 builder = Builder() optimized_model = builder.build( model=model, config=builder_config, output_dir="./engines/llama-13b-int8" ) # 生成TensorRT引擎 ...
kv cache(学习vllm的page方法?) 高度优化的self-attention(极制的性能优化) 服务端优化(支持inflight batching,和continuous batching类似) 虽然取的名字提到LLM(Large Language Model,大语言模型),但其实TensorRT-LLM可以用来搭建任意AI模型,单卡多卡版本的都可...