AI在线 AI在线

LLM 推理引擎之争:Ollama or vLLM ?

作者:Luga Lee
2025-04-24 10:26
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的模型推理框架。 在人工智能领域,模型的推理能力是衡量其性能的核心指标之一,直接影响其在复杂任务中的表现。 随着自然语言处理(NLP)和大规模语言模型(LLM)技术的迅猛发展,众多创新模型不断涌现,为开发者提供了多样化的选择。

 Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的模型推理框架。

在人工智能领域,模型的推理能力是衡量其性能的核心指标之一,直接影响其在复杂任务中的表现。随着自然语言处理(NLP)和大规模语言模型(LLM)技术的迅猛发展,众多创新模型不断涌现,为开发者提供了多样化的选择。其中,Ollama 和 vLLM 作为近年来备受瞩目的推理框架,因其独特的技术架构和广泛的应用场景,吸引了大量开发者和研究人员的关注。

然而,面对推理任务的多样化需求,Ollama 和 vLLM 各有优劣,其适用场景和性能表现也存在显著差异。究竟哪款模型更适合特定的推理任务?这一问题成为业界讨论的焦点。本文将从模型架构、计算效率、推理准确性以及应用场景等多维度出发,对 Ollama 和 vLLM 的推理能力进行深入对比分析,旨在为开发者和研究人员提供科学、实用的选择依据。 

LLM 推理引擎之争:Ollama or vLLM ?

一、什么是 Ollama 以及如何认识 ?

      Ollama 作为一款专注于用户体验和本地化部署的开源平台,旨在简化大语言模型(LLMs)的部署与管理流程,为开发者、研究人员和企业用户提供高效、安全的推理支持。

复制
import subprocess
def run_ollama(model_name, prompt):
    """
    Run a prompt against a local Ollama model.
    """
    result = subprocess.run(
        ["ollama", "run", model_name],
        input=prompt.encode(),
        stdout=subprocess.PIPE,
        text=True
    )
    return result.stdout
# Example usage
response = run_ollama("gpt-neo", "What are the benefits of local AI inference?")
print(response)

从本质来讲,Ollama 的设计理念是将 LLMs 的强大功能带入本地环境,使用户能够在个人电脑或私有网络中运行模型,从而实现更高的数据控制和隐私保护。

同时,此平台尤其强调对量化模型的支持,这对于显著降低内存占用并提升模型运行性能至关重要。Ollama 提供了一个不断增长的预训练模型库,涵盖了从通用的多功能模型到针对特定细分任务的专用模型。值得关注的可用模型包括 Llama 3.1、Qwen、Mistral,以及像 deepseek-coder-v2 这样的专业变体。

此外,Ollama 的用户友好型安装过程和直观的模型管理得益于其统一的 Modelfile 格式。其广泛的跨平台支持,包括 Windows、macOS 和 Linux,进一步增强了其易用性。通过提供具有 OpenAI 兼容接口的本地模型服务,Ollama 对于那些既追求本地部署的灵活性,又希望轻松集成标准 API 的开发者而言,无疑是一个稳健且极具吸引力的选择。

1. 核心功能

Ollama 的核心目标是通过优化 LLMs 的部署流程,使用户能够在“本地设备”上高效运行模型,无需依赖云端服务或复杂的基础设施。这种本地化部署方式不仅提升了数据隐私保护,还为用户提供了更高的控制力和灵活性。

(1) 本地化部署的桥梁作用

Ollama 作为 LLMs 部署的桥梁,简化了传统上需要高性能计算集群和复杂配置的部署流程。用户可以在普通个人电脑或单 GPU 设备上运行模型,降低了硬件门槛。

  • 隐私与安全:通过本地运行,Ollama 确保敏感数据不离开用户设备,满足医疗、金融和法律等领域的隐私需求。例如,一家医疗机构可以使用 Ollama 运行 LLaMA 模型分析患者记录,而无需将数据上传到云端。
  • 可定制化体验:Ollama 允许用户根据需求调整模型参数,例如设置生成温度(Temperature)或最大输出长度(Max Length),以满足特定任务的要求。

(2) OpenAI 兼容 API 的无缝集成

Ollama 提供了与 OpenAI API 兼容的接口,使用户能够将现有工具和工作流程无缝迁移到本地环境。这种兼容性显著降低了开发者的学习成本。

通常而言,用户可以通过 REST API 调用 Ollama 模型,与 Python、JavaScript 或其他编程语言集成。例如,开发者可以使用 Python 的 requests 库发送 API 请求,获取模型生成的文本。

