学习笔记|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.mzph.cn/diannao/61962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑开启虚拟化的方法

因为最近在用模拟器玩游戏,所以来给大家分享一下,使用模拟器之前需要开启的虚拟化技术。 Windows系统开启Hyper-V功能 Windows 11: 按【Win】【i】打开系统设置。在【系统】一栏找到并点击【可选功能】。在界面最下方找到相关设置选项的【更…

计算机网络八股整理(一)

计算机网络八股文整理 一:网络模型 1:网络osi模型和tcp/ip模型分别介绍一下 osi模型是国际标准的网络模型,它由七层组成,从上到下分别是:应用层,表示层,会话层,传输层,…

Spring Boot教程之五:在 IntelliJ IDEA 中运行第一个 Spring Boot 应用程序

在 IntelliJ IDEA 中运行第一个 Spring Boot 应用程序 IntelliJ IDEA 是一个用 Java 编写的集成开发环境 (IDE)。它用于开发计算机软件。此 IDE 由 Jetbrains 开发,提供 Apache 2 许可社区版和商业版。它是一种智能的上下文感知 IDE,可用于在各种应用程序…

单片机学习笔记 9. 8×8LED点阵屏

更多单片机学习笔记:单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…

vue 预览pdf 【@sunsetglow/vue-pdf-viewer】开箱即用,无需开发

sunsetglow/vue-pdf-viewer 开箱即用的pdf插件sunsetglow/vue-pdf-viewer, vue3 版本 无需多余开发,操作简单,支持大文件 pdf 滚动加载,缩放,左侧导航,下载,页码,打印,文本复制&…

Css—实现3D导航栏

一、背景 最近在其他的网页中看到了一个很有趣的3d效果,这个效果就是使用css3中的3D转换实现的,所以今天的内容就是3D的导航栏效果。那么话不多说,直接开始主要内容的讲解。 二、效果展示 三、思路解析 1、首先我们需要将这个导航使用一个大…

重新定义社媒引流:AI社媒引流王如何为品牌赋能?

在社交媒体高度竞争的时代,引流已经不再是单纯追求流量的数字游戏,而是要找到“对的用户”,并与他们建立真实的连接。AI社媒引流王通过技术创新和智能策略,重新定义了社媒引流的方式,帮助品牌在精准触达和高效互动中脱…

Docker1:认识docker、在Linux中安装docker

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

Centos 8, add repo

Centos repo前言 Centos 8更换在线阿里云创建一键更换repo 自动化脚本 华为Centos 源 , 阿里云Centos 源 华为epel 源 , 阿里云epel 源vim /centos8_repo.sh #!/bin/bash # -*- coding: utf-8 -*- # Author: make.han

flutter 专题十一 Fair原理篇Fair逻辑动态化架构设计与实现

数据逻辑处理布局中的逻辑处理Flutter类型数据处理 一、数据逻辑处理 我们接触的每一个Flutter界面&#xff0c;大多由布局和逻辑相关的代码组成。如Flutter初始工程的Counting Demo的代码&#xff1a; class _MyHomePageState extends State<MyHomePage> {// 变量 in…

《硬件架构的艺术》笔记(五):低功耗设计

介绍 能量以热量形式消耗&#xff0c;温度升高芯片失效率也会增加&#xff0c;增加散热片或风扇会增加整体重量和成本&#xff0c;在SoC级别对功耗进行控制就可以减少甚至可能消除掉这些开支&#xff0c;产品也更小更便宜更可靠。本章描述了减少动态功耗和静态功耗的各种技术。…

2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(1)

摘要 近年来,中国宠物食品行业迅速增长,但面临复杂的国际形势和多变的市场环境,因此科学地分析和预测该行业的发展趋势至关重要。本研究通过构建多个机器学习与统计回归模型,量化分析中国宠物食品行业的关键驱动因素,预测未来宠物食品总产值和出口值。 在数据处理部分,…

Matlab 深度学习工具箱 案例学习与测试————求二阶微分方程

clc clear% 定义输入变量 x linspace(0,2,10000);% 定义网络的层参数 inputSize 1; layers [featureInputLayer(inputSize,Normalization"none")fullyConnectedLayer(10)sigmoidLayerfullyConnectedLayer(1)sigmoidLayer]; % 创建网络 net dlnetwork(layers);% 训…

LM2904运算放大器的应用:测电池电压

在电子设备的广泛应用中&#xff0c;电池作为便携设备的能量来源&#xff0c;其电压监测显得尤为关键。LM2904作为一款低功耗、高增益带宽积和高共模抑制比的双运算放大器&#xff0c;非常适用于电池电压的测量与监测。本文详细介绍了LM2904在电池电压测量方面的应用&#xff0…

如何评估电话机器人的效果?

如何评估电话机器人的效果&#xff1f; 作者&#xff1a;开源呼叫中心系统 FreeIPCC&#xff0c;Github地址&#xff1a;https://github.com/lihaiya/freeipcc 评估电话机器人的效果是一个多维度、综合性的任务&#xff0c;可以从以下几个方面进行考量&#xff1a; 一、工作效…

C/C++逆向:虚函数逆向分析

虚函数&#xff08;Virtual Function&#xff09;是C中实现多态的一种机制&#xff0c;它允许在运行时通过基类的指针或引用调用派生类中的函数&#xff0c;而不是基类中的版本。虚函数通常与继承和多态结合使用。通过在基类中使用 virtual 关键字声明函数&#xff0c;允许派生…

【prism】遇到一个坑,分享!

背景 我通用prism的方式写了一个弹窗,弹窗绑定一个 Loaded 事件,但是Loaded事件一直不触发!!! 具体过程 我的loaded事件也是通过命令的方式绑定的: <i:Interaction.Triggers><i:EventTrigger EventName="Loaded

永磁同步电机末端振动抑制(输入整形)

文章目录 1、前言2、双惯量系统3、输入整形3.1 ZV整形器3.2 ZVD整形器3.3 EI整形器 4、伺服系统位置环控制模型5、仿真5.1 快速性分析5.2 鲁棒性分析 参考 1、前言 什么是振动抑制&#xff1f;对于一个需要精确定位的系统&#xff0c;比如机械臂、塔吊、码头集装箱等&#xff…

Pytorch使用手册-Optimizing Model Parameters(专题七)

优化模型参数 现在我们已经有了一个模型和数据,是时候通过优化模型参数来训练、验证和测试模型了。训练模型是一个迭代的过程:在每次迭代中,模型会对输出进行预测,计算预测的误差(损失),收集误差相对于参数的导数(在上一节中我们已看到),然后使用梯度下降优化这些参…

pywinauto常见用法详解

1 安装 pip install pywinauto0.6.3 -i https://pypi.tuna.tsinghua.edu.cn/simple 2 启动app appApplication(backenduia).start(程序路径) backend 参数有2种 win32和uia 3 窗口选择 3.1通过类选择 dlgapp["类名"] dlgapp.类名 3.2通过标题选择 dlgapp[&…