vLLM 与Ollama:不同场景下如何选择

复制 URL

在将大语言模型(LLM)集成至 AI 应用时,vLLM 适用于高性能生产环境,而 Ollama 则更适合本地开发场景。两者分别覆盖了 LLM 部署需求的两端:vLLM 是企业级大规模场景的理想选择,Ollama 则更适合小规模项目。 

可以用一个形象的比喻来理解 vLLM 与 Ollama 之间的区别:Ollama 就像一辆跑车,启动快、运行迅速,但无法同时搭载太多用户;vLLM 就像一列高速列车,不仅速度快,还能同时服务大量用户。 

归根结底,选择 vLLM 还是 Ollama 取决于开发人员自身的技术背景,以及项目的规模与范围。对于在本地进行实验的开发人员而言,Ollama 是一个理想起点。而对于正迈向大规模生产的团队来说,vLLM 提供了可靠高效地大规模运行 LLM 所需的基础能力。

Ollama 还是 vLLM?如何选择合适的模型部署工具

vLLM 是一个开源代码库,旨在帮助 LLM 以更高效、更快速的方式在大规模场景下完成计算。vLLM 的总体目标是最大限度地提高吞吐量(每秒处理的词元数),以便同时为大量用户提供服务。 

vLLM 包含两个核心组件:推理服务器(用于管理网络流量)和推理引擎(用于提升计算速度): 

  • 推理服务器组件负责管理等待服务的用户队列并处理外部网络流量。它的主要职责不是执行密集型计算,而是专注于通信协议,确保数据能够高效地进出系统。
  • 推理引擎组件通过优化图形处理单元(GPU)的使用率来提升生成速度。它利用 PagedAttention 等算法来高效管理键值(KV)缓存,并通过连续批处理优化请求调度,从而显著提高计算效率。

推理服务器和推理引擎共同承担着实现低延迟的责任,所谓低延迟,是指从用户点击“发送”到输出结果返回之间的时间尽可能短。推理服务器的设计目标是避免引入不必要的延迟。它通过快速接收请求、将其传递给引擎,并尽快通过网络返回响应来实现这一点。推理引擎则负责主动降低延迟,通过优化 GPU 计算的组织方式来提升处理速度。借助这种加速机制,vLLM 能够在单个实例中同时为数百名用户提供服务。 

在 LLM 应用所需硬件成本居高不下的市场环境中,vLLM 能够帮助企业组织用更少资源做更多事情。它具备高流量处理能力,专为大规模场景设计,因此非常适合对延迟敏感、多用户并发的部署需求。总体而言,在同时处理大量请求的场景下,vLLM 的表现优于 Ollama。 

阅读有关 vLLM 的更多信息

实施 AI 技术的 4 个关键注意事项

Ollama 是一款开源工具,可让用户在本地私下运行 LLM。这意味着您可以直接在笔记本电脑上下载、更新和管理 LLM,无需向云端发送任何隐私信息。 

Ollama 源自 llama.cpp 项目,这是一个可在多种 LLM 上执行推理的开源库。Ollama 自动处理了编译、配置和管理底层组件等较为复杂的步骤,从而向最终用户屏蔽了这些实现细节。 

Ollama 设计简洁,几乎无需复杂配置,上手直观,非常适合初学者使用。对于经验更丰富的开发人员,它则更适合用于不同 LLM 的实验和快速原型开发。

vLLM 和 Ollama 均为 LLM 部署框架,为开发人员提供可用于构建 AI 应用的模型访问能力。具体而言,LLM 部署框架是在规模更大的应用架构中负责执行推理的软件组件。 

尽管 vLLM 和 Ollama 面向不同类型的用户,但它们有着多项共同的基本特性:

  • 两者均为开源工具。
  • 两者均包含推理服务器组件。
  • 两者均允许用户在自有硬件上运行 LLM,而无需依赖第三方 API。
  • 两者均致力于充分利用用户的可用硬件以提升推理速度。
  • 两者均支持多模态模型,可处理文本之外的更多数据类型。
  • 两者均支持检索增强生成(RAG),这一技术可让开发人员利用自定义外部知识/数据来补充 LLM 中的既有信息。 

