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

学习笔记|MaxKB对接本地大模型时,选择Ollma还是vLLM?

在使用MaxKB开源知识库问答系统的过程中,除了对接在线大模型,一些用户出于资源配置、长期使用成本、安全性等多方面考虑,还在积极尝试通过Ollama、vLLM等模型推理框架对接本地离线大模型。而在用户实践的过程中,经常会对候选的模型推理框架进行多个维度的考察和对比。

在本文中,我们针对Ollama和vLLM这两款目前比较常用的模型推理框架,尝试从安装配置复杂性、性能、资源占用、成本、扩展性、推理性能等维度进行对比总结,仅供广大社区用户参考。

一、常见维度对比

Ollama

1.安装和配置

■ 使用Docker容器部署,简化安装流程;

■ 支持多种操作系统(包括Windows、Mac和Linux),提供标准化的API接口。

■支持从huggingface/modelscope等平台下载的模型文件。

2.性能

■ 在GPU环境下,推理速度显著优于CPU,支持OneAPI接入提升性能;

■ 显存占用相对较低,例如Qwen2.5:7b模型仅需6GB显存。

3.资源占用

■ 在调用时加载模型,显存占用较低,适合在资源有限的环境中运行;

■ 支持多种大模型,包括Qwen2.5等。

4.成本

■ 本地部署,需要本地机器硬件支持,成本取决于硬件配置。

vLLM

1.安装和配置

■ 需要安装Python环境和相关依赖,对技术要求较高(也支持Docker);

■ 支持从huggingface/modelscope等平台下载的模型文件。

2.性能

■ 采用PagedAttention技术,提高内存利用率,支持高并发处理;

■ 在高用户负载下,vLLM官方给出的吞吐量比HuggingFace Transformers高出24倍,比Text Generation Inference高出3.5倍。

3.资源占用

■ 模型加载常驻显存,显存占用相对较高,例如单卡16GB显存可能不足以运行Qwen2.5:7b模型;

■ 需要较高的计算资源,适合在高性能硬件环境中运行。

4.成本

■ 本地部署,需要本地机器硬件支持,成本取决于硬件配置。

二、多机、多卡维度对比

在大模型多机、多卡的部署场景下,选择Ollama还是vLLM需要考虑以下两个关键因素:

1.分布式扩展支持

■ vLLM提供了原生的多机多卡分布式支持,可以轻松地在多台机器上部署大模型,并且每台机器可以使用多个GPU进行推理。vLLM通过PagedAttention技术有效管理内存,显著提升推理效率;

■ Ollama虽然也支持多GPU环境,但其分布式部署能力相对较弱,可能需要额外的配置和优化来实现多机、多卡的高效运行。

2.推理性能

■ vLLM在GPU上的推理速度显著提升,使用PagedAttention技术实现了比HuggingFace Transformers高14至24倍的吞吐量;

■ Ollama在GPU上的推理速度也非常快,但在多机、多卡环境下,vLLM的性能优势可能更加明显。

三、总结

总体而言,用户在使用MaxKB对接本地大模型时可以从以下三个维度进行重点考量:

■技术基础和资源:如果有较强的技术基础和硬件资源,可以选择vLLM以获得更高的性能和吞吐量。如果希望快速搭建和管理知识库,且对硬件资源要求不高,可以选择Ollama;

■ 成本考虑:如果硬件资源有限,尤其是在只有CPU或者单卡的情况下,选择Ollama进行本地部署是一个不错的选择,能够满足大部分的场景需要。如果有一定的硬件资源,且需要MaxKB具备高性能的问答能力,可以选择vLLM,或者通过类似Xinference平台进行部署;

■MaxKB应用场景:简单来说,对于需要高效实时响应和高并发处理的问答场景,vLLM更为适合。对于需要快速搭建和灵活管理知识库的应用场景,Ollama更为适合。

当然,如果在实际私有化部署MaxKB的场景中,除了高性能的推理大模型外,还需要向量模型和重排模型,这个时候推荐部署Xinference进行统一管理和运行模型。

为了方便广大社区用户使用MaxKB开源知识库问答系统对接本地大模型,我们特别总结了如下表格:
在这里插入图片描述


http://www.kler.cn/a/405978.html

相关文章:

  • Web 入门
  • MacOS通过X11转发远程运行virt-manager进行虚机分配
  • JavaWeb之综合案例
  • 【Three.js基础学习】28.Coffee Smoke
  • 网站推广实战案例:杭州翔胜科技有限公司如何为中小企业打开市场大门
  • 51c自动驾驶~合集31
  • js中new操作符具体都干了什么?
  • 为自动驾驶提供高分辨率卫星图像数据,实例级标注数据集OpenSatMap
  • 如何实现单片机的安全启动和安全固件更新
  • 达索系统亮相第三十一届中国汽车工程学会年会暨展览会
  • 【已完成】windows配置pytorch2.4.1深度学习环境
  • 商用密码应用安全性评估,密评整体方案,密评管理测评要求和指南,运维文档,软件项目安全设计相关文档合集(Word原件)
  • 玩转合宙Luat教程 基础篇④——程序基础(库、线程、定时器和订阅/发布)
  • c++ std::stack总结
  • 深入理解 prompt提示词 原理及使用技巧
  • ElasticSearch7.x入门教程之中文分词器 IK(二)
  • Python操作neo4j库py2neo使用之创建和查询(二)
  • ubuntu pytorch容器内安装gpu版本的ffmpeg
  • android studio无法下载,Could not GET xxx, Received status code 400
  • C++设计模式介绍
  • Bug:引入Feign后触发了2次、4次ContextRefreshedEvent
  • IDEA 下载源码很慢,Download Source使用阿里云镜像仓库
  • 算法编程题-排序
  • 什么是Web3D?有何优势?有哪些应用场景?
  • javascrip页面交互
  • 基于 MONAI 的 3D 图像分割任务1(数据增强可视化)