Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Cách Triển Khai Llama 4 lên AWS, Azure & Hugging Face

中村 拓也

中村 拓也

Updated on tháng 4 7, 2025

Hướng dẫn này cung cấp các hướng dẫn từng bước để triển khai các mô hình Llama 4 của Meta (Scout và Maverick) trên ba nền tảng chính: AWS, Azure và Hugging Face. Các mô hình này mang lại khả năng nâng cao bao gồm xử lý đa phương thức, cửa sổ ngữ cảnh lớn và hiệu suất tối tân.

💡
Mẹo cho nhà phát triển: Trước khi bắt đầu triển khai, hãy xem xét việc nâng cấp bộ công cụ thử nghiệm API của bạn! Apidog cung cấp một giải pháp thay thế trực quan hơn, phong phú tính năng hơn cho Postman với hỗ trợ tốt hơn cho các điểm cuối của mô hình AI, thử nghiệm hợp tác và tài liệu API tự động. Quy trình triển khai LLM của bạn sẽ cảm ơn bạn vì đã thực hiện sự chuyển đổi này.
button

Các yêu cầu & Yêu cầu phần cứng cho việc triển khai Llama 4

  • Quyền truy cập vào các mô hình Llama 4 thông qua thỏa thuận cấp phép của Meta
  • Tài khoản Hugging Face có mã thông báo READ
  • Tài khoản AWS, Azure hoặc Hugging Face Pro nếu cần cho mục tiêu triển khai của bạn
  • Hiểu biết cơ bản về containerization và dịch vụ đám mây

AWS (thông qua TensorFuse)

  • Scout: 8x GPU H100 cho 1 triệu token ngữ cảnh
  • Maverick: 8x GPU H100 cho 430K token ngữ cảnh
  • Giải pháp thay thế: 8x GPU A100 (cửa sổ ngữ cảnh giảm)

Azure

(Điều này phù hợp với các hướng dẫn ML chung của Azure cho các mô hình ngôn ngữ lớn, nhưng không có tài liệu cụ thể về Llama 4 nào được tìm thấy để xác nhận yêu cầu chính xác.)

  • Khuyến nghị: ND A100 v4-series (8 GPU NVIDIA A100)
  • Tối thiểu: Standard_ND40rs_v2 hoặc cao hơn

Hugging Face

  • Khuyến nghị: Phần cứng A10G-Large
  • Giải pháp thay thế: A100-Large (tùy chọn phần cứng cao cấp)
  • Phần cứng miễn phí không đủ cho các mô hình đầy đủ

1. Triển khai Llama 4 lên AWS sử dụng TensorFuse

1.1 Thiết lập AWS và TensorFuse

Cài đặt TensorFuse CLI:

pip install tensorfuse

Cấu hình thông tin xác thực AWS:

aws configure

Khởi tạo TensorFuse với tài khoản AWS của bạn:

tensorkube init

1.2 Tạo bí mật cần thiết

Lưu trữ mã thông báo Hugging Face của bạn:

tensorkube secret create hugging-face-secret YOUR_HF_TOKEN --env default HUGGING_FACE_HUB_TOKEN=

Tạo mã thông báo xác thực API:

tensorkube secret create vllm-token vllm-key --env default VLLM_API_KEY=

1.3 Tạo Dockerfile cho Llama 4

Đối với mô hình Scout:

FROM vllm/vllm-openai:v0.8.3
ENV HF_HUB_ENABLE_HF_TRANSFER=1
EXPOSE 80
ENTRYPOINT ["python3", "-m", "vllm.entrypoints.openai.api_server", \\\\
            "--model", "meta-llama/Llama-4-Scout-17B-16E-Instruct", \\\\
            "--dtype", "bfloat16", \\\\
            "--trust-remote-code", \\\\
            "--tensor-parallel-size", "8", \\\\
            "--max-model-len", "1000000", \\\\
            "--port", "80", \\\\
            "--override-generation-config", "{\\\\"attn_temperature_tuning\\\\": true}", \\\\
            "--limit-mm-per-prompt", "image=10", \\\\
            "--kv-cache-dtype", "fp8", \\\\
            "--api-key", "${VLLM_API_KEY}"]

Đối với mô hình Maverick:

