常用推理加速框架及用法(vLLM/DeepSpeed-MII/LightLLM/TensorRT-LLM)

本文介绍了三个开源的深度学习语言模型库:vLLM以高效服务和多GPU支持见长,DeepSpeed-MII关注吞吐量和成本效益,TensorRT-LLM则提供了高效的TensorRT引擎。文章详细阐述了它们的特点、安装步骤和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 vLLM

1.1.1 简介

vLLM是一个快速且易于使用的LLM推理和服务库。vLLM具有以下特点:
(1) 先进的服务吞吐量;
(2) PagedAttention对注意力Keys和Values存储的有效管理;
(3) 连续批处理传入请求;
(4) 使用CUDA/HIP图快速执行模型;
(5) 量化:GPTQ、AWQ、SqueezeLLM、FP8KV缓存
(6) 优化的CUDA内核;
(7) 具有各种解码算法的高吞吐量服务,包括并行采样、波束搜索等;
(8) 分布式推理的张量并行性支持;
(9) 兼容OpenAI的API服务器;
(10) 前缀缓存支持、Multi-lora支持;
项目地址:https://github.com/vllm-project/vllm

1.1.2 快速开始

(1) 安装环境
OS:Linux Python:3.8-3.11 GPU:V100/T4/A100/RTX20XX/H100
(2) 安装教程

Pip安装(适用于CUDA12.1)(建议使用全新的CUDA环境安装):
#(Recommended) Create a new conda environment.
conda create -n myenv python=3.9 -y
conda activate myenv
#Install vLLM with CUDA 12.1.
pip install vllm

注意:安装完成后,运行时可能不支持多卡张量并行,需要重新安装nccl,
安装方式详见:
https://blog.csdn.net/A_Student10000/article/details/131726078

从源码生成:
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -e .  # This may take 5-10 minutes.
如果编译出错,建议用NVIDIA Pytorch Docker或者重装CUDA Toolkit:
#Use `--ipc=host` to make sure the shared memory is large enough.
docker run --gpus all -it --rm --ipc=host nvcr.io/nvidia/pytorch:23.10-py3

(3) 用法
默认情况下,vLLM从HuggingFace下载模型。如果您想在以下示例中使用ModelScope中的模型,请设置环境变量:export VLLM_USE_MODELSCOPE=True

from vllm import LLM, SamplingParams
prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm 
Deepspeed-MiI是一个基于Microsoft Deepspeed和PyTorch的深度学习框架,旨在为移动端和边缘设备上的模型训练和推理提供高效的解决方案。它的设计思想是通过优化算法和模型结构,来减小模型的大小和计算量,从而实现在移动端和边缘设备上高效地运行深度学习模型。 具体来说,Deepspeed-MiI在以下几个方面进行了优化: 1. 分布式训练:Deepspeed-MiI基于Microsoft Deepspeed实现了分布式训练,可以将模型训练分散到多台机器上进行,从而加快训练速度。 2. 蒸馏算法:Deepspeed-MiI提供了一组蒸馏算法,可以用来将一个复杂的模型(如BERT)转化为一个小型的模型,而不会显著影响模型的性能。这对于在移动设备上运行深度学习模型非常有帮助。 3. 模型压缩:Deepspeed-MiI支持一系列模型压缩算法,可以将一个大型的模型压缩为一个小型的模型,从而减小模型的大小和计算量。 4. 硬件优化:Deepspeed-MiI支持多种硬件平台,如CPU、GPU、DSP等,可以根据不同的硬件平台进行优化,从而提高模型在移动设备上的运行效率。 下面是Deepspeed-MiI的使用示例: 1. 安装Deepspeed-MiI: ```shell pip install deepspeed-mii ``` 2. 使用Deepspeed-MiI进行模型训练: ```python import deepspeed_mii as ds model = MyModel() optimizer = torch.optim.Adam(model.parameters(), lr=0.001) ds_model, _, _, _ = ds.initialize(model=model, optimizer=optimizer) ds_model.train() for epoch in range(num_epochs): for batch in data_loader: loss = ds_model(batch) ds_model.backward(loss) ds_model.step() ``` 3. 使用Deepspeed-MiI进行模型推理: ```python import deepspeed_mii as ds model = MyModel() model.load_state_dict(torch.load("model.pt")) ds_model, _, _, _ = ds.initialize(model=model) ds_model.eval() with torch.no_grad(): output = ds_model(input) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值