Creazione di una scheda modello - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di una scheda modello

Importante

IAMLe politiche personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L'autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic taggano automaticamente tutte le risorse che creano. Se una IAM politica consente a Studio e Studio Classic di creare risorse ma non consente l'aggiunta di tag, si possono verificare errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta Fornisci le autorizzazioni per etichettare le risorse SageMaker.

AWS Policy gestite per Amazon SageMakerche concedono le autorizzazioni per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Puoi creare una Amazon SageMaker Model Card utilizzando la SageMaker console o SageMaker PythonSDK. Puoi anche utilizzare le API operazioni direttamente. Per ulteriori informazioni sulle API operazioni, vedereBasso livello SageMaker APIs per le schede modello.

Crea un modello di scheda utilizzando la SageMaker console

Vai alla SageMaker console Amazon. Nel riquadro di navigazione, in Governance, scegli Schede modello. Nell'angolo in alto a destra, scegli Crea scheda modello.

Segui le quattro fasi indicate nel prompt Crea scheda modello per documentare i dettagli sul tuo modello.

Fase 1: inserimento dei dettagli del modello e dell'uso previsto

Se il modello è una AWS risorsa, specifica il nome esatto del modello in questo campo per compilare automaticamente i dettagli del modello. Per sfogliare i nomi dei modelli esistenti, consulta Modelli nella SageMaker console Amazon. A ogni nome di modello univoco può essere associata una sola scheda modello.

Se il tuo modello non è una AWS risorsa, fornisci un nome univoco per il tuo modello. Per aggiungere un modello come AWS risorsa, consulta Create a model nell'Amazon SageMaker Developer Guide. In alternativa, puoi aggiungere il tuo modello come pacchetto modello utilizzando SageMakerMarketplace o SageMaker Model Registry.

Per ulteriori informazioni sugli usi previsti, consulta Usi previsti di un modello. Per ulteriori informazioni sulle valutazioni del rischio, consulta Valutazioni del rischio.

Fase 2: inserimento dei dettagli di addestramento

Aggiungi tutti i dettagli sull'addestramento, le osservazioni sull'addestramento, i set di dati, gli iperparametri e i dettagli sulla funzione obiettivo del modello alla scheda modello.

La funzione obiettivo in una scheda modello può essere qualsiasi funzione ottimizzata durante l'addestramento. Ciò può includere, a titolo esemplificativo, funzioni di costo, funzioni di perdita o metriche oggettive. In questa sezione, documenta la funzione oggettiva più importante per addestrare il modello.

Ti consigliamo di catalogare i seguenti attributi della tua funzione obiettivo:

  • Direzione dell'ottimizzazione

  • Parametro

  • Descrizione

Ad esempio, è possibile ridurre al minimo (direzione di ottimizzazione) la perdita di entropia incrociata (metrica) per un problema di classificazione binaria (descrizione) o massimizzare la probabilità di regressione logistica. Inoltre, puoi fornire note sul motivo per cui hai scelto questa funzione oggettiva rispetto ad altre.

Fase 3: inserimento dei dettagli di valutazione

Se disponete di report di valutazione esistenti generati da SageMaker Clarify o Model Monitor, fornite un S3 URI per tali report o caricateli manualmente per aggiungerli alla scheda modello.

Per ulteriori informazioni su SageMaker Clarify, consulta Run SageMaker Clarify Processing Jobs for Bias Analysis and Explainability.

Per ulteriori informazioni sul monitoraggio della variazione delle metriche di qualità dei modelli utilizzando Model Monitor, consulta Monitoraggio della qualità dei modelli.

Per aggiungere il tuo rapporto di valutazione, scegli Valutazione della scheda modello generica. Tutti i report di valutazione delle schede modello devono essere contenuti in JSONSchema della scheda modello.

Fase 4: inserimento di ulteriori dettagli

Aggiungi campi con i dettagli della scheda modello personalizzati per tutte le informazioni aggiuntive che desideri inserire nella tua scheda modello. Ad esempio, potresti includere il campo personalizzato Linea di business con il valore Finanze personali.

Salvataggio della scheda modello

Dopo aver esaminato le informazioni nella scheda modello, scegli Salva nell'angolo in basso a destra per salvare la scheda modello.

Crea una scheda modello usando SageMaker Python SDK

Prima di creare una scheda modello, è necessario definire il contenuto della scheda modello. Quando si utilizza SageMaker PythonSDK, il contenuto del modello è costituito da una panoramica del modello, dettagli di formazione, usi previsti, dettagli di valutazione e informazioni aggiuntive.

È possibile creare schede modello per:

  • Modelli ospitati all'interno SageMaker

  • Pacchetti di modelli (modelli) all'interno del SageMaker Model Registry

  • Modelli ospitati o registrati al di fuori di SageMaker

È inoltre possibile creare schede modello senza associarvi alcun modello.

