As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criar um cartão de modelo
Importante
IAMPolíticas personalizadas que permitem que o Amazon SageMaker Studio ou o Amazon SageMaker Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma IAM política permitir que o Studio e o Studio Classic criem recursos, mas não permita a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter mais informações, consulte Forneça permissões para marcar recursos SageMaker.
AWS Políticas gerenciadas para a Amazon SageMakerque dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.
Você pode criar um Amazon SageMaker Model Card usando o SageMaker console ou o SageMaker PythonSDK. Você também pode usar as API operações diretamente. Para obter mais informações sobre as API operações, consulteNível baixo SageMaker APIs para cartões de modelo.
Crie uma placa modelo usando o SageMaker console
Acesse o SageMaker console da Amazon. No painel de navegação, em Governança, escolha Cartões de modelo. No canto superior direito, escolha Criar cartão de modelo.
Siga as quatro etapas na solicitação Criar cartão de modelo para documentar detalhes sobre seu modelo.
Etapa 1: insira os detalhes do modelo e o uso pretendido
Se seu modelo for um AWS recurso, especifique o nome exato do modelo nesse campo para preencher automaticamente os detalhes do modelo. Para pesquisar nomes de modelos existentes, consulte Modelos no SageMaker console da Amazon. Cada nome de modelo exclusivo pode ter somente um cartão de modelo associada.
Se seu modelo não for um AWS recurso, forneça um nome exclusivo para seu modelo. Para adicionar um modelo como AWS recurso, consulte Criar um modelo no Amazon SageMaker Developer Guide. Como alternativa, você pode adicionar seu modelo como um pacote de modelos usando o SageMakerMarketplace ou o SageMaker Model Registry.
Para obter mais informações sobre os usos pretendidos, consulte Usos pretendidos de um modelo. Para obter mais informações sobre classificações de risco, consulte Classificações de risco.
Etapa 2: Inserir detalhes do treinamento
Adicione os detalhes de treinamento, observações de treinamento, conjuntos de dados, hiperparâmetros e detalhes sobre a função objetiva do modelo ao cartão de modelo.
A função objetiva em um cartão de modelo pode ser qualquer função otimizada durante o treinamento. Isso pode incluir, mas não está limitado a, funções de custo, funções de perda ou métricas objetivas. Nesta seção, documente a função objetiva que é mais crítica para treinar seu modelo.
Recomendamos que você catalogue os seguintes atributos da sua função objetiva:
-
Direção da otimização
-
Métrica
-
Descrição
Por exemplo, você pode minimizar (direção de otimização) a perda de entropia cruzada (métrica) para um problema de classificação binária (descrição) ou maximizar a probabilidade de regressão logística. Além disso, você pode fornecer notas sobre por que escolheu essa função objetiva em vez de outras.
Etapa 3: Inserir detalhes da avaliação
Se você tiver relatórios de avaliação existentes gerados pelo SageMaker Clarify ou pelo Model Monitor, forneça um S3 URI para esses relatórios ou carregue-os manualmente para adicioná-los ao cartão modelo.
Para obter mais informações sobre o SageMaker Clarify, consulte Executar trabalhos de processamento do SageMaker Clarify para análise de viés e explicabilidade.
Para obter mais informações sobre como monitorar o desvio nas métricas de qualidade do modelo usando o Model Monitor, consulte Monitorar a qualidade do modelo.
Para adicionar seu próprio relatório de avaliação, escolha Avaliação do cartão de modelo genérico. Todos os relatórios de avaliação do cartão de modelo devem estar no JSONEsquema do cartão modelo.
Etapa 4: Inserir detalhes adicionais
Adicione campos personalizados de detalhes do cartão de modelo para qualquer informação adicional que você queira abordar no seu cartão de modelo. Por exemplo, você pode incluir o campo personalizado Linha de negócios com um valor de Finanças pessoais.
Salvar modelo de cartão
Após revisar as informações em seu cartão de modelo, escolha Salvar no canto inferior direito para salvar seu cartão de modelo.
Crie um cartão de modelo usando o SageMaker Python SDK
Antes de criar um cartão de modelo, você deve primeiro definir o conteúdo do seu cartão de modelo. Ao usar o SageMaker PythonSDK, o conteúdo do modelo consiste em uma visão geral do modelo, detalhes do treinamento, usos pretendidos, detalhes da avaliação e informações adicionais.
Você pode criar cartões de modelo para:
-
Modelos que estão hospedados em SageMaker
-
Pacotes de modelos (modelos) dentro do Registro de SageMaker Modelos
-
Modelos hospedados ou registrados fora do SageMaker
Você também pode criar cartões de modelo sem associar nenhum modelo a eles.
Recomendamos adicionar os modelos que você treinou ao Registro de SageMaker modelos. O registro do modelo ajuda você a catalogar modelos e rastrear versões de modelos. Quando você cria um cartão de modelo, as informações sobre o modelo do registro do modelo preenchem automaticamente o cartão de modelo. Você pode editar o cartão de modelo ou adicionar informações a ele após criá-lo.
Para obter mais informações sobre registro do modelo, consulte Implantação de registro de modelo com registro de modelos. Para obter informações sobre como criar um cartão de modelo a partir de um registro do modelo, consulte Crie um cartão de modelo para seu SageMaker modelo no Registro de modelos.
nota
Para usar placas de modelo com o SageMaker PythonSDK, primeiro você precisa estabelecer uma SageMaker sessão. Para obter mais informações, consulte Session
Para criar um cartão de modelo para modelos que não estão no Registro de SageMaker modelos, consulteCriar um modelo que não está no registro do modelo.
Criar um modelo que não está no registro do modelo
Use as informações nas seções a seguir para criar um cartão de modelo para um modelo que você não adicionou ao registro do modelo.
Etapa 1: Definir a visão geral do modelo
Defina uma visão geral do seu modelo.
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 seu modelo for um AWS recurso, as informações gerais, como o modeloARN, o contêiner de inferência e a localização dos artefatos do modelo no S3URI, poderão ser recuperadas automaticamente. Imprima os AWS metadados associados com os seguintes comandos:
print(model_overview.model_id) print(model_overview.inference_environment.container_image) print(model_overview.model_artifact)
Etapa 2: Definir detalhes do treinamento
Para definir os detalhes de treinamento do seu modelo, você deve primeiro definir sua função objetiva.
objective_function = ObjectiveFunction( function=Function( function=ObjectiveFunctionEnum.MINIMIZE, facet=FacetEnum.LOSS, ), notes=
"An-explanation-about-objective-function"
, )
Em seguida, você pode definir os detalhes do treinamento usando a visão geral do modelo, a sessão e a função objetiva existentes. Adicione todas as observações de treinamento aqui.
training_details = TrainingDetails.from_model_overview( model_overview=model_overview, sagemaker_session=sagemaker_session, objective_function=objective_function, training_observations="
Model-training-observations
", )
Mais uma vez, se seu modelo for um AWS recurso, certos detalhes do treinamento serão preenchidos automaticamente. Imprima o trabalho de treinamentoARN, o contêiner URI de treinamento e as métricas de treinamento com os seguintes comandos:
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])
Definir detalhes da avaliação
Para definir os detalhes da avaliação do seu modelo, você deve primeiro definir um ou mais grupos de métricas para descrever as métricas usadas em qualquer tarefa de avaliação.
my_metric_group = MetricGroup( name=
"binary classification metrics"
, metric_data=[Metric(name="accuracy"
, type=MetricTypeEnum.NUMBER
, value=0.5
)] )
Em seguida, você pode definir os detalhes da avaliação usando métricas de avaliação e os conjuntos de dados para cada trabalho de avaliação. Adicione todas as observações de avaliação aqui e dê um nome exclusivo ao seu trabalho de avaliação.
evaluation_details = [ EvaluationJob( name="
Example-evaluation-job
", evaluation_observation="Evaluation-observations"
, datasets=["s3://path/to/evaluation/data
"], metric_groups=[my_metric_group
], ) ]
Se você tiver relatórios de avaliação existentes gerados pelo SageMakerClarify ou pelo SageMaker Model Monitor, faça o upload deles para o Amazon S3 e forneça um S3 URI para analisar automaticamente as métricas de avaliação. Para adicionar seu próprio relatório genérico de avaliação do cartão modelo, forneça um relatório no JSONformato de resultados da avaliação.
report_type =
"clarify_bias.json"
example_evaluation_job.add_metric_group_from_json( f"example_metrics/{report_type}", EvaluationMetricTypeEnum.CLARIFY_BIAS )
Etapa 3: Definir usos pretendidos
Defina os usos pretendidos do modelo, incluindo o propósito geral do modelo e os casos de uso para os quais ele foi destinado. Também é recomendável incluir quaisquer fatores que possam afetar a eficácia desse modelo em um caso de uso específico e a classificação de risco do modelo da sua organização. Para ter mais informações, consulte Usos pretendidos de um modelo e Classificações de risco.
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"
, )
Definir informações adicionais
Por fim, você pode adicionar informações personalizadas adicionais ao seu modelo de cartão. Você pode documentar quaisquer considerações éticas, advertências e recomendações sobre o modelo. Você também pode adicionar quaisquer detalhes personalizados na forma de pares chave-valor.
additional_information = AdditionalInformation( ethical_considerations=
"Any-ethical-considerations"
, caveats_and_recommendations="Any-caveats-and-recommendations"
, custom_details={"custom details1"
:"details-value"
}, )
Etapa 4: Criar cartão de modelo
Nomeie sua placa modelo, defina uma placa modelo e use essa definição para criar uma placa modelo usando o 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()
Crie um cartão de modelo para seu SageMaker modelo no Registro de modelos
Antes de começar a criar um cartão de modelo, verifique se você criou um grupo de pacotes de modelos e um pacote de modelos. Para obter mais informações sobre o uso do registro do modelo, consulte Implantação de registro de modelo com registro de modelos.
Importante
Você deve ter permissões para usar as operações no Registro de SageMaker Modelos. Recomendamos o uso de políticas AmazonSageMakerModelRegistryFullAccess
AWS gerenciadas. Para obter mais informações sobre a política gerenciada, consulte AWS Políticas gerenciadas para registro de modelos.
Use o SageMaker Python SDK para criar uma placa de modelo para um pacote de modelo no Registro de SageMaker modelos. Um pacote de modelos é um modelo que você treinou. Quando você cria um cartão modelo, o Amazon SageMaker Model Cards importa automaticamente os dados do pacote do modelo para o cartão modelo.
Quando você cria um cartão modelo para um pacote de modelo, o Amazon SageMaker Model Card usa a DescribeModelPackageoperação para adicionar os dados do pacote modelo ao cartão modelo. Veja a seguir exemplos dos campos que podem ser importados de um pacote de modelo para um cartão de modelo:
Use o código a seguir para definir o pacote de modelos e criar um cartão de modelo a partir dele:
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()
Para
, você está especificando o status da aprovação do modelo de cartão. Se você não especificar um status, os cartões de SageMaker modelo usarão o valor padrão destatus
DRAFT
. Se você não especificar uma SageMaker sessão, os SageMaker Model Cards usarão a SageMaker sessão padrão.
Você deve especificar um nome para o modelo e o Amazon Resource Name (ARN) do pacote do modelo. Para obter informações sobre como obter o Amazon Resource Name (ARN) para o pacote do modelo, consulteVisualize e atualize os detalhes de uma versão do modelo (Boto3).
O cartão de modelo que você criou a partir do pacote do modelo pode ter informações ausentes ou imprecisas. Você pode adicionar informações ao cartão de modelo ou editá-lo. Para obter mais informações sobre o gerenciamento de seus cartões de modelo, consulte Ações de cartões de modelo.
SageMaker O Model Registry suporta o controle de versão de seus pacotes de modelos. Você pode criar uma versão do pacote do modelo e criar um cartão de modelo para cada versão. As informações dos cartões de modelo das versões anteriores são transferidas para os cartões de modelo criados a partir das versões subsequentes. Por exemplo, você pode ter a versão 1, a versão 2 e a versão 3 de um pacote de modelos. Suponha que você já tenha criado um cartão de modelo para a versão 1, mas não tenha criado um para a versão 2. Se você criar um cartão modelo para a versão 3, os Amazon SageMaker Model Cards transferirão automaticamente as informações do cartão modelo da versão 1 para o cartão modelo da versão 3.
nota
Você também pode criar cartões de modelo para pacotes de modelos que não usam versionamento. No entanto, a maioria dos fluxos de trabalho de machine learning envolve várias versões do mesmo modelo, por isso recomendamos fazer o seguinte:
-
Criar uma versão para cada pacote de modelos
-
Criar um cartão de modelo para cada versão do pacote de modelos