当前位置: 首页 > news >正文

大模型部署ollama/vLLM/LMDeploy/SGLang区别

1. Ollama

1.1 简介

一个轻量级的模型托管框架,可在本地环境中运行和管理 LLM 模型。基于 Go 语言开发,集成了模型管理与交互界面,采用 MIT 许可。

Ollama 是基于 llama.cpp 开发的高层封装工具,它继承了 llama.cpp 的高效推理能力,同时大大简化了用户使用体验。它的安装过程堪称 "丝滑",无论你是 Windows、Linux 还是 MacOS 系统的用户,只需按照官网简洁明了的指引操作,短短几分钟,就能完成安装部署。跨平台的特性,让不同系统的用户都能毫无阻碍地拥抱大模型技术。

作为 llama.cpp 的上层应用,Ollama 不仅保留了底层引擎的高效性能,还在此基础上提供了更加友好的用户界面和更丰富的功能特性。它的模型库宛如一座宝藏,收纳了诸如 Llama、Qwen 等 1700 多款大语言模型,无论你是想探索前沿的学术研究,还是进行创意写作、日常问答,都能从中找到心仪之选。操作更是简单到极致,一条命令 "ollama run < 模型名称>",就能瞬间唤醒模型,开启智能交互之旅。不仅如此,Ollama 还极具 "个性",允许用户通过 Modelfile 自定义模型。你可以根据需求,灵活调整创造性参数或系统消息,让模型输出贴合特定场景。例如,在创作故事时,调高创造性参数,模型便能生成天马行空的情节;而在回答专业问题时,优化系统消息,使其给出精准严谨的答案。在日常使用中,对于个人开发者想要快速验证某个创意项目,或是学生党用于辅助学习、解答学科难题,Ollama 都能完美胜任,以其便捷性和灵活性,成为大家探索 AI 世界的得力伙伴。

网站: Ollama

# 1. 官网下载(支持全平台) https://ollama.com/  
# 2. 一行命令启动(以Qwen为例) ollama run qwen:0.5b  
# 3. 浏览器访问 http://localhost:11434

1.2 技术原理

1.3 优缺点

  • 仅支持4bit量化模型
  • 对话超过4096token会截断
  • 企业级应用慎用

1.4  适用场景

适用于个人开发者测试、教育场景以及轻量应用

1.5 调用指南

2. vLLM

2.1 简介

高效的大型语言模型推理和部署框架,由加州大学伯克利分校开发,采用 Apache 2.0 许可,以 Python/PyTorch 为基础,优化了显存管理与批处理。基于PagedAttention技术的高吞吐推理框架,在NVIDIA/AMD GPU集群上展现卓越性能,支持多节点张量并行。

 百万并发不是梦!GPU榨干指南

# 创建专用环境 conda create -n vllm python=3.12 -y && conda activate vllm  
# 安装最新版(CUDA12.1+) pip install vllm  
# 启动API服务(8卡A100示例) vllm serve --model Qwen2.5-72B --tensor-parallel-size 8

2.2 技术原理

官网文档:

https://docs.vllm.ai/en/latest/ 

中文文档(非官方):

https://vllm.hyper.ai/docs/getting-started/installation

cuda要求

vLLM contains pre-compiled C++ and CUDA (12.1) binaries.
架构与核心原理: vLLM 通过创新的 PagedAttention 技术,将每个序列的 KV 缓存分割成多个不连续的内存块(pages),从而避免了内存碎片化和冗余分配,极大地提升了内存使用效率,尤其是在处理长序列和多并发请求时。此外,vLLM 还采用了 Continuous Batching 技术,通过动态地将多个请求合并到一个批次中进行处理,显著提高了 GPU 的利用率和吞吐量。

2.3 优缺点

能调优秘籍

  • 开启PagedAttention提升吞吐量
  • 使用Continuous batching处理突发流量
  • 官方中文文档:https://vllm.hyper.ai
  • 特点与优势: 高吞吐量、低延迟、优秀的长序列支持(与第六章讨论的长文本推理挑战相关)、支持多种量化方法(例如 FP8,与第五章讨论的模型优化相关)、与 OpenAI API 兼容、与 Hugging Face Transformers 生态系统深度集成。

2.4  适用场景

适用于需要处理大批量 Prompt 输入且对推理速度要求高的场景,高并发在线服务,如智能客服、批量生成,大规模文档处理等场景,以及单节点多 GPU 推理或中小规模云原生部署,对社区模型(如 LLaMA 系列)兼容性更优。

2.5 调用指南

(1)创建Python环境安装vLLM 


#Create a new conda environment.
conda create -n vllm python=3.12 -yconda activate vllm#  Install vLLM with CUDA 12.4. # If you are using pip. pip install vllm 

