Meta 最新的 LLaMA 4 模型 Scout 与 Maverick,专为长上下文推理、多模态理解以及高效的大规模推理而打造。配合 vLLM 这一高吞吐量、兼容 OpenAI API 的推理引擎,这些模型即可用于实际生产场景。
在本文中,我将带您使用 vLLM 在多 GPU 的 RunPod 实例上部署 LLaMA 4 Scout,并通过本地或远程的 OpenAI 兼容 API 端点进行服务。我们将涵盖模型设置、部署,以及如何使用文本与图像输入与其交互的 API 示例。
完成本教程后,您还将获得两个完整的演示:
文本补全演示 :使用兼容 OpenAI 的 Python 代码与 LLaMA 4 对话,并探索其长上下文能力的简单界面。
多模态视觉演示 :基于 vLLM 多模态能力的界面,同时接收文本与图像输入,从 LLaMA 4 返回有据可依的视觉推理结果。
我们通过每周五免费通讯 The Median 为读者带来最新 AI 动态,精炼回顾本周重点事件。订阅即可每周用几分钟保持敏锐:
为何在 vLLM 上使用 LLaMA 4?
vLLM(virtual large language model)是 UC Berkeley Sky Computing Lab 最初开发的优化型 LLM 推理框架,引入了 PagedAttention 这一新型内存管理机制,最大限度减少 GPU 内存碎片,并为超长序列实现高效的键值缓存。想进一步了解,请查看这篇关于 vLLM 的教程。
vLLM 成为部署 LLaMA 4 的理想引擎,原因如下:
高吞吐、低延迟 :vLLM 的分页 KV 缓存使得即使在长上下文下也能高效推理。
多模态与长上下文就绪 :支持图像输入,并为 Scout 模型提供最高 1000 万 token 的上下文。
兼容 OpenAI :无需改动即可使用 OpenAI 的 SDK 与工具。
可扩展且高效利用 GPU :vLLM 充分利用多块 GPU——包括 H100、A100 与 MI300X——通过张量与内存并行实现高吞吐推理。
在 RunPod 上使用 vLLM 托管 LLaMA 4 Scout
本节将演示如何在 RunPod 上申请强大的多 GPU 实例,使用 vLLM 部署 Meta 的 LLaMA 4 Scout 模型,并为本地与远程推理开放 OpenAI 兼容 API。
步骤 1:设置您的 RunPod 环境
在启动模型前,请确保已完成 RunPod 账户设置:
登录 RunPod.io 并完成账单配置。
充值至少 $25,以确保本项目期间可运行大型 GPU 实例。
步骤 2:部署配备 H100 NVL GPU 的 pod
现在,我们来申请一台可托管 170 亿参数 LLaMA 4 Scout 模型的 pod:
进入 Pods 页面,点击 “Deploy a Pod”。
按显存筛选 GPU,将最小值设为 80 GB,并选择 H100 NVL。注意:LLaMA 4 Scout 至少需要 24 GB 显存。为获得最佳性能,我们将使用 4× H100 NVL。
向下滚动,为您的 pod 命名,例如 “LLAMA4_DEMO”。
在 Template 下点击 “Change Template”,选择 PyTorch 2.4.0。
点击 “Edit Template”,将 Container Disk 与 Volume Disk 都设置为 1000 GB,并应用覆盖。
(可选)将您的 Hugging Face 访问令牌添加到环境变量,以便下载模型。
将 GPU Count 设为 4,然后点击 “Deploy On-Demand”。
等待几分钟,直至 pod 供应完成。
步骤 3:连接到您的 pod
当 “Connect” 按钮变为紫色时,点击它。您会看到多种连接方式——可以:
打开 JupyterLab 终端执行 Shell 命令。
或使用 SSH 或 HTTP 端口进行远程控制。
步骤 4:安装 vLLM 与所需库
在 pod 内的终端中安装 vLLM 及其依赖。在 pod 环境中安装 vLLM 与其他库。
pip install -U vllm
pip install transformers accelerate pillow 技术支持
步骤 5:在 vLLM 上运行 LLaMA 4 Scout
接下来,使用以下命令启动 LLaMA 4 Scout 模型服务:
VLLM_DISABLE_COMPILE_CACHE = 1 vllm serve meta-llama/Llama-4-Scout-17B-16E-Instruct \
--tensor-parallel-size 4 \
--max-model-len 100000 --override-generation-config= '{"attn_temperature_tuning": true}' 技术支持
该命令将执行以下操作:
禁用 vLLM 的编译缓存,以加快启动速度。
通过张量并行在 4 块 GPU 上运行模型。
由于内存限制,将最大上下文长度设为 100,000 个 token。注意——如需运行 1000 万上下文长度,至少需要 8× H100 GPU。
启用注意力温度调优配置,以提升长上下文推理的准确性。
此时 API 已在 8000 端口运行,请在同一 pod 环境中新建一个 Jupyter Notebook。
使用 Llama 4 Scout 进行文本补全
在本演示中,我们将通过一个简单的 Python 脚本,使用 vLLM 提供服务的本地 LLaMA 4 Scout 模型进行交互。模型通过 API 暴露,使我们可以构建支持多轮对话的会话助手。
步骤 1:先决条件
我们将使用官方的 OpenAI Python SDK 与 vLLM API 通讯,并使用 Colorama 库实现终端彩色输出。可通过以下命令安装:
pip install openai colorama技术支持
安装完成后,导入必要模块:
from openai import OpenAI
from colorama import Fore, Style, init技术支持
步骤 2:初始化客户端
将 OpenAI 客户端指向本地运行的 vLLM 服务器。如果您的部署不需要 API 密钥(本地运行默认如此),可将密钥设为 "EMPTY":
init( autoreset= True )
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
api_key= openai_api_key,
base_url= openai_api_base,
) 技术支持
上述代码初始化了 Colorama,用于彩色终端输出并在每次打印后自动重置。随后通过 OpenAI 类配置了一个兼容 OpenAI 的客户端,指向本地托管的 vLLM API。
步骤 3:启动聊天循环
接下来实现一个简单循环,以便与模型持续交互。会话历史会在不同轮次间保留,从而实现多轮对话。
messages = [
{ "role" : "system" , "content" : "You are a helpful assistant." }
]
print ( "Start chatting with the assistant! Type 'exit' or 'quit' to end.\n" )
while True :
user_input = input ( f" { Fore. BLUE} User: { Style. RESET_ALL} " )
if user_input. strip( ) . lower( ) in [ "exit" , "quit" ] :
print ( "Exiting chat. Goodbye!" )
break
messages. append( { "role" : "user" , "content" : user_input} )
chat_response = client. chat. completions. create(
model= "meta-llama/Llama-4-Scout-17B-16E-Instruct" ,
messages= messages,
)
assistant_message = chat_response. choices[ 0 ] . message. content
print ( f" { Fore. GREEN} Assistant: { assistant_message} \n { Style. RESET_ALL} " )
messages. append( { "role" : "assistant" , "content" : assistant_message} ) 技术支持
该基于终端的简易聊天界面通过系统提示与会话历史初始化,循环持续接收用户输入。每条用户消息都会追加至历史,并通过 client.chat.completions.create() API 调用发送至 Llama-4-Scout-17B-16E-Instruct 模型。
模型回复将通过 Colorama 以绿色打印,并加入会话历史,直至用户输入 "exit" 或 "quit" 结束对话。
下一节我们将继续使用同一 API,演示如何通过图像 + 文本输入进行多模态推理。
使用 LLaMA 4 Scout 进行多模态图文推理
本演示将展示如何利用 vLLM 的原生多模态能力,向托管的 LLaMA 4 Scout 模型同时发送图像与文本输入。您可以通过同一个兼容 OpenAI 的 API 实现视觉推理、图像描述或多模态问答。
步骤 1:先决条件
本示例使用 OpenAI SDK 连接 vLLM 服务器。如尚未安装,可运行:
pip install openai技术支持
然后导入所需模块:
from openai import OpenAI技术支持
步骤 2:设置 API 客户端
通过兼容 OpenAI 的接口连接本地 vLLM 服务器。如果您的服务器不需要认证,请将 API 密钥设置为 " EMPTY"。
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
api_key= openai_api_key,
base_url= openai_api_base,
) 技术支持
以上代码片段初始化了一个用于本地推理的兼容 OpenAI 客户端,连接至 vLLM 服务器。api_key 设为 "EMPTY"(无需认证),base_url 指向本地 vLLM API 端点。
步骤 3:提交多模态提示
现在我们发送包含图像与文本指令的对话提示。LLaMA 4 Scout 将结合图像与查询进行处理,并返回描述性回答。
messages = [
{
"role" : "user" ,
"content" : [
{ "type" : "image_url" , "image_url" : { "url" : image_url1} } ,
{ "type" : "text" , "text" : "Can you describe what's in this image?" }
]
}
]
chat_response = client. chat. completions. create(
model= "meta-llama/Llama-4-Scout-17B-16E-Instruct" ,
messages= messages,
)
print ( "Response:" , chat_response. choices[ 0 ] . message. content) 技术支持
在使用 LLaMA 4 Scout 进行多模态推理时,我们构造包含图像 URL 与文本提示的聊天式输入,遵循 OpenAI 聊天模式的结构。通过 client.chat.completions.create() 将该多模态请求发送至模型,模型会联合分析图像与文本并生成具备语境的信息性回复。
结语
本教程中,我们在 RunPod 上使用 vLLM 托管了 Meta 的 LLaMA 4 Scout 模型,通过兼容 OpenAI 的端点实现了文本与多模态推理。凭借 vLLM 的高吞吐与 RunPod 的强大算力,我们构建了一个具备长上下文与视觉能力、同时具备成本效益的前沿 LLM 服务方案。
如需进一步了解 LLaMA 4 与 vLLM,请查看:
Meta 最新的 LLaMA 4 模型 Scout 与 Maverick,专为长上下文推理、多模态理解以及高效的大规模推理而打造。配合 vLLM 这一高吞吐量、兼容 OpenAI API 的推理引擎,这些模型即可用于实际生产场景。
在本文中,我将带您使用 vLLM 在多 GPU 的 RunPod 实例上部署 LLaMA 4 Scout,并通过本地或远程的 OpenAI 兼容 API 端点进行服务。我们将涵盖模型设置、部署,以及如何使用文本与图像输入与其交互的 API 示例。
完成本教程后,您还将获得两个完整的演示:
我们通过每周五免费通讯 The Median 为读者带来最新 AI 动态,精炼回顾本周重点事件。订阅即可每周用几分钟保持敏锐:
为何在 vLLM 上使用 LLaMA 4?
vLLM(virtual large language model)是 UC Berkeley Sky Computing Lab 最初开发的优化型 LLM 推理框架,引入了 PagedAttention 这一新型内存管理机制,最大限度减少 GPU 内存碎片,并为超长序列实现高效的键值缓存。想进一步了解,请查看这篇关于vLLM的教程。
vLLM 成为部署 LLaMA 4 的理想引擎,原因如下:
在 RunPod 上使用 vLLM 托管 LLaMA 4 Scout
本节将演示如何在 RunPod 上申请强大的多 GPU 实例,使用 vLLM 部署 Meta 的 LLaMA 4 Scout 模型,并为本地与远程推理开放 OpenAI 兼容 API。
步骤 1:设置您的 RunPod 环境
在启动模型前,请确保已完成 RunPod 账户设置:
步骤 2:部署配备 H100 NVL GPU 的 pod
现在,我们来申请一台可托管 170 亿参数 LLaMA 4 Scout 模型的 pod:
等待几分钟,直至 pod 供应完成。
步骤 3:连接到您的 pod
当 “Connect” 按钮变为紫色时,点击它。您会看到多种连接方式——可以:
步骤 4:安装 vLLM 与所需库
在 pod 内的终端中安装 vLLM 及其依赖。在 pod 环境中安装 vLLM 与其他库。
步骤 5:在 vLLM 上运行 LLaMA 4 Scout
接下来,使用以下命令启动 LLaMA 4 Scout 模型服务:
该命令将执行以下操作:
此时 API 已在 8000 端口运行,请在同一 pod 环境中新建一个 Jupyter Notebook。
使用 Llama 4 Scout 进行文本补全
在本演示中,我们将通过一个简单的 Python 脚本,使用 vLLM 提供服务的本地 LLaMA 4 Scout 模型进行交互。模型通过 API 暴露,使我们可以构建支持多轮对话的会话助手。
步骤 1:先决条件
我们将使用官方的 OpenAI Python SDK 与 vLLM API 通讯,并使用 Colorama 库实现终端彩色输出。可通过以下命令安装:
安装完成后,导入必要模块:
步骤 2:初始化客户端
将 OpenAI 客户端指向本地运行的 vLLM 服务器。如果您的部署不需要 API 密钥(本地运行默认如此),可将密钥设为 "EMPTY":
上述代码初始化了 Colorama,用于彩色终端输出并在每次打印后自动重置。随后通过 OpenAI 类配置了一个兼容 OpenAI 的客户端,指向本地托管的 vLLM API。
步骤 3:启动聊天循环
接下来实现一个简单循环,以便与模型持续交互。会话历史会在不同轮次间保留,从而实现多轮对话。
该基于终端的简易聊天界面通过系统提示与会话历史初始化,循环持续接收用户输入。每条用户消息都会追加至历史,并通过
client.chat.completions.create()API 调用发送至Llama-4-Scout-17B-16E-Instruct模型。模型回复将通过 Colorama 以绿色打印,并加入会话历史,直至用户输入 "exit" 或 "quit" 结束对话。
下一节我们将继续使用同一 API,演示如何通过图像 + 文本输入进行多模态推理。
使用 LLaMA 4 Scout 进行多模态图文推理
本演示将展示如何利用 vLLM 的原生多模态能力,向托管的 LLaMA 4 Scout 模型同时发送图像与文本输入。您可以通过同一个兼容 OpenAI 的 API 实现视觉推理、图像描述或多模态问答。
步骤 1:先决条件
本示例使用 OpenAI SDK 连接 vLLM 服务器。如尚未安装,可运行:
然后导入所需模块:
步骤 2:设置 API 客户端
通过兼容 OpenAI 的接口连接本地 vLLM 服务器。如果您的服务器不需要认证,请将 API 密钥设置为 "EMPTY"。
以上代码片段初始化了一个用于本地推理的兼容 OpenAI 客户端,连接至 vLLM 服务器。
api_key设为 "EMPTY"(无需认证),base_url指向本地 vLLM API 端点。步骤 3:提交多模态提示
现在我们发送包含图像与文本指令的对话提示。LLaMA 4 Scout 将结合图像与查询进行处理,并返回描述性回答。
在使用 LLaMA 4 Scout 进行多模态推理时,我们构造包含图像 URL 与文本提示的聊天式输入,遵循 OpenAI 聊天模式的结构。通过
client.chat.completions.create()将该多模态请求发送至模型,模型会联合分析图像与文本并生成具备语境的信息性回复。结语
本教程中,我们在 RunPod 上使用 vLLM 托管了 Meta 的 LLaMA 4 Scout 模型,通过兼容 OpenAI 的端点实现了文本与多模态推理。凭借 vLLM 的高吞吐与 RunPod 的强大算力,我们构建了一个具备长上下文与视觉能力、同时具备成本效益的前沿 LLM 服务方案。
如需进一步了解 LLaMA 4 与 vLLM,请查看: