transformer大语言模型(LLM)部署方案整理

2023-09-13 11:25:55

说明

大模型的基本特征就是大,单机单卡部署会很慢,甚至显存不够用。毕竟不是谁都有H100/A100, 能有个3090就不错了。

目前已经有不少框架支持了大模型的分布式部署,可以并行的提高推理速度。不光可以单机多卡,还可以多机多卡。
我自己没啥使用经验,简单罗列下给自己备查。不足之处,欢迎在评论区指出。

框架名称出品方开源地址
FasterTranaformer英伟达FasterTransformer github
TGIhuggingfacehuggingface/text-generation-inference
vLLM伯克利大学 LMSYS 组织github-vllm
deepspeed微软github.com/microsoft/DeepSpeed
lmdeployopen-mmlabInternLM/lmdeploy
TurboTransformers腾讯Tencent/TurboTransformers

FasterTranaformer/TensorRT-LLM

faster transformer是英伟达的大模型推理方案,但是后续可能不再维护,因为英伟达推出了一个更新的框架TensorRT-LLM,它目前还在申请使用阶段,未来应该会全面开源吧。

FasterTransformer支持的模型

ModelsFrameworkFP16INT8 (after Turing)Sparsity (after Ampere)Tensor parallelPipeline parallelFP8 (after Hopper)
BERTTensorFlowYesYes----
BERTPyTorchYesYesYesYesYes-
BERTTriton backendYes--YesYes-
BERTC++YesYes---Yes
XLNetC++Yes-----
EncoderTensorFlowYesYes----
EncoderPyTorchYesYesYes---
DecoderTensorFlowYes-----
DecoderPyTorchYes-----
DecodingTensorFlowYes-----
DecodingPyTorchYes-----
GPTTensorFlowYes-----
GPT/OPTPyTorchYes--YesYesYes
GPT/OPTTriton backendYes--YesYes-
GPT-MoEPyTorchYes--YesYes-
BLOOMPyTorchYes--YesYes-
BLOOMTriton backendYes--YesYes-
GPT-JTriton backendYes--YesYes-
LongformerPyTorchYes-----
T5/UL2PyTorchYes--YesYes-
T5TensorFlow 2Yes-----
T5/UL2Triton backendYes--YesYes-
T5TensorRTYes--YesYes-
T5-MoEPyTorchYes--YesYes-
Swin TransformerPyTorchYesYes----
Swin TransformerTensorRTYesYes----
ViTPyTorchYesYes----
ViTTensorRTYesYes----
GPT-NeoXPyTorchYes--YesYes-
GPT-NeoXTriton backendYes--YesYes-
BART/mBARTPyTorchYes--YesYes-
WeNetC++Yes-----
DeBERTaTensorFlow 2Yes--On-goingOn-going-
DeBERTaPyTorchYes--On-goingOn-going-

参考资料:

FasterTransformer github

H100推理飙升8倍!英伟达官宣开源TensorRT-LLM,支持10+模型

英伟达发布 TensorRT-LLM 模型,性能最高提升 8 倍,何时能正式发售?对此你有哪些期待?

TGI(huggingface/text-generation-inference)

huggingface官方的框架,根据小记:主流推理框架在Llama 2 的上性能比较的数据,TGI跑LLAMA-13b的性能好于vllm。

Optimized architectures

Other architectures are supported on a best effort basis using:

AutoModelForCausalLM.from_pretrained(<model>, device_map="auto")

or

AutoModelForSeq2SeqLM.from_pretrained(<model>, device_map="auto")

参考资料:

huggingface/text-generation-inference

vllm

vLLM 是伯克利大学 LMSYS 组织开源的大语言模型高速推理框架,极大地提升了实时场景下的 LLM 服务的吞吐与内存使用效率。

vllm支持的模型

