在 AWS 上部署的文件
快速入門 - 使用 SageMaker Jumpstart 部署 Hugging Face 模型
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
快速入門 - 使用 SageMaker Jumpstart 部署 Hugging Face 模型
為什麼使用 SageMaker JumpStart 部署 Hugging Face 模型?
Amazon SageMaker JumpStart 允許您一鍵部署最流行的 Hugging Face 開源模型,並將其部署到您自己的 AWS 賬戶中。JumpStart 提供了一個精選的模型檢查點選擇,適用於各種任務,包括文字生成、嵌入、視覺、音訊等。大多數模型使用官方的Hugging Face 深度學習容器進行部署,並採用合理的預設例項型別,因此您可以在幾分鐘內從想法變為生產。
在本快速入門指南中,我們將部署Qwen/Qwen2.5-14B-Instruct。
1. 先決條件
| 要求 | |
|---|---|
| 已啟用 SageMaker 的 AWS 賬戶 | 一個包含您所有 AWS 資源的 AWS 賬戶。 |
| 一個用於訪問 SageMaker AI 的 IAM 角色 | 在本指南中瞭解有關 IAM 如何與 SageMaker AI 配合使用的更多資訊。 |
| SageMaker Studio 域和使用者配置檔案 | 我們建議使用 SageMaker Studio 進行直接部署和推理。請遵循此指南。 |
| 服務配額 | 大多數 LLM 需要 GPU 例項(例如 ml.g5)。請驗證您是否有 `ml.g5.24xlarge` 的配額,或者請求增加配額。 |
2· 端點部署
讓我們解釋一下如何透過 Jumpstart 目錄部署 Hugging Face 模型到 SageMaker
- 開啟 SageMaker → JumpStart。
- 篩選“Hugging Face”或搜尋您的模型(例如 Qwen2.5-14B)。
- 單擊“部署”→(可選)調整例項大小/數量→“部署”。
- 等待直到“端點”顯示為“正在服務”。
- 複製端點名稱(或 ARN)以備後用。
或者,您也可以瀏覽 Hugging Face 模型中心
- 開啟模型頁面 → 點選“部署”→ SageMaker → 如果模型可用,則選擇“Jumpstart”選項卡。
- 複製程式碼片段並從 SageMaker Notebook 例項中使用它。
# SageMaker JumpStart provides APIs as part of SageMaker SDK that allow you to deploy and fine-tune models in network isolation using scripts that SageMaker maintains.
from sagemaker.jumpstart.model import JumpStartModel
model = JumpStartModel(model_id="huggingface-llm-qwen2-5-14b-instruct")
example_payloads = model.retrieve_all_examples()
predictor = model.deploy()
for payload in example_payloads:
response = predictor.predict(payload.body)
print("Input:\n", payload.body[payload.prompt_key])
print("Output:\n", response[0]["generated_text"], "\n\n===============\n")端點建立可能需要幾分鐘,具體取決於模型的大小。
3. 互動式測試
如果您透過控制檯部署,您需要獲取端點 ARN 並在程式碼中重複使用。
from sagemaker.predictor import retrieve_default
endpoint_name = "MY ENDPOINT NAME"
predictor = retrieve_default(endpoint_name)
payload = {
"messages": [
{
"role": "system",
"content": "You are a passionate data scientist."
},
{
"role": "user",
"content": "what is machine learning?"
}
],
"max_tokens": 2048,
"temperature": 0.7,
"top_p": 0.9,
"stream": False
}
response = predictor.predict(payload)
print(response)該端點支援 OpenAI API 規範。
4. 清理
為避免產生不必要的費用,完成後,請在“部署”→“端點”控制檯中或使用以下程式碼片段刪除 SageMaker 端點
predictor.delete_model() predictor.delete_endpoint()