(2)运行本地大模型

1、下载NLP大模型。

推荐大模型 qwen,llama,glm 。我们拿qwen2.5-0.5b来做测试。使用python语言调用模塔社区的大模型。

大模型网址

ModelScope 魔搭社区

# pip install modelscope#模型下载到本地。from modelscope import snapshot_downloadmodel_dir = snapshot_download('Qwen/Qwen2.5-0.5B-Instruct',cache_dir="/root/autodl-tmp/llm")

cache_dir一定要指定绝对路径。

2、vLLM运行大模型

sh命令:

vllm serve /root/autodl-tmp/llm/Qwen/Qwen2.5-0.5B-Instruct


测试:

from openai import OpenAIclient = OpenAI(    base_url="http://localhost:8000/v1",    api_key="token-abc123",)completion = client.chat.completions.create(  model="/root/autodl-tmp/llm/Qwen/Qwen2.5-0.5B-Instruct",  messages=[    {"role": "user", "content": "请使用java编写冒泡排序!"}  ])print(completion.choices[0].message)


其中vLLM的端口号是8000,model的值为模型的绝对路径。

3. LMDeploy(国产)

3.1 简介

由商汤科技团队维护的国产部署方案,提供从模型量化到服务编排的全流程工具链,支持与昇腾/海光等国产芯片深度适配

github地址:

https://github.com/InternLM/lmdeploy

官方文档:

https://lmdeploy.readthedocs.io/zh-cn/latest/

4bit量化实测:推理速度提升240%!

 GitHub - InternLM/lmdeploy: LMDeploy is a toolkit for compressing, deploying, and serving LLMs.

# 环境配置(推荐Python3.8) pip install lmdeploy[all] 
# 一键启动量化服务 lmdeploy serve api_server ./qwen2.5-72b \     --quant-policy 4 \     --cache-max-entry-count 0.5
  • 架构特点: LMDeploy 以极致的 GPU 性能为目标,通过深度优化底层算子和调度策略,实现了超低的推理延迟和极高的吞吐量。它还深度应用了 FlashAttention 等技术来进一步提升性能。

3.3 优缺点

核心优势: 完美契合企业级实时应用的需求,对国产 GPU 进行了深度适配,具备优秀的多模态处理能力。

  • 支持对话状态持久化(告别重复计算)
  • 多机多卡自动负载均衡
  • 通过OpenCompass可靠性认证

3.4  适用场景

 适合国内企业和政府机构在特定国产硬件环境下部署,以及对实时性要求极高的应用场景。

3.5 调用指南

安装LMDeploy

conda create -n lmdeploy python=3.8 -yconda activate lmdeploypip install lmdeploy

运行本地大模型

sh命令:

pip install partial_json_parser
lmdeploy serve api_server /root/autodl-tmp/llm/Qwen/Qwen2.5-0.5B-Instruct --server-port 23333

–server-port 23333 指明端口号是23333 ,大模型路径要是绝对路径。api_server 启动时的参数可以通过命令行lmdeploy serve api_server -h查看。 比如,–tp 设置张量并行,–session-len 设置推理的最大上下文窗口长度,–cache-max-entry-count 调整 k/v cache 的内存使用比例等等。

4. SGLang

4.1 简介

SGLang 是伯克利团队开源的大模型推理引擎,最新发布的 v0.4 版本带来了多项重大性能提升。其核心技术亮点包括:

  1. 零开销批处理调度器:通过将 CPU 调度与 GPU 计算重叠,实现了 1.1 倍的吞吐量提升。

  2. 缓存感知负载均衡器:引入智能路由机制,可实现高达 1.9 倍的吞吐量提升,并将缓存命中率提高 3.8 倍。

  3. DeepSeek 模型的数据并行注意力机制:针对特定模型优化,可实现高达 1.9 倍的解码吞吐量提升。

  4. 基于 xgrammar 的快速结构化输出:在 JSON 解码任务中比其他开源方案快达 10 倍。

这些优化使得 SGLang 在处理大规模并发请求时表现出色,特别适合需要高性能推理的企业级应用场景。例如,在处理共享前缀的批量请求时,新版本可以达到 158,596 token/s 的吞吐量,缓存命中率高达 75%。

SGLang 项目主页: https://github.com/sgl-project/sglang

零开销批处理提升1.1倍吞吐量,缓存感知负载均衡提升1.9倍,结构化输出提速10倍

4.5 调用指南

安装 SGLang
pip install "sglang[all]>=0.4.1.post5" --find-links
https://flashinfer.ai/whl/cu124/torch2.4/flashinfer

