推理框架介绍
文生文模型推理框架
传神社区支持了以下三个文生文推理框架:VLLM、SGLang 和 TGI。每个框架都有其独特的特点和使用场景,适用于不同的推理任务。在选择框架时,可以根据具体的使用场景和需求来决定最合适的工具。
1. VLLM
vLLM 是一个快速且易于使用的LLM推理和服务库。由UC Berkeley的Sky Computing Lab最初开发,vLLM 已经发展成为一个社区驱动的项目,涵盖了学术界和工业界的贡献。
特点:
- 高速性能:具有领先的服务吞吐量,支持分页注意力管理,快速的CUDA/HIP图执行,量化支持(GPTQ、AWQ、INT4、INT8、FP8),优化的CUDA内核,并集成了FlashAttention和FlashInfer。
- 灵活性:支持Hugging Face流行模型,支持多种解码算法(如并行采样、束搜索等),支持分布式推理的张量并行性和流水线并行性。
- 多平台支持:支持NVIDIA GPU、AMD CPU和GPU、Intel CPU和GPU、PowerPC CPU、TPU以及AWS Neuron等平台。
- 模型支持:无缝支持大多数Hugging Face的开源模型,包括Transformer型LLMs(如Llama)、专家混合型LLMs(如Mixtral)、多模态LLMs(如LLaVA)等。
使用场景:
适用于需要高吞吐量、高性能推理以及多平台支持的场景,特别是在大规模推理任务中,vLLM可以提供强大的计算支持。
链接
2. SGLang
SGLang 是一个快速的服务框架,支持大型语言模型和视觉语言模型。它通过共同设计后端运行时和前端语言,使得与模型的交互更加快速和可控。
特点:
- 高效的后端运行时:包括RadixAttention进行前缀缓存、跳跃前进约束解码、无开销的CPU调度、连续批处理、张量并行性、FlashInfer内核等。
- 灵活的前端语言:提供直观的接口,用于编程LLM应用,包括链式生成调用、复杂提示、多模态输入、并行化等。
- 广泛的模型支持:支持Llama、Gemma、Mistral、QWen、DeepSeek、LLaVA等生成模型,以及嵌入模型(如e5-mistral)和奖励模型(如Skywork)。
- 活跃的社区:SGLang是开源的,并由一个活跃的社区支持,广泛应用于行业。
使用场景:
适用于需要灵活且高效的推理框架,尤其是在多模态应用、定制化生成以及需要精细控制生成过程的场景。
链接
3. TGI (Text Generation Inference)
TGI 是一个用于部署和服务大型语言模型的工具包,旨在为最流行的开源LLM提供高性能文本生成服务。
特点:
- 简单启动:支持最流行的LLM,如Llama、Falcon、StarCoder等的服务启动。
- 生产就绪:支持分布式追踪(Open Telemetry)和Prometheus指标,确保生产环境的稳定性。
- 高效推理:支持张量并行性、Token流式传输(SSE)、连续批处理,优化了推理性能。
- 量化与定制:支持多种量化方法(如GPT-Q、AWQ、FP8等),并提供自定义提示生成、模型微调支持等功能。
使用场景:
适用于需要高效、低延迟推理的生产环境,特别是在大规模文本生成任务和定制化文本生成任务中,TGI提供了灵活的配置和高效的执行能力。