FROM vllm/vllm-openai:v0.8.3
ENV HF_HUB_ENABLE_HF_TRANSFER=1
EXPOSE 80
ENTRYPOINT ["python3", "-m", "vllm.entrypoints.openai.api_server", \\\\
            "--model", "meta-llama/Llama-4-Maverick-17B-128E-Instruct", \\\\
            "--dtype", "bfloat16", \\\\
            "--trust-remote-code", \\\\
            "--tensor-parallel-size", "8", \\\\
            "--max-model-len", "430000", \\\\
            "--port", "80", \\\\
            "--override-generation-config", "{\\\\"attn_temperature_tuning\\\\": true}", \\\\
            "--limit-mm-per-prompt", "image=10", \\\\
            "--kv-cache-dtype", "fp8", \\\\
            "--api-key", "${VLLM_API_KEY}"]

1.4 Tạo cấu hình triển khai

Tạo deployment.yaml:

gpus: 8
gpu_type: h100
secret:
  - huggingfacesecret
  - vllmtoken
min-scale: 1
readiness:
  httpGet:
    path: /health
    port: 80

1.5 Triển khai lên AWS

Triển khai dịch vụ của bạn:

tensorkube deploy --config-file ./deployment.yaml

1.6 Truy cập dịch vụ đã triển khai

Liệt kê các triển khai để lấy URL điểm cuối của bạn:

tensorkube deployment list

Kiểm tra việc triển khai của bạn:

curl --request POST \\\\
  --url YOUR_APP_URL/v1/completions \\\\
  --header 'Content-Type: application/json' \\\\
  --header 'Authorization: Bearer vllm-key' \\\\
  --data '{
    "model": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
    "prompt": "Earth to Llama 4. Bạn có thể làm gì?",
    "max_tokens": 1000
  }'

2. Triển khai Llama 4 lên Azure

2.1 Thiết lập Khung làm việc ML của Azure

Cài đặt Azure CLI và các tiện ích mở rộng ML:

pip install azure-cli azure-ml
az login

Tạo khung làm việc ML của Azure:

az ml workspace create --name llama4-workspace --resource-group your-resource-group

2.2 Tạo Cụm Tính Toán

az ml compute create --name llama4-cluster --type amlcompute --min-instances 0 \\\\
  --max-instances 1 --size Standard_ND40rs_v2 --vnet-name your-vnet-name \\\\
  --subnet your-subnet --resource-group your-resource-group --workspace-name llama4-workspace

2.3 Đăng ký mô hình Llama 4 trong Azure ML

Tạo model.yml:

$schema: <https://azuremlschemas.azureedge.net/latest/model.schema.json>
name: llama-4-scout
version: 1
path: .
properties:
  model_name: "meta-llama/Llama-4-Scout-17B-16E-Instruct"

Đăng ký mô hình:

az ml model create --file model.yml --resource-group your-resource-group --workspace-name llama4-workspace

2.4 Tạo cấu hình triển khai

Tạo deployment.yml:

$schema: <https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json>
name: llama4-deployment
endpoint_name: llama4-endpoint
model: azureml:llama-4-scout@latest
instance_type: Standard_ND40rs_v2
instance_count: 1
environment_variables:
  HUGGING_FACE_HUB_TOKEN: ${{secrets.HF_TOKEN}}
  VLLM_API_KEY: ${{secrets.VLLM_KEY}}
environment:
  image: vllm/vllm-openai:v0.8.3
  conda_file: conda.yml

Tạo conda.yml:

channels:
  - conda-forge
dependencies:
  - python=3.10
  - pip
  - pip:
    - vllm==0.8.3
    - transformers
    - accelerate

2.5 Tạo điểm cuối và triển khai

az ml online-endpoint create --name llama4-endpoint \\\\
  --resource-group your-resource-group --workspace-name llama4-workspace

az ml online-deployment create --file deployment.yml \\\\
  --resource-group your-resource-group --workspace-name llama4-workspace

2.6 Kiểm tra việc triển khai

az ml online-endpoint invoke --name llama4-endpoint --request-file request.json \\\\
  --resource-group your-resource-group --workspace-name llama4-workspace

Nơi mà request.json chứa:

{
  "model": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
  "prompt": "Earth to Llama 4. Bạn có thể làm gì?",
  "max_tokens": 1000
}

3. Triển khai Llama 4 lên Hugging Face

3.1 Thiết lập tài khoản Hugging Face

  1. Tạo một tài khoản Hugging Face tại https://huggingface.co/
  2. Chấp nhận thỏa thuận cấp phép cho các mô hình Llama 4 tại https://huggingface.co/meta-llama

3.2 Triển khai sử dụng Hugging Face Spaces

Đi đến https://huggingface.co/spaces và nhấp vào "Tạo Không gian mới"

Cấu hình Không gian của bạn:

  • Tên: llama4-deployment
  • Giấy phép: Chọn giấy phép phù hợp
  • SDK: Chọn Gradio
  • Phần cứng Không gian: A10G-Large (để có hiệu suất tốt nhất)
  • Hiển thị: Riêng tư hoặc Công khai tùy thuộc vào nhu cầu của bạn