vLLM seamlessly supports many Huggingface models, including the following architectures:

  • Aquila (BAAI/Aquila-7B, BAAI/AquilaChat-7B, etc.)
  • Baichuan (baichuan-inc/Baichuan-7B, baichuan-inc/Baichuan-13B-Chat, etc.)
  • BLOOM (bigscience/bloom, bigscience/bloomz, etc.)
  • Falcon (tiiuae/falcon-7b, tiiuae/falcon-40b, tiiuae/falcon-rw-7b, etc.)
  • GPT-2 (gpt2, gpt2-xl, etc.)
  • GPT BigCode (bigcode/starcoder, bigcode/gpt_bigcode-santacoder, etc.)
  • GPT-J (EleutherAI/gpt-j-6b, nomic-ai/gpt4all-j, etc.)
  • GPT-NeoX (EleutherAI/gpt-neox-20b, databricks/dolly-v2-12b, stabilityai/stablelm-tuned-alpha-7b, etc.)
  • InternLM (internlm/internlm-7b, internlm/internlm-chat-7b, etc.)
  • LLaMA & LLaMA-2 (meta-llama/Llama-2-70b-hf, lmsys/vicuna-13b-v1.3, young-geng/koala, openlm-research/open_llama_13b, etc.)
  • MPT (mosaicml/mpt-7b, mosaicml/mpt-30b, etc.)
  • OPT (facebook/opt-66b, facebook/opt-iml-max-30b, etc.)
  • Qwen (Qwen/Qwen-7B, Qwen/Qwen-7B-Chat, etc.)

参考资料:

github-vllm

有人使用vLLM加速过自己的大语言模型吗?效果怎么样?

比HuggingFace快24倍!伯克利神级LLM推理系统开源,碾压SOTA,让GPU砍半

deepspeed

DeepSpeed是微软推出的大规模模型分布式训练的工具,主要实现了ZeRO并行训练算法。
这个框架可以做训练,也可以推理。我同事使用这个框架对baichuan-13进行推理,功能正常。

DeepSpeed has been used to train many different large-scale models, below is a list of several examples that we are aware of (if you’d like to include your model please submit a PR):

参考资料:

github.com/microsoft/DeepSpeed

deepspeed入门教程

lmdeploy

LMDeploy 由 MMDeploy 和 MMRazor 团队联合开发,是涵盖了 LLM 任务的全套轻量化、部署和服务解决方案。
支持的模型:

Note

W4A16 推理需要 Ampere 及以上架构的 Nvidia GPU

模型模型并行FP16KV INT8W4A16W8A8
LlamaYesYesYesYesNo
Llama2YesYesYesYesNo
InternLMYesYesYesYesNo
QWen-7BYesYesYesNoNo
Baichuan-7BYesYesYesYesNo
Baichuan2-7BYesYesNoNoNo
Code LlamaYesYesNoNoNo

参考资料:

LLM 低成本 GPU 部署方案 lmdeploy 开源

InternLM/lmdeploy

TurboTransformers

TurboTransformers是腾讯开源的模型加速推理框架。

当前支持的模型种类不算多:

参考资料:

Tencent/TurboTransformers

腾讯开源TurboTransformers,推理加速性能超越TensorRT等主流优化引擎

参考资料

LLM推理优化技术综述:KVCache、PageAttention、FlashAttention、MQA、GQA

小记:主流推理框架在Llama 2 的上性能比较

vllm vs TGI 部署 llama v2 7B 踩坑笔记

更多推荐

嵌入式Linux驱动开发(I2C专题)(四)

编写APP直接访问EEPROM参考资料:Linux驱动程序:drivers/i2c/i2c-dev.cI2C-Tools-4.2:https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/AT24cxx.pdf1.硬件连接STM32MP157的I2C模块连

嵌入式学习 - 用电控制电