2. 技术亮点

Ollama 在性能优化和资源管理方面展现了卓越表现,凭借对量化模型的支持和高效的推理流程,提供了轻量级的运行体验,尤其适用于资源有限的环境。

(1) 量化模型支持

Ollama 重点支持量化模型,采用 4-bit 和 8-bit 量化技术(如 Int8 和 Int4),显著减少了模型的内存占用,同时提升了推理性能。

  • 量化优势:以 LLaMA-13B 模型为例,未量化时需约 26GB 显存,而使用 Int8 量化后,显存需求大幅减少至 7GB,极大降低了对硬件的需求。
  • 性能提升:量化不仅减少了显存占用,还有效加速了推理速度。例如,在 NVIDIA RTX 3060(12GB 显存)上运行量化后的 LLaMA-13B 模型时,推理速度可达到 10 tokens/s,显著提升了处理效率。
  • 应用场景:得益于量化支持,Ollama 在资源受限的环境中表现出色,尤其适合在普通笔记本电脑上运行,如教育实验、个人开发或轻量级应用场景。

(2) 内存管理与推理效率

Ollama 采用了 内存映射(Memory Mapping)技术,优化了模型加载速度,使得启动时间通常在 30 秒以内,极大提升了用户体验。

  • 单线程推理:Ollama 设计采用单线程推理架构,简化了系统结构,避免了多线程带来的复杂性和资源竞争。这使得 Ollama 更加适合低并发的场景,能够高效地完成推理任务。
  • 跨平台支持:Ollama 兼容 Windows、macOS 和 Linux 系统,确保用户在不同操作系统中都能享受一致的性能体验。例如,在 macOS 上,用户可以利用 M1/M2 芯片的神经引擎加速推理,进一步提升处理速度和效率。

二、什么是 vLLM 以及如何认识 ?

vLLM 是一款开源推理框架,专注于大语言模型的高效推理与服务,旨在为开发者提供高性能、可扩展的 LLMs 部署解决方案。

vLLM 由加州大学伯克利分校的 Sky Computing Lab 开发,其技术灵感来源于研究论文《Efficient Memory Management for Large Language Model Serving with PagedAttention》。通过引入创新的 PagedAttention 内存管理技术,vLLM 实现了对计算资源的高效利用,能够在处理大规模模型和高并发请求时保持卓越的性能表现。

复制
import requests
def query_vllm(api_url, model_name, prompt):
    """
    Send a prompt to a vLLM API endpoint.
    """
    payload = {
        "model": model_name,
        "prompt": prompt,
        "max_tokens": 100
    }
    response = requests.post(f"{api_url}/generate", json=payload)
    return response.json()
# Example usage
api_url = "http://localhost:8000"
result = query_vllm(api_url, "gpt-j", "Explain the concept of throughput in AI.")
print(result)

从某种意义上而言,作为一款高性能推理引擎,vLLM 专注于分布式部署和大规模推理任务,适合需要处理高并发请求的场景。

与传统框架的对比:相较于 Hugging Face Transformers 等传统推理框架,vLLM 在吞吐量和资源利用率上具有显著优势,推理速度可提升 2-4 倍。

vLLM 的技术核心在于其创新的内存管理和推理优化技术,通过 PagedAttention 和分布式计算框架,实现了高效的资源利用和卓越的推理性能。

1. PagedAttention 技术:内存管理的突破:

  • 技术原理:PagedAttention 将键值缓存(KV Cache)分块存储,类似于操作系统中的分页内存管理(Paging)。这种方法通过动态分配显存,减少内存碎片,显著降低显存占用。
  • 性能提升:传统推理框架中,KV Cache 占用大量显存,尤其在长序列推理时问题更为严重。PagedAttention 将显存占用量降低 50%-70%,使 vLLM 能够在相同硬件条件下处理更大的模型或更长的上下文。
  • 应用效果:以 LLaMA-13B 模型为例,传统框架在 FP16 格式下需要约 26GB 显存,而 vLLM 通过 PagedAttention 优化后仅需 10GB 显存即可运行。

2. 分布式推理与高吞吐量:

  • 分布式计算框架:vLLM 基于 PyTorch 和 Ray 构建,支持多 GPU 分布式推理,通过并行计算提升吞吐量。
  • 连续批处理(Continuous Batching):vLLM 采用连续批处理技术,动态调整批次大小(Batch Size),最大化 GPU 利用率。例如,在 4 块 NVIDIA A100 GPU 上运行 LLaMA-13B 模型,vLLM 的吞吐量可达 5000 token/s。
  • 高并发支持:vLLM 能够处理数百个并发请求,推理速度保持稳定,适合高负载生产环境。

