Nova Forge SDK - Amazon Nova

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

Nova Forge SDK

Nova Forge SDK 是用於自訂 Amazon Nova 模型的全方位 Python SDK。開發套件提供統一的界面,用於跨 SageMaker AI 和 Amazon Bedrock 等不同平台訓練、評估、監控、部署和推論 Amazon Nova 模型。無論您是針對特定領域的任務調整模型,還是針對您的使用案例最佳化效能,此 SDK 都能在一個統一的界面中提供所需的一切。

優勢

  • 一個適用於整個模型自訂生命週期的開發套件,從資料準備到部署和監控。

  • 支援多種訓練方法,包括持續訓練前 (CPT)、監督式微調 (SFT)、直接偏好最佳化 (DPO) 和強化微調 (RFT),包括單迴轉和多迴轉,同時採用 LoRA 和全排名方法。

  • 內建支援 SageMaker Training Jobs、SageMaker HyperPod 和 Amazon Bedrock,具有自動資源管理。

  • 您不再需要為您的訓練技術尋找正確的配方或容器 URI。

  • 使用您自己的訓練配方,或使用 SDK 的智慧型預設值搭配參數覆寫。

  • 開發套件會根據支援的模型和執行個體組合來驗證您的組態,並提供驗證支援,在訓練開始之前防止錯誤。

  • 整合式 Amazon CloudWatch 監控可讓您即時追蹤訓練進度。

  • 整合 MLFlow 以使用 SageMaker AI MLFlow 追蹤伺服器追蹤訓練實驗。

要求

SDK 至少需要 Python 3.12。

安裝

若要安裝此 SDK,請遵循下列命令。

pip install amzn-nova-forge

支援的模型和技術

開發套件支援 Amazon Nova 系列中的下列模型和技術:

Method 支援模型
持續預先訓練 所有 Nova 模型 (僅限 SMHP)
受監督的微調 LoRA 所有 Nova 模型
受監督的微調完整範圍 所有 Nova 模型 (僅限 SMHP 和 SMTJ)
直接偏好設定最佳化 LoRA Nova 1.0 模型 (僅限 SMHP 和 SMTJ)
直接偏好設定最佳化完整排名 Nova 1.0 模型 (僅限 SMHP 和 SMTJ)
強化微調 LoRA Nova Lite 2.0
強化微調完整範圍 Nova Lite 2.0 (僅限 SMHP 和 SMTJ)
多迴轉強化微調 LoRA Nova Lite 2.0 (僅限 SMHP)
多迴轉強化微調全執行 Nova Lite 2.0 (僅限 SMHP)

開始使用

1. 準備您的資料

從本機檔案或 S3 載入資料集,並讓軟體開發套件針對您選擇的訓練方法處理轉換至正確的格式。或者,提供格式化的資料並立即開始使用。

from amzn_nova_forge.dataset.dataset_loader import JSONLDatasetLoader from amzn_nova_forge.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_forge.manager.runtime_manager import BedrockRuntimeManager, SMTJRuntimeManager, SMHPRuntimeManager # Bedrock runtime = BedrockRuntimeManager( execution_role="arn:aws:iam::123456789012:role/ExampleRole" ) # 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_forge.model import NovaModelCustomizer from amzn_nova_forge.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_forge.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_forge.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 或 SageMaker 的內建支援,將自訂模型部署至生產環境。

from amzn_nova_forge.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, unit_count=10 ) # Bedrock On-Demand deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD ) # Sagemaker Real-time Inference deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.SAGEMAKER, unit_count=10, sagemaker_instance_type="ml.p5.48xlarge", sagemaker_environment_variables={ "CONTEXT_LENGTH": "12000", "MAX_CONCURRENCY": "16", } )

關鍵功能

在飛行配方建立上

SDK 不需要搜尋適當的配方或容器 URI 以取得特定技術。

智慧型資料處理

軟體開發套件會自動將您的資料轉換為正確的訓練格式。無論您是使用 JSON、JSONL 或 CSV 檔案,資料載入器都會順暢地處理轉換。Data Loader 支援文字和多模式資料 (影像和影片)。

企業基礎設施支援

開發套件可與 SageMaker 訓練任務和 SageMaker HyperPod 搭配使用,自動管理:

  • 執行個體類型驗證

  • 配方驗證

  • 資料集驗證

  • 任務協調和監控

軟體開發套件也支援 SageMaker Training Jobs 無伺服器和 Bedrock 自訂。

全面評估

根據標準基準評估您的自訂模型,包括:

  • MMLU (基本多任務語言理解)

  • BBH (進階推理任務)

  • GPQA (研究生層級 Google-Proof 問與答)

您可以使用基準預設值,或修改它們以符合您的需求:

  • BYOM (使用您自己的指標)

  • BYOD (使用您自己的資料集)

生產部署

使用下列選項將模型部署至 Amazon Bedrock 或 SageMaker:

  • Bedrock 佈建輸送量 - 提供一致效能的專用容量

  • Bedrock 隨需 (僅適用於 LoRA 型自訂) - Pay-per-use定價

  • Sagemaker 即時推論 - 提供一致效能的專用容量

批次推論

有效率地執行大規模推論任務:

  • 平行處理數千個請求

  • 自動結果彙總

  • 經濟實惠的批次處理

新堡

對於 Nova Forge 訂閱者,開發套件支援資料混合配方。

進一步了解

準備好開始使用 Nova Forge SDK 自訂 Nova 模型了嗎? 如需詳細指南、API 參考和其他範例,請參閱我們的 GitHub 儲存庫:https://https://github.com/aws/nova-forge-sdk