Clone kho lưu trữ không gian:

git clone <https://huggingface.co/spaces/YOUR_USERNAME/llama4-deployment>
cd llama4-deployment

3.3 Tạo các tệp ứng dụng

Tạo app.py:

import gradio as gr
import torch
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
import os

# Thêm mã thông báo HF của bạn vào môi trường hoặc Secrets
os.environ["HUGGING_FACE_HUB_TOKEN"] = "YOUR_HF_TOKEN"

# Tải mô hình và bộ mã hóa với cấu hình phù hợp
model_id = "meta-llama/Llama-4-Scout-17B-16E-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True
)

# Tạo pipeline
pipe = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    max_length=2048
)

def generate_text(prompt, max_length=1000, temperature=0.7):
    # Định dạng prompt theo định dạng Llama 4
    formatted_prompt = f"<|begin_of_text|><|user|>\\\\n{prompt}<|end_of_text|>\\\\n<|assistant|>"

    outputs = pipe(
        formatted_prompt,
        max_length=len(tokenizer.encode(formatted_prompt)) + max_length,
        temperature=temperature,
        do_sample=True,
    )

    return outputs[0]['generated_text'].replace(formatted_prompt, "")

# Tạo giao diện Gradio
demo = gr.Interface(
    fn=generate_text,
    inputs=[
        gr.Textbox(lines=4, placeholder="Nhập prompt của bạn ở đây...", label="Prompt"),
        gr.Slider(minimum=100, maximum=2000, value=1000, step=100, label="Độ dài tối đa"),
        gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Nhiệt độ")
    ],
    outputs="text",
    title="Demo Llama 4",
    description="Tạo văn bản sử dụng mô hình Llama 4 của Meta",
)

demo.launch()

Tạo requirements.txt:

accelerate>=0.20.3
bitsandbytes>=0.41.1
gradio>=3.50.0
torch>=2.0.1
transformers>=4.34.0

3.4 Triển khai lên Hugging Face

Đẩy lên Không gian Hugging Face của bạn:

git add app.py requirements.txt
git commit -m "Thêm triển khai Llama 4"
git push

3.5 Theo dõi việc triển khai

  1. Truy cập URL Không gian của bạn: https://huggingface.co/spaces/YOUR_USERNAME/llama4-deployment
  2. Build đầu tiên sẽ mất thời gian vì cần tải xuống và thiết lập mô hình
  3. Khi đã triển khai, bạn sẽ thấy một giao diện Gradio nơi bạn có thể tương tác với mô hình

4. Kiểm tra và tương tác với các triển khai của bạn

4.1 Sử dụng máy khách Python để truy cập API (AWS & Azure)

import openai

# Đối với AWS
client = openai.OpenAI(
    base_url="YOUR_AWS_URL/v1",  # Từ danh sách triển khai tensorkube
    api_key="vllm-key"  # Mã thông báo API đã cấu hình của bạn
)

# Đối với Azure
client = openai.AzureOpenAI(
    azure_endpoint="YOUR_AZURE_ENDPOINT",
    api_key="YOUR_API_KEY",
    api_version="2023-05-15"
)

# Thực hiện yêu cầu hoàn thành văn bản
response = client.completions.create(
    model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
    prompt="Viết một bài thơ ngắn về trí tuệ nhân tạo.",
    max_tokens=200
)

print(response.choices[0].text)

# Đối với các khả năng đa phương thức (nếu được hỗ trợ)
import base64

# Tải hình ảnh dưới dạng base64
with open("image.jpg", "rb") as image_file:
    image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

# Tạo hoàn thành trò chuyện với hình ảnh
response = client.chat.completions.create(
    model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Mô tả hình ảnh này:"},
                {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}}
            ]
        }
    ],
    max_tokens=300
)

print(response.choices[0].message.content)

Kết luận

Bây giờ bạn đã có hướng dẫn từng bước để triển khai các mô hình Llama 4 trên AWS, Azure và Hugging Face. Mỗi nền tảng đều cung cấp những lợi thế khác nhau:

  • AWS với TensorFuse: Kiểm soát toàn diện, khả năng mở rộng cao, hiệu suất tốt nhất
  • Azure: Tích hợp với hệ sinh thái Microsoft, dịch vụ ML được quản lý
  • Hugging Face: Thiết lập đơn giản nhất, tuyệt vời cho việc prototyping và demo

Chọn nền tảng phù hợp nhất với yêu cầu cụ thể của bạn về chi phí, quy mô, hiệu suất và dễ dàng quản lý.