学习笔记|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,一经查实,立即删除!

相关文章

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

计算机网络八股文整理 一:网络模型 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

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

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

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

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

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

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

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

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

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

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

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[&…

20241125复盘日记

昨日最票: 南京化纤 滨海能源 广博股份 日播时尚 众源新材 返利科技 六国化工 丰华股份 威领股份 凯撒旅业 华扬联众 泰坦股份 高乐股份高均线选股: 理邦仪器高乐股份日播时尚领湃科技威领股份资金最多的票: 资金攻击最多的票: …

【实用向】Django 框架入门

声明 这是一篇实用向的Django框架教程博客,适用于想要快速入门的开发者,有前后端开发以及语言基础,想要学习语法或者特性。,包括一些基础的使用,想要学习请结合文章初识 Django并按照我的顺序一步步进行,做…

Git的使用_仓库管理_CI/CD介绍

文章目录 一、Git的基础知识一-1、什么是GitLinux命令行的git的简易安装Git项目的组成Git的基本工作流程Git文件的三种状态 一-2、存储库远程存储库与本地存储库创建存储库git init命令的使用方法1. 初始化一个新的 Git 仓库2. 在指定目录初始化一个新的 Git 仓库3. 初始化一个…

畅游Diffusion数字人(6): JoyHallo: Digital human model for Mandarin

Diffusion Models专栏文章汇总:入门与实战 前言:目前音频驱动大部分的论文和数据都是围绕英文输入驱动打造的,应用在东亚人和国语上效果有所降低。与英语相比,普通话中复杂的嘴唇动作使模型训练更加复杂。这篇博客介绍京东提出的数字人技术《JoyHallo: Digital human model…

SpringCloud入门实战-Spring Cloud Stream消息驱动概述

❤️ 《SpringCloud入门实战系列》解锁SpringCloud主流组件入门应用及关键特性。带你了解SpringCloud主流组件,是如何一战解决微服务诸多难题的。项目demo:源码地址 ❤️ 作者:一只IT攻城狮。关注我,不迷路。 ❤️ 再小的收获x365天都会成就…

Flink 安装与入门:开启流式计算新时代

在当今大数据蓬勃发展的时代,数据处理的时效性愈发关键。传统基于先存储再批量处理的数据方式,在面对诸如网站实时监控、异常日志即时分析等场景时,显得力不从心。随着 5G、物联网等技术的兴起,海量数据如潮水般涌来,且…