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

说明

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

目前已经有不少框架支持了大模型的分布式部署,可以并行的提高推理速度。不光可以单机多卡,还可以多机多卡。

我自己没啥使用经验,简单罗列下给自己备查。不足之处,欢迎在评论区指出。

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

FasterTranaformer/TensorRT-LLM

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

FasterTransformer支持的模型

Models Framework FP16 INT8 (after Turing) Sparsity (after Ampere) Tensor parallel Pipeline parallel FP8 (after Hopper)
BERT TensorFlow Yes Yes - - - -
BERT PyTorch Yes Yes Yes Yes Yes -
BERT Triton backend Yes - - Yes Yes -
BERT C++ Yes Yes - - - Yes
XLNet C++ Yes - - - - -
Encoder TensorFlow Yes Yes - - - -
Encoder PyTorch Yes Yes Yes - - -
Decoder TensorFlow Yes - - - - -
Decoder PyTorch Yes - - - - -
Decoding TensorFlow Yes - - - - -
Decoding PyTorch Yes - - - - -
GPT TensorFlow Yes - - - - -
GPT/OPT PyTorch Yes - - Yes Yes Yes
GPT/OPT Triton backend Yes - - Yes Yes -
GPT-MoE PyTorch Yes - - Yes Yes -
BLOOM PyTorch Yes - - Yes Yes -
BLOOM Triton backend Yes - - Yes Yes -
GPT-J Triton backend Yes - - Yes Yes -
Longformer PyTorch Yes - - - - -
T5/UL2 PyTorch Yes - - Yes Yes -
T5 TensorFlow 2 Yes - - - - -
T5/UL2 Triton backend Yes - - Yes Yes -
T5 TensorRT Yes - - Yes Yes -
T5-MoE PyTorch Yes - - Yes Yes -
Swin Transformer PyTorch Yes Yes - - - -
Swin Transformer TensorRT Yes Yes - - - -
ViT PyTorch Yes Yes - - - -
ViT TensorRT Yes Yes - - - -
GPT-NeoX PyTorch Yes - - Yes Yes -
GPT-NeoX Triton backend Yes - - Yes Yes -
BART/mBART PyTorch Yes - - Yes Yes -
WeNet C++ Yes - - - - -
DeBERTa TensorFlow 2 Yes - - On-going On-going -
DeBERTa PyTorch Yes - - On-going On-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

模型 模型并行 FP16 KV INT8 W4A16 W8A8
Llama Yes Yes Yes Yes No
Llama2 Yes Yes Yes Yes No
InternLM Yes Yes Yes Yes No
QWen-7B Yes Yes Yes No No
Baichuan-7B Yes Yes Yes Yes No
Baichuan2-7B Yes Yes No No No
Code Llama Yes Yes No No No

参考资料:

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 踩坑笔记

相关推荐
青柠之夏cc10 小时前
智慧政务的 “最后一公里”:AI 客服与区块链如何让办事像网购一样简单?
人工智能
c萱11 小时前
AI产品经理——02AI产品的发展
ai·语言模型·aigc·产品经理·ai-native
johnsmithCA11 小时前
给搜索的法规条文做了个「版本核验」流程:怎么确认手上的条文还是现行有效版
人工智能·自动化运维
付威202311 小时前
我用 Rust 重写了 Pi,启动快了 10 倍
人工智能
ai_xiaogui11 小时前
PanelAI开源AI基础设施实战:一键部署大模型+私有API聚合+节点管理,企业入企与算力变现完整方案
人工智能·中小企业如何实现ai落地·传统商超接入ai大模型管理方案·企业如何利用ai智能体降本增效·业务经验与ai大模型结合的实践·开源大模型私有化部署教程·企业专属业务智能体搭建指南
东离与糖宝11 小时前
把 TS 从头到尾过了一遍
人工智能
我是你的开心果77811 小时前
ai全栈软件开发day26
人工智能
hahaha601611 小时前
完美反射法--白平衡算法
人工智能·算法
jimmyleeee11 小时前
大模型安全之三十九:幻觉防线---- AI 幻觉检测、治理与预防指南
人工智能·安全
梦帮科技12 小时前
可证伪性工程测评与生产部署红蓝对抗:压力测试、长尾鲁棒性与全生命周期安全质检守卫
人工智能·深度学习·神经网络·安全·机器学习·自然语言处理·压力测试