目录前言:1、继电器2、二极管3、三极管3.1特殊的三极管-mos管3.2npn类型三极管3.3pnp类型三极管3.4三极管的放大特性3.5mos管和三极管的区别前言:计算机的工作的核心原理:用电去控制电。所有的电子元件都有数据手册,不同型号的电子元件需要翻阅对应的数据手册。1、继电器电路图和原理如下:如图所示,当继电

CentOS7安装MySQL

文章目录前言一、MySQL5.71.1安装wget1.2下载&安装MySQL的rpm源1.3修改MySQL安装版本1.4下载并启动MySQL1.5开启MySQL远程连接用户二、MySQL8.0注意事项前言CentOS7的安装,采用的是yum的方式安装。yum方式安装,就类似在Windows下不停的下一步,下一步。根据官

灰度变换原理//test later

灰度变换原理图像灰度变换变换原理:通过变换函数T将原图像像素灰度值r映射为灰度值s:2、灰度反转2.1原理灰度反转:将图像亮暗对调,可以增强图像中暗色区域细节�=�(�)=�−1−�其中L为图像灰度级,0~255灰度图像的灰度级为256.2.2c++opencv代码#include<iostream>#include<

如何快速检测代理IP质量?

一直以来,IP代理都是出海跨境业务的刚需。质量好的IP代理,除了在跨境业务产生巨大作用,在SEO监控、爬虫抓取、市场研究等领域也发挥着很大的作用。但是,对于IP代理的质量检测是我们选择高标准IP代理的一句,我们一般都会建议在使用IP代理前,进行测试或检测。那么我们应该如何快速地检测代理IP的有效性与质量的好坏呢?接下来

第三章 关系数据库标准语言SQL

第三章关系数据库标准语言SQL3.1SQL概述3.1.1SQL的产生与发展3.1.2SQL的特点主要特点:综合统一集数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)的功能于一体}数据操作统一可以独立完成数据库生命周期中的全部活动,包括以下一系列操作要求:定义和修改、删除关系模式,定义和删除视图,插

Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单

项目说明随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审计监督要求;通过电子化平台提高招投标工作的公开性和透明性;通过电子化招投标,使得招标采购的质量更高、速度

日志输出-查看 SQL:深入分析 MyBatis 执行过程

😀前言在现代软件开发中,数据库操作是不可或缺的一部分,而持久层框架的应用能够极大地简化这一过程。然而,当我们在开发MyBatis程序时,有时候需要深入了解程序底层实际执行的SQL语句,以便更好地分析和优化数据库操作。本文将探讨如何通过配置日志输出,在MyBatis中查看SQL语句的执行情况,以便更深入地了解其执行过程

逻辑回归中对L1\L2正则化的理解

在逻辑回归中,L1和L2正则化是常用的正则化技术,用于控制模型的复杂度并防止过拟合。它们通过在损失函数中引入额外的正则化项来实现。L1正则化(Lasso正则化):L1正则化使用参数权重的绝对值之和作为正则化项。其目标是将一些权重压缩为零,从而实现特征选择的效果。L1正则化的数学形式如下:R(w)=λ∑i=1n∣wi∣\

英语CN专刊《英语教师》简介及投稿须知

英语CN专刊《英语教师》简介及投稿须知《英语教师》杂志是由中华人民共和国新闻出版总署、正式批准公开发行的优秀期刊,《英语教师》系一本面向基础教育和高等教育英语教师的、兼顾理论性与实践性的专业性期刊。《英语教师》的读者对象主要是广大英语教师、英语教研员以及高校外语院系学生。本刊主要刊载有关英语教学和英语教师教育的论文、实

Linux 系统移植(二)--系统调试

文章目录一、编译文件系统1.1下载资源安装包1.2配置模板ARM64目标平台1.3配置交叉编译器1.4配置登录用户名和密码1.5配置Linux控制台1.6配置文件系统格式1.7编译buildroot文件系统二、编译ARM64Linux三、启动QemuLinux系统参考链接:一、编译文件系统1.1下载资源安装包我们使用b

热文推荐