在 Kubernetes 或任何云上运行 Llama 4#

Llama 4 系列由 Meta 于 2025 年 4 月 5 日发布。

先决条件#

运行 Llama 4#

sky launch llama4.yaml -c llama4 --env HF_TOKEN

user-attachments/assets

llama4.yaml 文件如下所示

envs:
  MODEL_NAME: meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8
  HF_TOKEN: # TODO: Fill with your own huggingface token, or use --env to pass.

resources:
  accelerators: { H100:8, H200:8, B100:8, B200:8, GB200:8 }
  cpus: 32+
  disk_size: 512  # Ensure model checkpoints can fit.
  disk_tier: best
  ports: 8081  # Expose to internet traffic.

setup: |
  uv pip install vllm==0.8.3

run: |
  echo 'Starting vllm api server...'

  vllm serve $MODEL_NAME \
    --port 8081 \
    --tensor-parallel-size $SKYPILOT_NUM_GPUS_PER_NODE \
    --max-model-len 430000

您可以通过设置不同的 MODEL_NAME 来使用其他模型。

sky launch llama4.yaml -c llama4 --env HF_TOKEN --env MODEL_NAME=meta-llama/Llama-4-Scout-17B-16E-Instruct

🎉 恭喜! 🎉 您已在您的基础设施上成功启动 Llama 4 Maverick Instruct LLM。

使用 OpenAI API 与 Llama 4 聊天#

使用 curl 调用 /v1/chat/completions

ENDPOINT=$(sky status --endpoint 8081 llama4)

curl http://$ENDPOINT/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Who are you?"
      }
    ]
  }' | jq .

停止实例

sky stop llama4

关闭所有资源

sky down llama4

服务部署 Llama-4:使用 SkyServe 进行扩缩容#

无需更改 YAML 文件,即可在您的基础设施上启动完全托管的服务

HF_TOKEN=xxx sky serve up llama4.yaml -n llama4 --env HF_TOKEN

等待服务就绪

watch -n10 sky serve status llama4
示例输出
Services
NAME   VERSION  UPTIME  STATUS  REPLICAS  ENDPOINT
llama4 1        35s     READY   2/2       xx.yy.zz.100:30001

Service Replicas
SERVICE_NAME  ID  VERSION  IP            LAUNCHED     RESOURCES                  STATUS  REGION
llama4        1   1        xx.yy.zz.121  18 mins ago  1x GCP([Spot]{'H100': 8})  READY   us-east4
llama4        2   1        xx.yy.zz.245  18 mins ago  1x GCP([Spot]{'H100': 8})  READY   us-east4

获取在副本间进行负载均衡的单一端点

ENDPOINT=$(sky serve status --endpoint llama4)

提示:SkyServe 完全管理副本的生命周期。例如,如果 Spot 副本被抢占,控制器将自动替换它。这显著降低了运维负担,同时节省了成本。

使用 curl 调用端点

curl http://$ENDPOINT/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Who are you?"
      }
    ]
  }' | jq .

关闭所有资源

sky serve down llama4

更多详情请参见SkyServe 文档

社区教程:在 SGLang 上运行 Llama 4,通过 SkyServe 进行服务部署#

有关如何在 SGLang 上服务部署 Llama 4(单节点和多节点)的社区教程,请参见使用 SkyPilot 和 SGLang 在 Nebius AI 云上服务部署 Llama 4 模型