llama3.1-405B私有化本地部署-多机多卡

本文应该是全网第一篇关于多节点多卡部署llama3.1-405B的文章,踩了很多坑,自己使用的集群环境也缺少权限,相当于戴着镣铐跳舞,千难万难总算是部署成功了,与单节点推理相比,多节点推理的难度要大得多。关于部署的多种方式,我娓娓道来,一一列举吧。

部署条件:2节点,每个节点具有8张80G*A800

一、vllm ray多节点多卡部署

1.创建集群环境

两个节点上分别创建容器。因为环境变量有很多个级别:
a. 机器启动时(或容器启动时)设置的环境变量
b. shell 命令设置的环境变量
c. 程序执行期间设置的环境变量
而ray actor 进程仅在我们创建集群时继承环境变量,所以在创建容器时需要设置环境变量:
(1)我所使用的集群环境,只能申请创建容器,因此在创建容器时,我在配置文件中写入了环境变量:

env:
      - name: GLOO_SOCKET_IFNAME
        value: "eth0"
      - name: NCCL_SOCKET_IFNAME
        value: "eth0"

“eth0”是我机器用于通信的网卡id,使用“ifconfig”命令可以查看。
(2)对于两台可以通信的物理机来说,我们可以在每台机器上分别创建docker容器:
vllm官方有支持,可以下载vllm的github代码,创建头节点和工作节点,在/example/下:

bash run_cluster.sher.sh \
                  vllm/vllm-openai \
                  ip_of_head_node \
                  --head \
                  /path/to/the/huggingface/home/in/this/node \
                  -e 'GLOO_SOCKET_IFNAME=eth0,NCCL_SOCKET_IFNAME=eth0'

工作节点:

bash run_cluster.sh \
                  vllm/vllm-openai \
                  ip_of_head_node \
                  --worker \
                  /path/to/the/huggingface/home/in/this/node \
                  -e 'GLOO_SOCKET_IFNAME=eth0,NCCL_SOCKET_IFNAME=eth0'

接着分别安装好conda环境,conda环境包含:

pip install vllm
pip install ray

2.部署openai API形式的api推理服务

在主节点上输入:

python -m vllm.entrypoints.openai.api_server --model /Meta-Llama-3.1-405B-Instruct/  --trust-remote-code --tensor-parallel-size 16 --served-model-name llama3.1_405b --dtype bfloat16 --engine-use-ray

有两个点需要注意下,这种方式的ray集群启动,不能添加pipeline-parallel-size参数,而应在tensor-parallel-size中写入总的GPU数量。启动命令必须是“python -m vllm.entrypoints.openai.api_server”,不能是“vllm serve”或者是“python -m vllm.entrypoints.api_server”,不然在调用api时会报404和500错误。
api启动之后,推理服务的ip地址是0.0.0.0:8000,在调用的时候调用主节点ip会有响应,工作节点ip不行。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Llama3-8b是一个开源的聊天机器人模型,可以用于自然语言处理和对话生成任务。如果您希望进行私有化部署,可以按照以下步骤进行操作: 1. 获取源代码:首先,您需要从Llama3-8b的开源代码库中获取源代码。您可以在GitHub上找到该项目,并将其克隆到本地。 2. 环境配置:在进行私有化部署之前,您需要配置适当的环境。确保您的系统满足所需的软件和硬件要求,并安装必要的依赖项。 3. 数据准备:为了训练和使用Llama3-8b模型,您需要准备相应的数据集。这可能包括对话数据、语料库等。确保数据集的质量和多样性,以提高模型的性能。 4. 模型训练:使用准备好的数据集,您可以开始训练Llama3-8b模型。根据您的需求和资源情况,您可以选择在单个GPU或多个GPU上进行训练。训练过程可能需要一定的时间和计算资源。 5. 模型部署:一旦训练完成,您可以将Llama3-8b模型部署到私有环境中。这可能涉及将模型加载到服务器或云平台,并设置相应的API接口供其他应用程序调用。 6. 安全性和隐私保护:在进行私有化部署时,确保采取适当的安全措施来保护用户数据和系统安全。这可能包括数据加密、访问控制、身份验证等。 7. 持续优化和更新:私有化部署后,您可以根据实际需求对Llama3-8b模型进行持续优化和更新。这可能包括增加新的训练数据、微调模型参数等。 希望以上步骤对您进行Llama3-8b的私有化部署提供了一些指导。如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值