一、核心概念

  1. 框架的定义
    框架是解决复杂问题的半成品,提供标准化组件和规范,帮助开发者快速实现业务逻辑。例如Java的Spring、前端的Vue等。

当你面对不同的硬件,不同的平台环境,你要如何去让代码适配并成功高效运行?难道要针对每个平台都写一套单独的代码吗?会不会工作量太大了?等等问题摆在面前。

针对以上问题, 我们不得不请出我们大模型推理框架: 大模型推理框架是一种基于深度学习技术的推理框架,旨在支持大规模深度学习模型的训练和部署

它提供了一系列的工具和服务,使得开发者能够高效地在大规模数据集上训练和部署深度学习模型,并进行推理任务。
这一框架通常包括模型训练框架、分布式推理引擎、数据存储与检索等功能模块,以满足不同场景下的需求。

  1. 大模型推理框架的必要性
    传统训练框架(如PyTorch、TensorFlow)在分布式训练和跨平台部署中存在性能瓶颈,需通过推理框架优化吞吐量(TPS)和延迟(Latency),支持多卡、多节点部署及硬件适配。

二、关键性能指标

  1. 吞吐量(Throughput)
    单位时间处理的请求量(如每秒生成的token数),直接影响系统并发能力。
  2. 延迟(Latency)
    生成完整输出的时间,直接影响用户体验(如对话响应速度)。

三、主流框架对比与特性

1. 高性能推理框架

  • vLLM
    • 优势:基于PagedAttention技术,吞吐量比HuggingFace高14-24倍,支持OpenAI接口,内存效率高。
    • 局限:依赖GPU/CUDA,不支持LoRA等适配器。
  • DeepSpeed
    • 优势:微软开发,支持ZeRO优化和动态批处理,吞吐量优于vLLM。
    • 局限:模型兼容性有限(如不支持Falcon)。
  • TensorRT-LLM
    • 优势:英伟达优化,支持层融合和自回归推理,编译后性能提升显著。
    • 局限:非完全开源,需配合FastAPI实现流式输出。

2. 轻量级与跨平台框架

  • llama.cpp/Llamafile
    • 优势:C++开发,支持CPU/GPU推理,适合移动端(如Apple Silicon)。
    • 局限:模型支持有限,需自行编译。
  • MLC LLM
    • 优势:全平台部署(iOS/Android/浏览器),支持边缘计算。
    • 局限:功能受限(如不支持LoRA)。

3. HuggingFace生态工具

  • Text Generation Inference (TGI)
    • 优势:集成Flash Attention和量化技术,支持万亿参数模型。
    • 局限:文档不全,适配器支持不足。
  • OpenLLM
    • 优势:支持LangChain集成和模型量化,社区活跃。
    • 局限:缺乏分布式推理和批处理优化。

4. 推理框架

作为应用开发者,为了实现最优效率,如果针对不同环境都写一套代码去适配其最优推理框架,其耗费的学习成本和精力及代码量都将极其巨大。

这时候有大模型部署框架用武之地,大模型部署框架作为一种高效、灵活的部署方式,能够大大提高模型训练和部署的效率,降低模型在部署过程中的时间和成本。

模型部署框架 Xinference LocalAI Ollama FastChat
OpenAI API 接口对齐 支持 支持 支持 支持
加速推理引擎 GPTQ, GGML, vLLM, TensorRT, mlx GPTQ, GGML, vLLM, TensorRT GGUF, GGML vLLM
接入模型类型 LLM, Embedding, Rerank, Text-to-Image, Vision, Audio LLM, Embedding, Rerank, Text-to-Image, Vision, Audio LLM, Text-to-Image, Vision LLM, Vision
Function Call 支持 支持 支持 /
更多平台支持(CPU, Metal) 支持 支持 支持 支持
异构 支持 支持 / /
集群 支持 支持 / /
操作文档链接 https://inference.readthedocs.io/zh-cn/latest/models/builtin/index.html https://localai.io/model-compatibility/ https://github.com/ollama/ollama?tab=readme-ov-file#model-library https://github.com/lm-sys/FastChat#install
可用模型 支持上百种大模型,https://inference.readthedocs.io/zh-cn/latest/models/builtin/index.html https://localai.io/model-compatibility/#/ https://ollama.com/library#/ https://github.com/lm-sys/Fast

参考文献: