专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
乐游上海  ·  市中心又一新地标,明起对公众开放! ·  5 小时前  
上海发布  ·  2月份沪牌拍卖结果公布 ·  昨天  
掌上澄江  ·  你好澄江丨抚仙湖畔,春风抚芦苇 ·  3 天前  
掌上澄江  ·  你好澄江丨抚仙湖畔,春风抚芦苇 ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

LightLLM:轻量高速的LLM推理服务平台

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-05-22 01:04

正文

LightLLM是一个基于Python的LLM(大型语言模型)推理和服务框架,以其轻量级设计、易于扩展和高速性能而闻名:

https://github.com/ModelTC/lightllm github.com/ModelTC/lightllm

LightLLM利用了许多备受好评的开源实现优势,包括FasterTransformer、TGI、vLLM和FlashAttention等。

vLLM中采用的 PagedAttention 将KV缓存存储在不连续的内存空间中。虽然PagedAttention在一定程度上缓解了内存碎片,但仍然为内存浪费留出了空间。此外,在处理多个高并发请求时,内存块的分配和释放效率低下,导致内存利用率不理想。

TokenAttention ,一种在token级别管理Key和Value缓存的注意机制。与PagedAttetion相比,TokenAttention不仅最大限度地减少了内存碎片,实现了高效的内存共享,而且有助于高效的内存分配和释放。它允许更精确和细粒度的内存管理,从而优化内存利用率。

下表是PagedAttetion和TokenAttention二者的比较:

由于自注意的时间和内存复杂性在序列长度上是二次型的,因此Transformer在长序列上是缓慢的,并且需要更多内存。近似注意方法试图通过权衡模型质量来降低计算复杂度来解决这个问题,但通常无法实现挂钟(wall-clock)加速。一个缺失的原理是使注意算法具有IO意识——考虑GPU内存级别之间的读写。 FlashAttention 是一种IO-觉察的精确注意算法,用平铺(tiling)来减少GPU高带宽存储器(HBM)和GPU片上SRAM之间的存储器读/写次数。将FlashAttention扩展到块稀疏注意,可产生一种比任何现有近似注意方法都快的近似注意算法。

LightLLM 包括以下特点:

  1. 三进程异步协作:token化、模型推理和去token化是异步执行的,从而大大提高了GPU的利用率。

  2. Nopad(Unpad):支持跨多个模型的无填零注意操作,有效处理长度差异较大的请求。

  3. 动态批处理:请求的动态批处理调度。

  4. FlashAttention :结合FlashAttention(“ FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness“ ,2022







请到「今天看啥」查看全文