vLLM 提供的高级能力需要开发人员具备较深的技术理解,因此它更适合经验丰富的开发人员,学习曲线也比 Ollama 更陡峭。 

例如,vLLM 能够处理任意规模的模型,包括拥有数十亿参数的大模型。要充分利用该技术的优势,开发人员需要理解并掌握分布式推理等概念。 

vLLM 还具备针对特定用例进行微调的潜力。为获得最佳性能,开发人员应熟悉参数高效微调(PEFT)LoRA/QLoRA 等方法。

总之,vLLM 适用于需要充分“榨取”服务器性能潜力并部署可靠、可扩展应用的开发人员。还记得我们的高速列车比喻吗?vLLM 擅长在极短时间内同时服务大量用户。 

Ollama 允许用户在个人电脑上下载并运行 LLM,提供了一种简单直观的方法来测试 AI 模型。然而,Ollama 的设计更侧重于简化本地使用体验,而不是支持大规模扩展。当用户发起更多请求时,这些请求必须在队列中等待。因此,开发人员通常在追求便利性且不需要服务大量用户时选择 Ollama。 

Ollama 默认以离线模式运行。这意味着下载模型之后,它即可在无互联网连接的情况下正常工作。虽然 vLLM 也能提供极高的隐私保护,但它需要搭建私有服务器或配置安全的云环境,这一额外步骤对技术能力提出了更高要求。 

vLLM 和 Ollama 均包含推理服务器组件。这意味着两者都会接收请求、解析数据、将其发送到引擎,并将生成的响应打包返回给最终用户的应用端。 

然而,vLLM 是一个推理引擎,而 Ollama 不是。因此 vLLM 能够以 Ollama 无法做到的方式优化推理过程。作为推理引擎,vLLM 在内存管理和多用户并发处理方面表现更出色:

内存管理:vLLM 使用 PagedAttention 算法来管理 GPU 内存结构,能够有效释放 GPU 空间,从而支持同时运行更多请求,实现高并发。 

并发处理:vLLM 通过连续批处理来管理数据流并充分利用 GPU,因此能够同时处理大量用户请求。 

Ollama 与 vLLM 性能对比

红帽® AI 巧借开源创新的力量来应对企业级 AI 大规模落地的挑战,而 vLLM 正是我们工具箱中的关键组件。

借助红帽 AI,您可以使用红帽 AI 推理服务器,在混合云环境中优化模型推理,从而实现更快、更经济高效的部署。该推理服务器由 vLLM 提供技术支持,能让 GPU 高效运行并实现更快的响应速度。

红帽 AI 推理服务器还包含红帽 AI 存储库,这是一个经过第三方验证和优化的模型集合,既能保证模型选择的灵活性,又能促进跨团队的一致性。通过接入第三方模型存储库,企业能够显著缩短推向市场所需的时间,并降低 AI 成功落地的成本门槛。  

博客

Artificial Intelligence (AI)

See how our platforms free customers to run AI workloads and models anywhere

携手红帽探索 AI 之旅:为您的 AI 之旅提供专业知识、培训和支持服务

探索红帽独特的 AI 产品组合。红帽 AI 可以通过人工智能(AI)帮助您实现业务和 IT 目标。

扩展阅读

What is Mixture of Experts (MoE)?

混合专家模型(MoE)是一种模型架构技术,通过将任务路由至模型中最适配的模块,来提升 AI 推理速度。

What is AgentOps?

AgentOps(代理运维)是一套工具框架,用于实时监控 AI 在制定决策时的“大脑”运行情况。

What is sovereign AI?

主权 AI 意味着拥有 AI 技术,将数据保留在本地,并确保您的系统能够体现您的独特价值观和法律要求。

AI/ML 相关资源

特色产品

  • 红帽 AI

    灵活的解决方案,可加快 AI 解决方案在混合云环境中的开发和部署。