返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

大模型部署该选谁?Ollama、vLLM 和 LMDeploy,各有千秋!

[复制链接]
链载Ai 显示全部楼层 发表于 3 小时前 |阅读模式 打印 上一主题 下一主题

一、Ollama、vLLM 和 LMDeploy介绍

Ollama、vLLM 和 LMDeploy 都是与大语言模型相关的工具或框架,以下是它们的具体介绍:

Ollama

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


  • 适用场景:适用于个人开发者测试、教育场景以及轻量应用,比如在 MacBook Pro(M3 芯片)等移动设备上调试,快速构建原型应用,或者在树莓派 5 + 外置 GPU 扩展坞等低功耗场景下使用。


vLLM

  • 简介4:高效的大型语言模型推理和部署框架,由加州大学伯克利分校开发,采用 Apache 2.0 许可,以 Python/PyTorch 为基础,优化了显存管理与批处理。


  • 适用场景:适用于高并发在线服务,如智能客服、批量生成等场景,以及单节点多 GPU 推理或中小规模云原生部署,对社区模型(如 LLaMA 系列)兼容性更优。


LMDeploy

LMDeploy 是一个高效且友好的 LLMs 模型部署工具箱,功能涵盖了量化、推理和服务。上海一家企业开发。LMDeploy 工具箱提供以下核心功能:

  • 高效的推理: LMDeploy 开发了 Persistent Batch(即 Continuous Batch),Blocked K/V Cache,动态拆分和融合,张量并行,高效的计算 kernel等重要特性。推理性能是 vLLM 的 1.8 倍

  • 可靠的量化: LMDeploy 支持权重量化和 k/v 量化。4bit 模型推理效率是 FP16 下的 2.4 倍。量化模型的可靠性已通过 OpenCompass 评测得到充分验证。

  • 便捷的服务: 通过请求分发服务,LMDeploy 支持多模型在多机、多卡上的推理服务。

  • 有状态推理: 通过缓存多轮对话过程中 attention 的 k/v,记住对话历史,从而避免重复处理历史会话。显著提升长文本多轮对话场景中的效率。

  • 卓越的兼容性: LMDeploy 支持 KV Cache 量化, AWQ 和 Automatic Prefix Caching 同时使用。


二、Ollama部署大模型

ollama一般是在个人电脑、服务器显存等配置较低的环境中,部署量化后的大模型。部署简单,但大模型都是量化后的(阉割版),其效果不怎么好。所以,一般来说,企业中不会采用Ollama部署大模型。

下载和安装

下载地址:https://ollama.com/

服务器环境:支持windows,Linux,MacOS 。Linux服务器首推 Ubuntu 。

windows环境的部署方法请看文章《DeepSeek本地安装太简单了,人人都会操作》


三、vLLM部署大模型

vLLM和LMDeploy是企业级部署大模型最常用的。 社区都很活跃。vLLM对服务器显存版本有很高的要求。

官网文档:

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.

软件环境要求

  • OS: Linux

  • Python: 3.9 – 3.12

  • GPU: compute capability 7.0 or higher (e.g., V100, T4, RTX20xx, A100, L4, H100, etc.)


创建Python环境

#Createanewcondaenvironment.condacreate-nvllmpython=3.12-ycondaactivatevllm

安装vLLM

#InstallvLLMwithCUDA12.4.pipinstallvllm#Ifyouareusingpip.

运行本地大模型

1、下载NLP大模型。

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

大模型网址:

https://modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct/

#pipinstallmodelscope#模型下载到本地。frommodelscopeimportsnapshot_downloadmodel_dir=snapshot_download('Qwen/Qwen2.5-0.5B-Instruct',cache_dir="/root/autodl-tmp/llm")

cache_dir一定要指定绝对路径。

2、vLLM运行大模型

sh命令:

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

测试:

fromopenaiimportOpenAIclient=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的值为模型的绝对路径。


四、LMDeploy部署大模型

LMDeploy是后起之秀,个人非常推荐这款软件。功能全面强大,符合国人使用习惯。对硬件的要求比vLLM低。

github地址:

https://github.com/InternLM/lmdeploy

官方文档:

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

安装LMDeploy

condacreate-nlmdeploypython=3.8-ycondaactivatelmdeploypipinstalllmdeploy

运行本地大模型

sh命令:

pipinstallpartial_json_parser
lmdeployserveapi_server/root/autodl-tmp/llm/Qwen/Qwen2.5-0.5B-Instruct--server-port23333

--server-port 23333 指明端口号是23333 ,大模型路径要是绝对路径。

api_server 启动时的参数可以通过命令行lmdeploy serve api_server -h查看。 比如,--tp 设置张量并行,--session-len 设置推理的最大上下文窗口长度,--cache-max-entry-count 调整 k/v cache 的内存使用比例等等。


五、使用远程算力服务器

一般来说,我们都会使用算力云服务器进行部署大模型,以及训练、微调大模型。而本地的开发工具一般推荐使用VSCode 。VSCode有一个特强好用的端口转发功能,方便将服务器上的端口映射到本地。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