前言
Llama3.1 的发布迅速引起全球关注,这标志着开源模型首次在某些指标上接近甚至超越闭源模型。本文将介绍如何从零开始,使用 Novita AI GPU 实例部署 Llama3.1-405B 模型的方法与步骤。特别说明:从零部署大模型是一项耗时费力的工作,如果希望避免这种繁琐的工作,并希望直接使用 Llama3.1-405B 模型,可以在行业中找到优秀的模型托管平台,以 OpenAI API 的形式调用推理服务。它不仅易于使用,而且成本非常友好,总体成本很低且可控。目前 Novita AI 已经推出了 Llama3.1 的 API 服务,您可以在 Playground 直接体验:https://novita.ai/model-api/llm-api/playground
Llama3.1-405B 部署的基本要求
Meta 开源的 Llama3.1 系列模型包括 8B、70B、405B 三种尺寸,其中 405B 模型是迄今为止最大的开源大语言模型,参数规模达 405 亿。该模型在多项评估结果中的表现已超越 GPT-4 和 GPT-4o 模型,与 Claude3.5-Sonnet 性能相当。将如此大的模型加载到 GPU 中具有挑战性。原始 FP16 版本的 405B 模型需要 810GB 的 GPU 显存,如下图所示。但即使使用市场上最高规格的 GPU H100,最高 8 卡配置的服务器也无法直接加载该版本的模型。必须将 FP16 版本的模型量化为精度更低的表示形式,从而降低对显存的需求,并成功加载到 GPU 中。

Llama3.1 系列模型的架构继承自 Llama3,结构非常相似,这对推理框架非常友好。vLLM 等开源推理方案能够快速完成适配,并支持 Llama3.1-405B 等大模型的推理。总之,要完成 Llama3.1-405B 推理服务的部署,我们需要从三个方面进行准备:
- 硬件:建议选择配置 8 块 H00 GPU 的 GPU 服务器实例,并预留约 1.5TB 存储空间。您可以通过 Novita AI 控制台选择实例,并通过挂载网络卷提供存储容量。

- 模型:准备 Huggingface 账户,下载原始 Llama3.1-405B 模型,或者下载 FP8 或 INT4 版本的模型。
- 推理框架:下载最新版本的 vLLM v0.5.3.post1。
模型准备
准备好 8 卡 H100 GPU 服务器后,登录服务器并开始下载模型。此处介绍下载 FP16 版本模型并手动转换为 FP8 和 INT4 量化版本的方法(当然,您也可以直接在 Huggingface 平台下载量化模型)。建议从 Huggingface 平台下载 Instruct 版本。首先注册并登录 Huggingface 平台,在设置页面创建并保存当前用户的 Access Token,下载模型时会用到。打开 Llama3.1-405B 模型主页:https://huggingface.co/meta-llama/Meta-Llama-3.1-405B-Instruct,向 Meta 提交模型申请,等待约半小时授权。回到 GPU 服务器,安装 Huggingface 客户端程序并开始下载模型,命令如下:
pip install huggingface-hub
huggingface-cli login ## 输入 Access Token
huggingface-cli download meta-llama/Meta-Llama-3.1-405B-Instruct ## 开始下载 405B 大模型
经过漫长等待(取决于当前网络速度),800GB 的 405B 大模型成功下载到本地,通过调用 “huggingface-cli scan-cache” 可以查看具体模型信息。接下来对原始模型进行 FP8 和 INT4 量化。首先下载 FP8 量化工具,可直接使用开源 AutoFP8:https://github.com/neuralmagic/AutoFP8,并使用其中的脚本进行手动量化,量化模式为动态,如下所示:
git clone https://github.com/neural
magic/AutoFP8.git
cd AutoFP8
pip install -e . ## 本地编译安装 AutoFP8 工具
python3 examples/quantize.py --model-id meta-llama/Meta-Llama-3.1-405B-Instruct --save-dir Meta-Llama-3-8B-Instruct-fp8 --activation-scheme dynamic --max-seq-len 2048 --num-samples 2048
量化脚本通过 “–save-dir” 指定量化模型的输出路径。由于是仅权重量化,整体速度非常快。您也可以直接下载 Meta 量化的 FP8 版本:https://huggingface.co/meta-llama/Meta-Llama-3.1-405B-Instruct-FP8。下载命令如下:huggingface-cli download meta-llama/Meta-Llama-3.1-405B-Instruct-FP8与 FP8 量化类似,可以使用开源 AutoAWQ 进行 INT4 版本量化。该量化方案的地址为:https://github.com/casper-hansen/AutoAWQ。量化方法如下:
git clone https://github.com/casper-hansen/AutoAWQ.git
cd AutoAWQ
pip install -e . ## 本地编译安装 AutoAWQ 工具
## 手动修改 examples/quantize.py
model_path = 'meta-llama/Meta-Llama-3.1-405B-Instruct'
quant_path = 'meta-llama/Meta-Llama-3.1-405B-Instruct-awq'
# 开始量化
python examples/quantize.py
构建推理框架
得益于开源社区的强力支持,vLLM 被公认为工业级的高效推理框架,并且对大模型的支持非常丰富,更新也及时。从 v0.5.3.post1 版本开始,vLLM 支持 Llama3.1 系列模型的推理服务。下载 vLLM 源码并编译的方法如下:
git clone https://github.com/vllm-project/vllm
cd vllm
git checkout -b v0.5.3.post1 v0.5.3.post1
pip install -e .
编译成功后,即可启动推理服务。除了本地编译 vLLM,您还可以将 vLLM 编译为 docker 镜像,如下所示:
git clone https://github.com/vllm-project/vllm
cd vllm
git checkout -b v0.5.3.post1 v0.5.3.post1
docker build -t vllm_0.5.3.p1 .
您也可以直接下载官方 vLLM 镜像:
docker pull vllm/vllm-openai:v0.5.3.post1
运行推理服务
完成 vLLM 推理框架的构建后,即可启动 vLLM 并加载 Llama3.1-405B 模型,开始推理服务。对于本地编译的 vLLM 推理框架,需要切换到 vLLM 源码的根目录,然后运行以下命令启动推理服务:
cd vllm
python3 -m vllm.entrypoints.openai.api_server --port 18001 --model meta-llama/Meta-Llama-3.1-405B-Instruct-FP8 --tensor-parallel-size 8 --pipeline-parallel-size 1 --swap-space 16 --gpu-memory-utilization 0.99 --dtype auto --served-model-name llama31-405b-fp8 --max-num-seqs 32 --max-model-len 32768 --max-num-batched-tokens 32768 --max-seq-len-to-capture 32768
如果在 docker 容器中运行推理服务,可以参考以下命令:
docker run -d --gpus all --privileged --ipc=host --net=host vllm/vllm-openai:v0.5.3.post1 --port 18001 --model meta-llama/Meta-Llama-3.1-405B-Instruct-FP8 --tensor-parallel-size 8 --pipeline-parallel-size 1 --swap-space 16 --gpu-memory-utilization 0.99 --dtype auto --served-model-name llama31-405b-fp8 --max-num-seqs 32 --max-model-len 32768 --max-num-batched-tokens 32768 --max-seq-len-to-capture 32768
一旦 vLLM 推理框架成功运行,它将开始监听。
Novita AI 是一个一站式云平台,助力您的 AI 愿景。集成 API、无服务器、GPU 实例——您需要的经济高效的工具。消除基础设施障碍,免费开始使用,让您的 AI 愿景成为现实。
推荐阅读:
