Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
SDK de personalización de Nova
El SDK de personalización de Nova es un completo SDK de Python para personalizar los modelos de Amazon Nova. El SDK proporciona una interfaz unificada para el entrenamiento, la evaluación, el monitoreo, la implementación y la inferencia de los modelos de Amazon Nova en diferentes plataformas, incluidas SageMaker AI y Amazon Bedrock. Ya sea que esté adaptando los modelos a tareas específicas de un dominio u optimizando el rendimiento para su caso de uso, este SDK proporciona todo lo que necesita en una interfaz unificada.
Ventajas
-
Un SDK para todo el ciclo de vida de la personalización del modelo, desde la preparación de los datos hasta la implementación y la supervisión.
-
Support para múltiples métodos de entrenamiento, incluidos el ajuste fino supervisado (SFT) y el ajuste fino por refuerzo (RFT), con enfoques LoRa y de rango completo.
-
Soporte integrado para trabajos de formación de SageMaker IA y gestión automática de recursos. SageMaker HyperPod
-
Ya no tendrás que buscar las recetas o el URI de contenedor adecuados para tus técnicas de entrenamiento.
-
Crea tus propias recetas de entrenamiento o usa los valores predeterminados inteligentes del SDK con modificaciones de parámetros.
-
El SDK valida la configuración comparándola con las combinaciones de modelos e instancias compatibles, lo que evita errores antes de que comience el entrenamiento.
-
La CloudWatch monitorización integrada de Amazon te permite realizar un seguimiento del progreso de la formación en tiempo real.
Requisitos
El SDK requiere al menos Python 3.12.
Instalación
Para instalar este SDK, sigue el siguiente comando.
pip install amzn-nova-customization-sdk
Modelos y técnicas compatibles
El SDK admite los siguientes modelos y técnicas de la familia Amazon Nova:
| Método | Modelos compatibles |
|---|---|
| Optimización supervisada de LoRa | Todos los modelos Nova |
| Clasificación completa supervisada | Todos los modelos Nova |
| LoRa de ajuste fino de refuerzos | Nova Lite 2.0 |
| Refuerzo: ajuste fino de rango completo | Nova Lite 2.0 |
Introducción
Temas
1. Prepare sus datos
Carga tu conjunto de datos desde archivos locales o desde S3 y deja que el SDK se encargue de la transformación al formato correcto para el método de entrenamiento que hayas elegido. O bien, proporciona datos formateados y comienza de inmediato.
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. Configure su infraestructura
Elija sus recursos informáticos: el SDK valida las configuraciones y garantiza una configuración óptima.
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. Entrenamiento
Comience a entrenar con solo unas pocas líneas de código.
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. Supervisión
Realiza un seguimiento del progreso de tu entrenamiento directamente desde el 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. Evalúa
Evalúe el rendimiento del modelo con una variedad de puntos de referencia integrados o diseñe sus propias evaluaciones.
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. Implementación
Implemente su modelo personalizado en producción con el soporte integrado para 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 )
Capacidades clave
Creación de recetas sobre la marcha
El SDK elimina la necesidad de buscar las recetas o el URI del contenedor adecuados para técnicas específicas.
Procesamiento inteligente de datos
El SDK transforma automáticamente los datos en el formato correcto para el entrenamiento. Ya sea que trabajes con archivos JSON, JSONL o CSV, el cargador de datos gestiona la conversión sin problemas. El cargador de datos admite texto y datos multimodales (imágenes y vídeos).
Enterprise Infrastructure Support
El SDK funciona tanto con los trabajos SageMaker de formación como con SageMaker HyperPod la administración automática de:
-
Validación del tipo de instancia
-
Validación de receta
-
Organización y supervisión de trabajos
Evaluación integral
Evalúe sus modelos personalizados comparándolos con puntos de referencia estándar, que incluyen:
-
MMLU (comprensión masiva del lenguaje multitarea)
-
BBH (tareas de razonamiento avanzado)
-
GPQA (preguntas y respuestas a nivel de posgrado a prueba de Google)
Utilice los valores predeterminados del punto de referencia o modifíquelos para que se ajusten a sus necesidades:
-
BYOM (traiga su propia métrica)
-
BYOD (traiga su propio conjunto de datos)
Despliegue en producción
Implemente sus modelos en Amazon Bedrock con opciones para:
-
Rendimiento aprovisionado: capacidad dedicada para un rendimiento uniforme
-
Bajo demanda: precios Pay-per-use
Inferencia en lotes
Ejecute trabajos de inferencia a gran escala de manera eficiente:
-
Procese miles de solicitudes en paralelo
-
Agregación automática de resultados
-
Procesamiento por lotes rentable
Más información
¿Está preparado para empezar a personalizar los modelos de Nova con el SDK de personalización de Nova? Consulte nuestro GitHub repositorio para obtener guías detalladas, referencias de API y ejemplos adicionales:/https://github.com/aws-samples/sample-nova-customization-sdk