Ascend-vLLM介绍
Ascend-vLLM概述
vLLM是GPU平台上广受欢迎的大模型推理框架,因其高效的continuous batching和pageAttention功能而备受青睐。此外,vLLM还具备投机推理和自动前缀缓存等关键功能,使其在学术界和工业界都得到了广泛应用。
Ascend-vLLM是华为云针对NPU优化的推理框架,继承了vLLM的优点,并通过特定优化实现了更高的性能和易用性。它使得在NPU卡上运行大模型变得更加高效和便捷,为用户带来了极大的便利和性能提升。Ascend-vLLM可广泛应用于各种大模型推理任务,特别是在需要高性能和高效率的场景中,如自然语言处理、图像生成和语音识别等。
Ascend-vLLM的主要特点
- 易用性:Ascend-vLLM简化了在大模型上的部署和推理过程,使开发者可以更轻松地使用它。
- 易开发性:提供了友好的开发和调试环境,便于模型的调整和优化。
- 高性能:通过自研特性和针对NPU的优化,如PD分离、前后处理、sample等,实现了高效的推理性能。
Ascend-vLLM支持的特性介绍
特性名称 |
特性说明 |
|
---|---|---|
调度 |
Page-attention |
分块管理kvcache,提升吞吐。 |
Continuous batching |
迭代级调度,动态调整batch,降低延迟,提升吞吐。 |
|
量化 |
W4A16-AWQ |
权重Int4量化,降低显存消耗和时延。小并发时延提升80%,精度损失2%以内。 |
W8A8-SmoothQuant |
权重Int8量化,降低显存消耗,吞吐提升30%;精度损失1.5%以内。 |
|
高效解码 |
Auto-prefix-caching |
前缀缓存,降低首token时延。在system prompt较长或多轮对话场景收益明显 |
Chunked-prefill |
又名split-fuse。全量增量同时推理,提高资源利用率,提升吞吐。 |
|
Speculative Decoding |
支持大小模型投机推理和eager模式投机,提升推理性能。 |
|
图模式 |
ascend-turbo-graph |
记录算子执行的依赖关系构图;消除python host耗时;且支持动态shape。如果未设置则默认配置到acl_graph,如果还存在不支持的情况,最终fallback到eager模式。 |
acl-graph |
对标cuda-graph的piece-wise graph,如果设置了eager模式,则eager优先级更高。 |
|
控制输出 |
Guided Decoding |
通过特定模式控制模型输出。 |
Beam search |
通过beamsearch输出多个候选结果。 |