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

vLLM vs Text Generation Interface:大型语言模型服务框架的比较

在大型语言模型(LLM)的世界中,有两个强大的框架用于部署和服务LLM:vLLM 和 Text Generation Interface (TGI)。这两个框架都有各自的优势,适用于不同的使用场景。在这篇博客中,我们将对这两个框架进行详细的比较。

vLLM

vLLM 是一个用于 LLM 推理和服务的高吞吐量和内存高效的库。它具有以下特点:

  • 具有最先进的服务吞吐量。
  • 通过 PagedAttention 高效管理注意力键和值内存。
  • 对传入请求进行连续批处理。
  • 支持 CUDA/HIP 图形的快速模型执行。
  • 量化:GPTQ,AWQ,SqueezeLLM,FP8 KV 缓存。
  • 优化的 CUDA 内核。

vLLM 也具有灵活性和易用性:

  • 与流行的 Hugging Face 模型无缝集成。
  • 使用各种解码算法进行高吞吐量服务,包括并行采样,波束搜索等。
  • 支持分布式推理的张量并行性。
  • 流式输出。
  • 支持 OpenAI 兼容的 API 服务器。
  • 支持 NVIDIA GPU 和 AMD GPU(实验性)。
  • 支持前缀缓存(实验性)。
  • 支持多 lora。

vLLM 无缝支持许多 Hugging Face 模型,包括以下架构:Aquila & Aquila2。

Text Generation Interface (TGI)

Text Generation Interface (TGI) 是一个多功能的选项,支持各种 LLMs,包括量化和微调。它适用于需要为核心模型增加多个 adapter 的场景。

比较

在选择使用哪个框架时,需要根据你的具体需求和应用场景来决定。如果你需要处理大量的 Prompt 输入,并且对推理速度有较高的要求,那么 vLLM 可能是一个更好的选择。如果你需要支持各种 LLMs,并且需要进行量化和微调,那么 TGI 可能更适合你。

在大型语言模型(LLM)的部署和服务框架方面,vLLM 和 Text Generation Interface (TGI) 是两个主流的选择。然而,是否有更好的框架取决于你的具体需求和应用场景。

根据网络上的一些讨论123,以下是一些可能的选择:

CTranslate22:如果你计划在 CPU 上运行推理,CTranslate2 可能是一个好选择

OpenLLM2:如果你打算为核心模型添加适配器并使用 HuggingFace Agents,尤其是不完全依赖 PyTorch,那么 OpenLLM 可能是一个好选择。

Ray Serve2:如果你需要稳定的 Pipeline 和灵活的部署,那么 Ray Serve 可能是一个好选择,它最适合更成熟的项目。

MLC LLM2:如果你打算在客户端(例如,在 Android 或 iPhone 平台上)本地部署 LLM,那么 MLC LLM 可能是一个好选择。

源码:

vllm:

:GitHub - vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs

text-generation-webui :

GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.

相关文章:

vLLM vs Text Generation Interface:大型语言模型服务框架的比较

在大型语言模型(LLM)的世界中,有两个强大的框架用于部署和服务LLM:vLLM 和 Text Generation Interface (TGI)。这两个框架都有各自的优势,适用于不同的使用场景。在这篇博客中,我们将对这两个框架进行详细的…...

[AIGC] 上传文件:后端处理还是直接阿里云OSS?

在构建Web应用时,我们经常需要处理用户上传的文件。这可能是图片、视频、文档等各种各样的文件。但是,上传文件的方式有很多种,最常见的两种方式是:通过后端处理,或者直接上传至云存储服务,如阿里云OSS。那…...

速盾cdn:香港服务器如何用国内cdn

在国内使用香港服务器的情况下,可以考虑使用速盾CDN来提供加速服务。速盾CDN是一种专业的内容分发网络解决方案,可以通过使用不同节点的服务器来提供高速的内容传输和访问。 首先,使用速盾CDN可以帮助解决香港服务器与国内用户之间的延迟和带…...

深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南【第72篇—python:数据连接】

深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南 Pandas是Python中最强大且广泛使用的数据处理库之一,提供了丰富的函数和工具,以便更轻松地处理和分析数据。在本文中,我们将深入探讨Pandas中一系列数据连接、合…...

IDEA中mybatis配置文件表名显示红色,提示 Unable to resolve table ‘xxx‘