3. 资源利用率优化:

  • FP16 推理:vLLM 默认使用半精度浮点(FP16)格式推理,结合 GPU 的 Tensor Core 加速计算,推理速度比 FP32 格式快 2 倍以上。
  • 动态调度:vLLM 内置高效的请求调度器,优化任务分配,确保在高并发场景下资源分配均衡,避免性能瓶颈。
  • 低延迟:通过内存优化和分布式计算,vLLM 的推理延迟显著降低,平均响应时间可控制在 100ms 以内。

三、vLLM vs Ollama ,该如何选择 ?

基于上述文章中的描述,我们有所熟知,Ollama 和 vLLM 作为两款领先的大语言模型(Large Language Models, LLMs)推理框架,因其独特的设计理念和技术特性,分别适用于不同类型的项目和应用场景。

Ollama 强调本地化部署和用户友好性,适合注重隐私保护和简单操作的场景;而 vLLM 则专注于高性能推理和可扩展性,能够满足高并发、大规模部署的需求。选择适合的工具需要综合考量用户的技术背景、应用需求、硬件资源以及对性能和易用性的优先级。

综上所述,在具体的业务应用中,针对特定的需求场景,我们提出以下选型建议:

  • 对于优先考虑数据隐私和简化部署的场景: 推荐采用 Ollama。尤其适用于本地化、离线操作或计算资源受限的环境,Ollama 能够提供便捷的模型部署和管理能力。
  • 对于对推理性能和系统可扩展性有较高要求的场景: 建议选择 vLLM。尤其适用于需要处理高并发请求和大规模推理任务的应用,vLLM 在性能优化方面表现出色。
  • 综合考量因素与逐步采纳策略: 用户在选择框架时,应综合评估自身的技术能力、具体的应用需求、可用的硬件资源以及对性能和易用性的优先级排序。例如,对于初学者或希望快速上手的用户,可以优先选择 Ollama 作为入门,待熟悉 LLM 推理流程和原理后,再根据更复杂应用的需求,逐步转向 vLLM 以获得更高的性能和更强的扩展性。

今天的解析就到这里,欲了解更多关于 Function-Calling 和 MCP 相关技术的深入剖析,最佳实践以及相关技术前沿,敬请关注我们的微信公众号:架构驿站,获取更多独家技术洞察!

Happy Coding ~

Reference :

  • [1] https://medium.com/@sungcheol.kim78/using-deepseek-r-1-on-the-local-vllm-server-b45b11413f90
  • [2] https://aws.amazon.com/blogs/opensource/virtual-gpu-device-plugin-for-inference-whttps://blog.gopenai.com/serving-large-models-part-two-ollama-and-tgi-c084bbb57050
相关标签:

相关资讯

本地轻松使用Gemini 2.0 Pro

译者 | 布加迪审校 | 重楼谷歌加大了角逐人工智能领域的筹码,发布了最新的实验模型。 继DeepSeek和OpenAI之后,谷歌宣布推出Gemini 2.0 Flash以及两个新的实验模型:Gemini 2.0 Pro和Gemini 2.0 Flash-Lite。 据谷歌DeepMind团队声称,Gemini 2.0 Pro是其迄今为止最先进的模型,在编程性能和处理复杂提示方面表现出色。
2/14/2025 8:00:00 AM
布加迪

Meta首席AI科学家认为当前GenAI和LLM将很快过时

Meta首席人工智能科学家Yann LeCun表示,目前的生成式人工智能(GenAI)和大型语言模型(LLM)范式可能很快就会过时。 他认为,这些系统需要新的突破来理解物理世界并与之互动。 LeCun在达沃斯世界经济论坛上谈到GenAI系统时表示:“没有人会再使用它们,至少不会将其作为人工智能系统的核心组件。
2/17/2025 11:04:27 AM
AI情报室

自主式AI崛起是否意味着SaaS的终结?

自主式AI崛起:SaaS的终结?不,是新的开始!在科技日新月异的今天,一个名为自主式AI的新星正在冉冉升起,它以其独特的魅力和无限的潜力,让人们对未来充满了遐想。 自主式AI,这种能够独立行动、自主决策的人工智能,正悄然改变着企业的运营模式,预示着软件应用的新纪元即将到来。 要点:动态AI生态系统:软件应用正从静态、单一的模式转变为动态、由AI驱动的生态系统,无缝集成各种业务需求。
2/18/2025 8:22:00 AM
Frank Palermo