Nova 自訂 SDK - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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/