问题:IDEA中mybatis配置文件表名显示红色,提示 Unable to resolve table ‘xxx’ 解决方法: 使用快捷提示键 Alt Enter,选择 Go to SQL Resolution Scopes(转到SQL的解析范围)...

Python基于大数据的电影预测分析系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

【MATLAB】小波神经网络回归预测算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 小波神经网络回归预测算法是一种利用小波变换和人工神经网络相结合的方法,用于解决回归预测问题。下面将详细介绍该算法的原理与方法: 小波变换: 小波变…...

最新Burp Suite入门讲解

Burp Suite的安装 Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和安全检测。 Burp Suite由Java语言编写,Java自身的跨平台性使我们能更方便地学习和使用这款软件。不像其他自动化测…...

【C++】模版初阶

目录 泛函编程 函数模版 概念 格式 原理 实例化 模版函数的匹配原则 类模板 定义格式 泛函编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, dou…...

Stable Diffusion 模型下载:DreamShaper(梦想塑造者)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 DreamShaper 是一个分格多样的大模型,可以生成写实、原画、2.5D 等…...

GPT-4模型的创造力

超级的创造力是GPT-4等高级语言模型的重要特征之一。它们不仅能够精确地模拟和再现各类文本样式、结构和内容,而且在生成新的文本时,能够通过深度学习算法对海量训练数据中捕捉到的模式进行创新性的重组与拓展: 词汇创新:基于已学…...

没用的计算器

本次的项目仍然属于没用的模块&#xff0c;仅供娱乐&#xff0c;最后附有效果视频&#xff0c;如需要源代码可以私信或评论&#xff0c;本次还是使用vue来实现的&#xff0c;同样也可以修改为JS 一、HTML部分 <div class"con"><div class"calculator&q…...

基于 Python 的大数据的电信反诈骗系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

二、ClickHouse简介

ClickHouse简介 前言一、行式存储二、DBMS功能三、多样化引擎四、高吞吐写入能力五、数据分区与线程级并行六、场景七、特定版本 前言 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用 C 语言编写&#xff0c;主要…...

C++ 11新特性之并发

概述 随着计算机硬件的发展&#xff0c;多核处理器已经成为主流&#xff0c;对程序并发执行能力的需求日益增长。C 11标准引入了一套全面且强大的并发编程支持库&#xff0c;为开发者提供了一个安全、高效地利用多核CPU资源进行并行计算的新框架&#xff0c;极大地简化了多线程…...

jvm问题自查思路

本文聊一下最近处理了一些jvm的问题上&#xff0c;将这个排查和学习过程分享一下&#xff0c;看了很多资料&#xff0c;最终都会落地到几个工具的使用&#xff0c;本文主要是从文档学习、工具学习和第三方技术验证来打开认知和实践&#xff0c;希望有用。 一、文档 不仅知道了…...

任意IOS16系统iPad/Iphone开启台前调度

方法来自GitHub: GitHub - khanhduytran0/TrollPad: Troll SpringBoard into thinking its running on iPadOS 注意操作前iPad/iPhone上需要安装巨魔手机助手和Filza&#xff0c;关于这两个软件的安装自行百度方法。 备注一个巨魔手机助手的下载地址 Release TrollStar 1.2…...

LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

文章目录 前言LeetCode、452. 用最少数量的箭引爆气球【中等&#xff0c;贪心&#xff0c;区间问题】题目链接与分类思路贪心&#xff0c;连续区间数量问题 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客…...

洛谷C++简单题小练习day10—umi的函数

day10--umi的函数--2.13 习题概述 题目背景 umi 找到了一个神秘的函数 f。 题目描述 这个函数接受两个字符串 s1,s2。这些字符串只能由小写字母组成并且具有相同的长度。这个函数的输出是另一个长度与 s1,s2 相同的字符串 g。 g 的第 i 个字符等于 s1 的第 i 个字符和 s2…...

【Linux学习】线程互斥与同步

目录 二十.线程互斥 20.1 什么是线程互斥&#xff1f; 20.2 为什么需要线程互斥? 20.3 互斥锁mutex 20.4 互斥量的接口 20.4.1 互斥量初始 20.4.2 互斥量销毁 20.4.3 互斥量加锁 20.4.4 互斥量解锁 20.4.5 互斥量的基本原理 20.4.6 带上互斥锁后的抢票程序 20.5 死锁问题 死锁…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...