本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Nova 自訂 SDK
Nova Customization SDK 是用於自訂 Amazon Nova 模型的全方位 Python SDK。開發套件提供統一的界面,用於跨 SageMaker AI 和 Amazon Bedrock 等不同平台訓練、評估、監控、部署和推論 Amazon Nova 模型。無論您是針對特定領域的任務調整模型,還是針對您的使用案例最佳化效能,此 SDK 都能在一個統一的界面中提供所需的一切。
優勢
-
一個適用於整個模型自訂生命週期的開發套件,從資料準備到部署和監控。
-
支援多種訓練方法,包括監督式微調 (SFT) 和強化微調 (RFT),同時採用 LoRA 和全階方法。
-
內建支援 SageMaker AI 訓練任務和 SageMaker HyperPod,具有自動資源管理。
-
您不再需要為您的訓練技術尋找正確的配方或容器 URI。
-
使用您自己的訓練配方,或使用 SDK 的智慧型預設值搭配參數覆寫。
-
開發套件會根據支援的模型和執行個體組合來驗證您的組態,避免在訓練開始之前發生錯誤。
-
整合式 Amazon CloudWatch 監控可讓您即時追蹤訓練進度。
要求
SDK 至少需要 Python 3.12。
安裝
若要安裝此 SDK,請遵循下列命令。
pip install amzn-nova-customization-sdk
支援的模型和技術
開發套件支援 Amazon Nova 系列中的下列模型和技術:
| Method | 支援模型 |
|---|---|
| 受監督的微調 LoRA | 所有 Nova 模型 |
| 受監督的微調完整範圍 | 所有 Nova 模型 |
| 強化微調 LoRA | Nova Lite 2.0 |
| 強化微調完整執行 | Nova Lite 2.0 |
開始使用
1. 準備您的資料
從本機檔案或 S3 載入資料集,並讓 SDK 針對您選擇的訓練方法處理轉換至正確的格式。或者,提供格式化資料並立即開始使用。
from amzn_nova_customization_sdk.dataset.dataset_loader import JSONLDatasetLoader from amzn_nova_customization_sdk.model.model_enums import Model, TrainingMethod loader = JSONLDatasetLoader(question="input", answer="output") loader.load("s3://your-bucket/training-data.jsonl") loader.transform(method=TrainingMethod.SFT_LORA, model=Model.NOVA_LITE)
2. 設定您的基礎設施
選擇您的運算資源 - SDK 會驗證組態,並確保最佳設定。
from amzn_nova_customization_sdk.manager.runtime_manager import SMTJRuntimeManager, SMHPRuntimeManager # SageMaker Training Jobs runtime = SMTJRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4 ) # SageMaker HyperPod runtime = SMHPRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4, cluster_name="my-hyperpod-cluster", namespace="kubeflow" )
3. 訓練
只需幾行程式碼即可開始訓練。
from amzn_nova_customization_sdk.model import NovaModelCustomizer from amzn_nova_customization_sdk.model.model_enums import Model, TrainingMethod customizer = NovaModelCustomizer( model=Model.NOVA_LITE_2, method=TrainingMethod.SFT_LORA, infra=runtime, data_s3_path="s3://your-bucket/prepared-data.jsonl" ) result = customizer.train(job_name="my-training-job")
4. 監控
直接從 SDK 追蹤您的訓練進度。
from amzn_nova_customization_sdk.monitor.log_monitor import CloudWatchLogMonitor # Monitor training logs customizer.get_logs() # Or monitor directly via CloudWatchLogMonitor monitor = CloudWatchLogMonitor.from_job_result(result) monitor.show_logs(limit=10) # Check job status result.get_job_status() # InProgress, Completed, Failed
5. 評估
使用各種內建基準評估模型效能,或設計您自己的評估。
from amzn_nova_customization_sdk.recipe_config.eval_config import EvaluationTask # Evaluate on benchmark tasks eval_result = customizer.evaluate( job_name="model-eval", eval_task=EvaluationTask.MMLU, model_path=result.model_artifacts.checkpoint_s3_path )
6. 部署
透過 Amazon Bedrock 的內建支援,將自訂模型部署至生產環境。
from amzn_nova_customization_sdk.model.model_enums import DeployPlatform # Bedrock provisioned throughput deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_PT, pt_units=10 ) # Bedrock On-Demand deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD, pt_units=10 )
關鍵功能
在飛行配方建立上
SDK 不需要搜尋適當的配方或容器 URI 以取得特定技術。
智慧資料處理
開發套件會自動將您的資料轉換為正確的訓練格式。無論您是使用 JSON、JSONL 或 CSV 檔案,資料載入器都會順暢地處理轉換。Data Loader 支援文字和多模式資料 (影像和影片)。
企業基礎設施支援
開發套件可搭配 SageMaker 訓練任務和 SageMaker HyperPod 使用,自動管理:
-
執行個體類型驗證
-
配方驗證
-
任務協調和監控
全面評估
根據標準基準評估您的自訂模型,包括:
-
MMLU (基本多任務語言理解)
-
BBH (進階推理任務)
-
GPQA (研究生層級 Google-Proof 問與答)
您可以使用基準預設值,或修改它們以符合您的需求:
-
BYOM (使用您自己的指標)
-
BYOD (使用您自己的資料集)
生產部署
使用下列選項將模型部署至 Amazon Bedrock:
-
佈建輸送量 - 提供一致效能的專用容量
-
隨需 - Pay-per-use定價
批次推論
有效率地執行大規模推論任務:
-
平行處理數千個請求
-
自動結果彙總
-
經濟實惠的批次處理
進一步了解
準備好開始使用 Nova Customization SDK 自訂 Nova 模型了嗎? 如需詳細指南、API 參考和其他範例,請參閱我們的 GitHub 儲存庫:https://https://github.com/aws-samples/sample-nova-customization-sdk/