Ti consigliamo di aggiungere i modelli che hai addestrato al SageMaker Model Registry. Il registro dei modelli consente di catalogare i modelli e tenere traccia delle versioni dei modelli. Quando si crea una scheda modello, le informazioni sul modello contenute nel registro dei modelli vengono inserite automaticamente nella scheda modello. È possibile modificare la scheda modello o aggiungervi informazioni dopo averla creata.

Per ulteriori informazioni sul registro dei modelli, consulta Distribuzione della registrazione dei modelli con Model Registry. Per informazioni sulla creazione di una scheda modello da un registro dei modelli, consulta Crea una scheda modello per il tuo modello nel Model SageMaker Registry.

Nota

Per usare le schede modello con SageMaker PythonSDK, devi prima stabilire una SageMaker Session. Per ulteriori informazioni, vedere Session nel riferimento SageMaker Python SDKAPI.

Per creare una scheda modello per modelli che non sono presenti nel SageMaker Model Registry, consultaCreazione di un modello che non si trova nel registro dei modelli.

Creazione di un modello che non si trova nel registro dei modelli

Utilizza le informazioni contenute nelle sezioni seguenti per creare una scheda modello per un modello che non hai aggiunto al registro dei modelli.

Fase 1: definizione della panoramica del modello

Definisci una panoramica del tuo modello.

model_overview = ModelOverview.from_model_name( model_name=model_name, sagemaker_session=sagemaker_session, model_description="A-description-of-your-model", problem_type="Problem-type", # For example, "Binary Classification" algorithm_type="Algorithm-type", # For example, "Logistic Regression" model_creator="Name-of-model-creator", model_owner="Name-of-model-owner", )

Se il modello è una AWS risorsa, le informazioni di panoramica come il modelloARN, il contenitore URI di inferenza e la posizione S3 degli artefatti del modello sono recuperabili automaticamente. Stampa i metadati associati con i seguenti comandi AWS :

print(model_overview.model_id) print(model_overview.inference_environment.container_image) print(model_overview.model_artifact)

Fase 2: definizione dei dettagli dell'addestramento

Per definire i dettagli di addestramento del modello, è necessario innanzitutto definire la sua funzione obiettivo.

objective_function = ObjectiveFunction( function=Function( function=ObjectiveFunctionEnum.MINIMIZE, facet=FacetEnum.LOSS, ), notes="An-explanation-about-objective-function", )

Successivamente, è possibile definire i dettagli dell'addestramento utilizzando la panoramica del modello esistente, la sessione e la funzione obiettivo. Aggiungi qui eventuali osservazioni sull'addestramento.

training_details = TrainingDetails.from_model_overview( model_overview=model_overview, sagemaker_session=sagemaker_session, objective_function=objective_function, training_observations="Model-training-observations", )

Ancora una volta, se il modello è una AWS risorsa, alcuni dettagli di addestramento vengono compilati automaticamente. Stampa il processo di formazioneARN, il contenitore URI di formazione e le metriche di formazione con i seguenti comandi:

print(training_details.training_job_details.training_arn) print(training_details.training_job_details.training_environment.container_image) print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics])

Definizione dei dettagli di valutazione

Per definire i dettagli di valutazione del modello, è necessario innanzitutto definire uno o più gruppi di metriche per descrivere le metriche utilizzate per qualsiasi lavoro di valutazione.

my_metric_group = MetricGroup( name="binary classification metrics", metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)] )

Successivamente, è possibile definire i dettagli della valutazione utilizzando metriche di valutazione e set di dati per ciascun lavoro di valutazione. Aggiungi qui eventuali osservazioni di valutazione e assegna al tuo lavoro di valutazione un nome univoco.

evaluation_details = [ EvaluationJob( name="Example-evaluation-job", evaluation_observation="Evaluation-observations", datasets=["s3://path/to/evaluation/data"], metric_groups=[my_metric_group], ) ]

Se disponi di report di valutazione esistenti generati da SageMakerClarify o SageMaker Model Monitor, caricali su Amazon S3 e fornisci un URI S3 per analizzare automaticamente i parametri di valutazione. Per aggiungere un report di valutazione della scheda modello generica, fornisci un rapporto nel formato dei risultati della valutazione. JSON

report_type = "clarify_bias.json" example_evaluation_job.add_metric_group_from_json( f"example_metrics/{report_type}", EvaluationMetricTypeEnum.CLARIFY_BIAS )

Fase 3: definizione degli usi previsti

Definisci gli usi previsti del modello, compresi lo scopo generale del modello e i casi d'uso per i quali è stato progettato. Si consiglia inoltre di includere tutti i fattori che potrebbero influire sull'efficacia di questo modello in un particolare caso d'uso e la valutazione del rischio del modello da parte dell'organizzazione. Per ulteriori informazioni, consulta Usi previsti di un modello e Valutazioni del rischio.

