目录1.vLLM2.Text Generation Inference3.TensorRT-LLM4.Ollama本篇以总结梳理为主,关于模型所用技术,如之前博客有涉及便不细讲。继续深入学习会持续更新。为什么需要推理框架,除了分布式推理和支持量化之外,大模型推理框架最大的用处是加速推理。加速推理的主要目的是提高推理效率,减少计算和内存需求,满足实时性要求,降低部署成本:(1)计算和内存:大模型通常需要大量的计算资源和内存来处理复杂的任务。这在资源受限的场景中,如移动设备或边缘计算环境中,会造成推理效率低下的问题。为了解决这一问题,需要通过优化技术提高推理效率,减少计算和内存需求;(2)实时性:在许多应用场景中,如语音助手、实时翻译等,用户期望能够获得即时的反馈。大模型的推理速度直接影响到用户体验。因此,加速推理可以减少延迟,提供更流畅的交互体验;(3)部署成本:大模型的部署需要昂贵的硬件支持,如高性能GPU。通过推理加速,可以在较低成本的硬件上部署大模型,降低部署成本,使得大模型的应用更加广泛;(4)系统性能优化:在实际部署中,大模型的推理性能受到系统层面因素的影响,如内存带宽、计算单元的利用率等。通过系统级别的优化,可以提高大模型的推理速度和效率。常见的大模型推理框架:1.vLLMvLLM是基于PagedAttention的推理框架。关于PageAttention,可以看我下面这篇博客:PagedAttention/vAttention总结vLLM的关键特性如下:1.PagedAttention算法:vLLM利用了全新的注意力算法PagedAttention,有效管理注意力机制中的键(key)和值(value)内存,减少了显存占用,并提升了模型的吞吐量。2.多GPU支持:vLLM支持多GPU系统,可以有效地分布工作负载,减少瓶颈,增加系统的整体吞吐量。3.连续批处理:vLLM支持连续批处理,允许动态任务分配,这对于处理工作负载波动的环境非常有用,可以减少空闲时间,提高资源管理效率。4.推测性解码:vLLM通过预先生成并验证潜在的未来标记来优化Chatbots和实时文本生成器的延迟,减少LLM的推理时间。5.优化的内存使用:vLLM的嵌入层针对内存效率进行了高度优化,确保LLM平衡有效地利用GPU内存,解决了大多数LLM(如ChatGPT)的内存资源问题而不牺牲性能。6.LLM适配器:vLLM支持集成LLM适配器,允许开发者在不重新训练整个系统的情况下微调和定制LLM,提供了灵活性。7.与HuggingFace模型的无缝集成:用户可以直接在HuggingFace平台上使用vLLM进行模型推理和服务,无需额外的开发工作。8.支持分布式推理:vLLM支持张量并行和流水线并行,为用户提供了灵活且高效的解决方案。9.与OpenAI API服务的兼容性:vLLM提供了与OpenAI接口服务的兼容性,使得用户能够更容易地将vLLM集成到现有系统中。10.支持量化技术:vLLM支持int8量化技术,减小模型大小,提高推理速度,有助于在资源有限的设备上部署大型语言模型。2.Text Generation InferenceText Generation Inference(TGI)是一个由Huggi