vLLM 与 Ollama 之间有何区别?
在将大语言模型(LLM)集成至 AI 应用时,vLLM 适用于高性能生产环境,而 Ollama 则更适合本地开发场景。两者分别覆盖了 LLM 部署需求的两端:vLLM 是企业级大规模场景的理想选择,Ollama 则更适合小规模项目。
可以用一个形象的比喻来理解 vLLM 与 Ollama 之间的区别:Ollama 就像一辆跑车,启动快、运行迅速,但无法同时搭载太多用户;vLLM 就像一列高速列车,不仅速度快,还能同时服务大量用户。
归根结底,选择 vLLM 还是 Ollama 取决于开发人员自身的技术背景,以及项目的规模与范围。对于在本地进行实验的开发人员而言,Ollama 是一个理想起点。而对于正迈向大规模生产的团队来说,vLLM 提供了可靠高效地大规模运行 LLM 所需的基础能力。
什么是 vLLM?
vLLM 是一个开源代码库,旨在帮助 LLM 以更高效、更快速的方式在大规模场景下完成计算。vLLM 的总体目标是最大限度地提高吞吐量(每秒处理的词元数),以便同时为大量用户提供服务。
vLLM 包含两个核心组件:推理服务器(用于管理网络流量)和推理引擎(用于提升计算速度):
- 推理服务器组件负责管理等待服务的用户队列并处理外部网络流量。它的主要职责不是执行密集型计算,而是专注于通信协议,确保数据能够高效地进出系统。
- 推理引擎组件通过优化图形处理单元(GPU)的使用率来提升生成速度。它利用 PagedAttention 等算法来高效管理键值(KV)缓存,并通过连续批处理优化请求调度,从而显著提高计算效率。
推理服务器和推理引擎共同承担着实现低延迟的责任,所谓低延迟,是指从用户点击“发送”到输出结果返回之间的时间尽可能短。推理服务器的设计目标是避免引入不必要的延迟。它通过快速接收请求、将其传递给引擎,并尽快通过网络返回响应来实现这一点。推理引擎则负责主动降低延迟,通过优化 GPU 计算的组织方式来提升处理速度。借助这种加速机制,vLLM 能够在单个实例中同时为数百名用户提供服务。
在 LLM 应用所需硬件成本居高不下的市场环境中,vLLM 能够帮助企业组织用更少资源做更多事情。它具备高流量处理能力,专为大规模场景设计,因此非常适合对延迟敏感、多用户并发的部署需求。总体而言,在同时处理大量请求的场景下,vLLM 的表现优于 Ollama。
实施 AI 技术的 4 个关键注意事项
什么是 Ollama?
Ollama 是一款开源工具,可让用户在本地私下运行 LLM。这意味着您可以直接在笔记本电脑上下载、更新和管理 LLM,无需向云端发送任何隐私信息。
Ollama 源自 llama.cpp 项目,这是一个可在多种 LLM 上执行推理的开源库。Ollama 自动处理了编译、配置和管理底层组件等较为复杂的步骤,从而向最终用户屏蔽了这些实现细节。
Ollama 设计简洁,几乎无需复杂配置,上手直观,非常适合初学者使用。对于经验更丰富的开发人员,它则更适合用于不同 LLM 的实验和快速原型开发。
vLLM 与 Ollama 有哪些共同特性?
vLLM 和 Ollama 均为 LLM 部署框架,为开发人员提供可用于构建 AI 应用的模型访问能力。具体而言,LLM 部署框架是在规模更大的应用架构中负责执行推理的软件组件。
尽管 vLLM 和 Ollama 面向不同类型的用户,但它们有着多项共同的基本特性:
- 两者均为开源工具。
- 两者均包含推理服务器组件。
- 两者均允许用户在自有硬件上运行 LLM,而无需依赖第三方 API。
- 两者均致力于充分利用用户的可用硬件以提升推理速度。
- 两者均支持多模态模型,可处理文本之外的更多数据类型。
- 两者均支持检索增强生成(RAG),这一技术可让开发人员利用自定义外部知识/数据来补充 LLM 中的既有信息。
何时选择 vLLM
vLLM 提供的高级能力需要开发人员具备较深的技术理解,因此它更适合经验丰富的开发人员,学习曲线也比 Ollama 更陡峭。
例如,vLLM 能够处理任意规模的模型,包括拥有数十亿参数的大模型。要充分利用该技术的优势,开发人员需要理解并掌握分布式推理等概念。
vLLM 还具备针对特定用例进行微调的潜力。为获得最佳性能,开发人员应熟悉参数高效微调(PEFT)及 LoRA/QLoRA 等方法。
总之,vLLM 适用于需要充分“榨取”服务器性能潜力并部署可靠、可扩展应用的开发人员。还记得我们的高速列车比喻吗?vLLM 擅长在极短时间内同时服务大量用户。
何时选择 Ollama
Ollama 允许用户在个人电脑上下载并运行 LLM,提供了一种简单直观的方法来测试 AI 模型。然而,Ollama 的设计更侧重于简化本地使用体验,而不是支持大规模扩展。当用户发起更多请求时,这些请求必须在队列中等待。因此,开发人员通常在追求便利性且不需要服务大量用户时选择 Ollama。
Ollama 默认以离线模式运行。这意味着下载模型之后,它即可在无互联网连接的情况下正常工作。虽然 vLLM 也能提供极高的隐私保护,但它需要搭建私有服务器或配置安全的云环境,这一额外步骤对技术能力提出了更高要求。
使用 vLLM 与Ollama 进行推理
vLLM 和 Ollama 均包含推理服务器组件。这意味着两者都会接收请求、解析数据、将其发送到引擎,并将生成的响应打包返回给最终用户的应用端。
然而,vLLM 是一个推理引擎,而 Ollama 不是。因此 vLLM 能够以 Ollama 无法做到的方式优化推理过程。作为推理引擎,vLLM 在内存管理和多用户并发处理方面表现更出色:
内存管理:vLLM 使用 PagedAttention 算法来管理 GPU 内存结构,能够有效释放 GPU 空间,从而支持同时运行更多请求,实现高并发。
并发处理:vLLM 通过连续批处理来管理数据流并充分利用 GPU,因此能够同时处理大量用户请求。
红帽能如何提供帮助
红帽® 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