intended_uses = IntendedUses( purpose_of_model="Purpose-of-the-model", intended_uses="The-intended-uses-of-this-model", factors_affecting_model_efficiency="Any-factors-effecting-model-efficacy", risk_rating=RiskRatingEnum.LOW, explanations_for_risk_rating="Explanation-for-low-risk-rating", )

Definizione delle informazioni aggiuntive

Infine, è possibile aggiungere ulteriori informazioni personalizzate alla scheda modello. È possibile documentare eventuali considerazioni etiche, avvertenze e raccomandazioni relative al modello. Puoi anche aggiungere dettagli personalizzati sotto forma di coppie chiave-valore.

additional_information = AdditionalInformation( ethical_considerations="Any-ethical-considerations", caveats_and_recommendations="Any-caveats-and-recommendations", custom_details={"custom details1": "details-value"}, )

Fase 4: creazione della scheda modello

Assegna un nome alla tua scheda modello, definisci una scheda modello e poi usa quella definizione per creare una scheda modello usando SageMaker PythonSDK.

model_card_name = "my-model-card" my_card = ModelCard( name=model_card_name, status=ModelCardStatusEnum.DRAFT, model_overview=model_overview, training_details=training_details, intended_uses=intended_uses, evaluation_details=evaluation_details, additional_information=additional_information, sagemaker_session=sagemaker_session, ) my_card.create()

Crea una scheda modello per il tuo modello nel Model SageMaker Registry

Prima di iniziare a creare una scheda modello, assicurati di aver creato un gruppo di pacchetti di modelli e un pacchetto di modelli. Per ulteriori informazioni sul registro dei modelli, consulta Distribuzione della registrazione dei modelli con Model Registry.

Importante

È necessario disporre delle autorizzazioni per utilizzare le operazioni in SageMaker Model Registry. Si consiglia di utilizzare una politica AmazonSageMakerModelRegistryFullAccess AWS gestita. Per ulteriori informazioni sulla policy gestita, consulta AWS Politiche gestite per Model Registry.

Usa SageMaker Python SDK per creare una scheda modello per un pacchetto modello all'interno del Model Registry SageMaker . Un pacchetto di modelli è un modello che hai addestrato. Quando crei una scheda modello, Amazon SageMaker Model Cards importa automaticamente i dati dal pacchetto modello nella scheda modello.

Quando crei una scheda modello per un pacchetto modello, Amazon SageMaker Model Card utilizza l'DescribeModelPackageoperazione per aggiungere i dati dal pacchetto modello alla scheda modello. Di seguito sono riportati alcuni esempi di campi che possono essere importati da un pacchetto di modelli in una scheda modello:

Utilizza il codice seguente per definire il pacchetto di modelli e crearne una scheda modello:

mp_details = ModelPackage.from_model_package_arn( model_package_arn="example_model_package_arn", sagemaker_session=sagemaker_session, ) model_card_name = "example-model-card" my_card = ModelCard( name=model_card_name, status=ModelCardStatusEnum.status, model_package_details=mp_details, sagemaker_session=sagemaker_session, ) my_card.create()

Per status, stai specificando lo stato di approvazione della scheda modello. Se non specifichi uno stato, SageMaker Model Cards utilizza il valore predefinito diDRAFT. Se non si specifica una SageMaker sessione, SageMaker Model Cards utilizza la SageMaker sessione predefinita.

È necessario specificare un nome per il modello e l'Amazon Resource Name (ARN) del pacchetto del modello. Per informazioni su come ottenere Amazon Resource Name (ARN) per il pacchetto modello, consultaVisualizza e aggiorna i dettagli di una versione del modello (Boto3).

La scheda modello che hai creato a partire dal pacchetto di modelli potrebbe contenere informazioni mancanti o imprecise. È possibile modificare la scheda modello o aggiungervi informazioni dopo averla creata. Per ulteriori informazioni sulla gestione delle schede modello, consulta Azioni delle carte modello.

SageMaker Model Registry supporta il controllo delle versioni dei pacchetti modello. È possibile modificare la versione del pacchetto di modelli e creare una scheda modello per ogni versione. Le informazioni delle schede modello delle versioni precedenti vengono trasferite alle schede modello create dalle versioni successive. Ad esempio, potresti avere la versione 1, la versione 2 e la versione 3 di un pacchetto di modelli. Supponiamo di aver già creato una scheda modello per la versione 1, ma di non averne creata una per la versione 2. Se crei una scheda modello per la versione 3, Amazon SageMaker Model Cards trasferisce automaticamente le informazioni dalla scheda modello per la versione 1 alla scheda modello per la versione 3.

Nota

Puoi anche creare schede modello per pacchetti di modelli che non utilizzano il controllo delle versioni. Tuttavia, la maggior parte dei flussi di lavoro di machine learning coinvolge più versioni dello stesso modello, quindi ti consigliamo di procedere come segue:

  1. Creazione di una versione per ogni pacchetto di modelli

  2. Creazione di una scheda modello per ogni versione del pacchetto di modelli