调用 DeepSeek v3
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V3 --tp 8 --trust-remote-code

此时服务将在 30000 端口启动。接下来即可使用 OpenAI 风格 API 来调用 DeepSeek v3 模型了:
import openai
client = openai.Client(
base_url="http://127.0.0.1:30000/v1", api_key="EMPTY")
# Chat completion
response = client.chat.completions.create(
model="default",
messages=[
{"role": "system", "content": "You are a helpful AI assistant"},
{"role": "user", "content": "List 3 countries and their capitals."},
],
temperature=0,
max_tokens=64,
)
print(response)

5. 对别

将这几款工具放在一起 "掰手腕",从性能、易用性、适用场景等多个维度来一场全方位的较量,帮你找到最称手的那个 "兵器"。

工具名称性能表现易用性适用场景硬件需求模型支持部署方式系统支持
SGLang v0.4零开销批处理提升1.1倍吞吐量,缓存感知负载均衡提升1.9倍,结构化输出提速10倍需一定技术基础,但提供完整API和示例企业级推理服务、高并发场景、需要结构化输出的应用推荐A100/H100,支持多GPU部署全面支持主流大模型,特别优化DeepSeek等模型Docker、Python包Linux
Ollama继承 llama.cpp 的高效推理能力,提供便捷的模型管理和运行机制小白友好,提供图形界面安装程序一键运行和命令行,支持 REST API个人开发者创意验证、学生辅助学习、日常问答、创意写作等个人轻量级应用场景与 llama.cpp 相同,但提供更简便的资源管理模型库丰富,涵盖 1700 多款,支持一键下载安装独立应用程序、Docker、REST APIWindows、macOS、Linux
VLLM借助 PagedAttention 和 Continuous Batching 技术,多 GPU 环境下性能优异需要一定技术基础,配置相对复杂大规模在线推理服务、高并发场景要求 NVIDIA GPU,推荐 A100/H100支持主流 Hugging Face 模型Python包、OpenAI兼容API、Docker仅支持 Linux
LLaMA.cpp多级量化支持,跨平台优化,高效推理命令行界面直观,提供多语言绑定边缘设备部署、移动端应用、本地服务CPU/GPU 均可,针对各类硬件优化GGUF格式模型,广泛兼容性命令行工具、API服务器、多语言绑定全平台支持

综合来看,如果您是专业的科研团队,拥有强大的计算资源,追求极致的推理速度,那么 SGLang 无疑是首选,它能像一台超级引擎,助力前沿科研探索;要是您是普通的个人开发者、学生,或是刚踏入 AI 领域的新手,渴望在本地轻松玩转大模型,Ollama 就如同贴心伙伴,随时响应您的创意需求;对于需要搭建大规模在线服务,面对海量用户请求的开发者而言,VLLM 则是坚实后盾,以高效推理确保服务的流畅稳定;而要是您手头硬件有限,只是想在小型设备上浅尝大模型的魅力,或者快速验证一些简单想法,LLaMA.cpp 就是那把开启便捷之门的钥匙,让 AI 触手可及。

相关文章:

  • 不使用Long.parseLong()将String转成long类型,不使用String.valueOf()将Long转成String类型
  • 解锁C++编辑距离:文本相似度的度量密码
  • [ Qt ] | 常见控件(一)
  • vim快速移动光标
  • 遥感解译项目Land-Cover-Semantic-Segmentation-PyTorch之二训练模型
  • 预处理越复杂越好?评估脑电预处理在深度学习应用中的作用
  • Go 语言接口入门指南
  • Flutter 3.32 升级要点全解析
  • go 基础语法 【教程 go tour】
  • 怎么判断一个Android APP使用了Cocos 这个跨端框架
  • 【Golang】部分语法格式和规则
  • Go语言爬虫系列教程(三)HTML解析技术
  • 26考研|高等代数:λ-矩阵
  • C++之fmt库介绍和使用(3)
  • hbuilder中h5转为小程序提交发布审核
  • PHP7内核剖析 学习笔记 第八章 命名空间
  • 一些好用的Chrome 扩展程序
  • 【AI测试革命】第七期:AI性能测试的深度实践——从智能建模到自动化调优的全链路升级
  • 怎么判断一个Android APP使用了Tauri 这个跨端框架
  • uni-app(4):js语法、css语法
  • 网络培训的建议/seo自然排名优化
  • 抖音引流推广软件/seo黑帽技术
  • 怎么让百度收录你的网站/河南网站推广优化排名
  • 怎样做当当网站代理/seo是什么岗位
  • 不同类型的购物网站/哈尔滨百度网站快速优化
  • 网站建设带后台/什么是搜索引擎竞价推广