AI之 (大)模型推理服务部署管理 - 模型版本、模型启动

ollama vs vllm vs SGLang

Posted by 董江 on Wednesday, February 12, 2025

模型推理服务部署管理 - 模型版本、模型启动、openai接口标准提供

模型推理部署工具

模型部署,类似与docker可以方便的类似于docker run 实现模型/大模型快速部署

SGLang

地址:https://github.com/sgl-project/sglang

SGLang是大型语言模型和视觉语言模型的服务框架。它基于并增强了多个开源 LLM 服务引擎(包括 LightLLMvLLMGuidance)的许多优秀设计。它利用了来自 FlashInfer 的高性能注意力 CUDA 内核,并集成了受 gpt-fast 启发的 torch.compile

本地化部署推理方式:

$ docker run --gpus all \
    --shm-size 32g \
    -p 30000:30000 \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    --env "HF_TOKEN=<secret>" \
    --ipc=host \
    lmsysorg/sglang:latest \
    python3 -m sglang.launch_server --model-path meta-llama/Llama-3.1-8B-Instruct --host 0.0.0.0 --port 30000

vllm

地址:https://github.com/vllm-project/vllm

vLLM 是一个快速且易于使用的库,用于 LLM 推理和服务,和 HuggingFace 无缝集成。区别于 chatglm.cppllama.cpp,仅是在 GPU 上的模型推理加速,没有 CPU 上的加速。在吞吐量方面,vLLM 的性能比 HuggingFace Transformers (HF) 高出 24 倍,文本生成推理 (TGI) 高出 3.5 倍。

本地化部署推理方式:

$ python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.1-8B-Instruct \
    --tensor-parallel-size 1 \
    --max-num-batched-tokens 8192 \
    --max-num-seqs 4 \
    --port 8000

ollama

Ollama 是一款跨平台推理框架客户端(MacOS、Windows、Linux),专为无缝部署大型语言模型(LLM)(如 Llama 2、Mistral、Llava 等)而设计。通过一键式设置,Ollama 可以在本地运行 LLM,将所有交互数据保存在自己的机器上,从而提高数据的私密性和安全性。

$ ollama run meta-llama/Llama-3.1-8B-Instruct

本地模型部署比较

SGLang ollama vLLM
性能 优秀 优秀 一般
可用性 良好 良好 良好
可定制性 中等
源代码可用性 完全开源 部分开源 完全开源
编程语言 Python golang Python
  • ollama 开源了cli 和本地启动server, 模型注册和模型管理并没有开源;

「如果这篇文章对你有用,请随意打赏」

Kubeservice博客

如果这篇文章对你有用,请随意打赏

使用微信扫描二维码完成支付