大模型推理:vllm多机多卡分布式本地部署

文章目录

单台机器GPU资源不足以执行推理任务时,一个方法是模型蒸馏量化,结果就是会牺牲些效果。另一种方式是采用多台机器多个GPU进行推理,资源不足就堆机器虽然暴力但也是个不错的解决方法。值得注意的是多机多卡部署的推理框架,也适用于单机多卡,单机单卡,这里不过多赘述。

1、vLLM分布式部署

我的需求是Ubuntu中部署70B+大模型,不量化,两台机器,每台机器4张4090 24G显卡,采用docker环境,在稍微调研了一些支持多级多卡、支持serving部署的工具后,最终选择vllm部署,主要原因是看着简单,主流的开源LLM都支持且提供OpenAI接口访问。

docker镜像构建

?? docker镜像构建基本上就是参照一位博主的文章

### vLLM 分布式推理配置 #### 配置环境准备 为了成功实施vLLM节点GPU部署,需确保所有参与计算的节点都安装了相同版本的操作系统以及必要的依赖库。这包括但不限于Python解释器、CUDA工具包及其驱动程序等[^1]。 #### 初始化集群设置 在启动之前,要定义好各个节点之间的通信制。通常情况下会采用一种名为AllReduce的技术来同步不同设备上的梯度信息或其他参数更新情况。对于vLLM而言,在较新的版本里已经内置支持这样的功能,使得开发者能够更加便捷地完成跨器间的协作工作。 #### 启动服务端口监听 每台作为worker角色存在的计算都需要开启特定的服务端口号用于接收来自其他成员发送过来的数据流;与此同时master节点负责统筹整个系统的运作流程并向外界提供统一访问接口。具体来说就是通过命令行指定`--host`和`--port`选项来告知当前实例应该绑定哪个网络地址及对应的TCP/IP端口。 ```bash python -m vllm.server --model <your_model_path> --tensor-parallel-size <num_gpus_per_node> --pipeline-parallel-size <num_nodes> ``` 上述脚本中,`<your_model_path>`代表本地存储的大规模预训练模型文件夹路径;而`<num_gpus_per_node>`则指明单个工作站内部可用图形处理器数量;最后`<num_nodes>`表示总共涉及了少独立物理主参与到此次联合运算当中去。 #### 调整资源配置策略 考虑到实际应用场景可能存在差异化的性能需求,因此允许用户自定义一些高级别的控制参数以达到最佳效果。比如调整batch size大小、启用混合精度模式等等都可以有效提高整体效率而不影响最终输出质量[^3]。 #### 测试连接稳定性 当一切准备工作就绪之后就可以尝试发起简单的查询请求看看是否能得到预期响应结果了。如果遇到任何异常状况务必及时排查原因所在直至解决问题为止。一般建议先从小规模测试做起逐步扩大范围直到确认无误后再正式投入使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值