

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á.

# Rotulagem de dados aprimorada
<a name="sms-data-labeling"></a>

O Amazon SageMaker Ground Truth gerencia o envio de seus objetos de dados aos trabalhadores para serem rotulados. A rotulagem de cada objeto de dados é uma *tarefa*. Os trabalhadores concluem cada tarefa até que todo o trabalho de etiquetagem seja concluído. O Ground Truth divide o número total de tarefas em *lotes* menores que são enviados aos trabalhadores. Um novo lote é enviado aos trabalhadores quando o anterior é concluído.

O Ground Truth fornece dois recursos que ajudam a melhorar a precisão de seus rótulos de dados e a reduzir o custo total da rotulagem dos dados:
+ A *consolidação de anotações* ajuda a melhorar a precisão dos rótulos do objeto de dados. Ele combina os resultados das tarefas de anotação de vários trabalhadores em um rótulo de alta fidelidade.
+ A *rotulagem automatizada de dados*, usa machine learning para rotular partes dos seus dados automaticamente sem precisar enviá-los para trabalhadores humanos.

**Topics**
+ [Controlar o fluxo de objetos de dados enviados aos operadores](sms-batching.md)
+ [Consolidação de anotações](sms-annotation-consolidation.md)
+ [Automatizar a rotulagem de dados](sms-automated-labeling.md)
+ [Encadeamento de trabalhos de rotulagem](sms-reusing-data.md)

# Controlar o fluxo de objetos de dados enviados aos operadores
<a name="sms-batching"></a>

Dependendo do tipo de trabalho de rotulagem que você criar, o Amazon SageMaker Ground Truth envia objetos de dados aos trabalhadores em lotes ou em streaming. Você pode controlar o fluxo dos objetos de dados para os trabalhadores das seguintes maneiras:
+ Para os dois tipos de trabalhos de rotulagem, você pode usar o `MaxConcurrentTaskCount` para controlar o número total de objetos de dados disponíveis para todos os trabalhadores em um determinado momento em que o trabalho de rotulagem está em execução.
+ Para trabalhos de rotulagem de streaming, você pode controlar o fluxo de objetos de dados para os trabalhadores monitorando e controlando o número de objetos de dados enviados para o Amazon SQS associados ao trabalho de etiquetagem. 

Use as seguintes seções para saber mais sobre essas opções.

**Topics**
+ [Use MaxConcurrentTaskCount para controlar o fluxo de objetos de dados](#sms-batching-maxconcurrenttaskcount)
+ [Usar o Amazon SQS para controlar o fluxo de objetos de dados para trabalhos de rotulagem de streaming](#sms-batching-streaming-sqs)

## Use MaxConcurrentTaskCount para controlar o fluxo de objetos de dados
<a name="sms-batching-maxconcurrenttaskcount"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount) define o número máximo de objetos de dados disponíveis ao mesmo tempo na fila de tarefas do portal de operadores. Se você usar o console, esse parâmetro será definido como 1.000. Se você usar `CreateLabelingJob`, poderá definir esse parâmetro como qualquer número inteiro entre 1 e 5.000, inclusive.

Use o exemplo a seguir para entender melhor como o número de entradas em seu arquivo de manifesto, o `NumberOfHumanWorkersPerDataObject` e a `MaxConcurrentTaskCount` definem quais tarefas os operadores veem na respectiva fila de tarefas na interface de usuário do portal de operadores.

1. Você tem um arquivo de manifesto de entrada com 600 entradas.

1. Para cada entrada em seu arquivo de manifesto de entrada, você pode usar o `NumberOfHumanWorkersPerDataObject` para definir o número de operadores humanos que rotularão uma entrada do seu arquivo de manifesto de entrada. Neste exemplo, você define o `NumberOfHumanWorkersPerDataObject` como 3. Isso criará três tarefas diferentes para cada entrada no arquivo de manifesto de entrada. Para ser marcado como rotulado com êxito, pelo menos três operadores distintos devem rotular o objeto. Isso cria um total de 1,8 mil tarefas (600 x 3) a serem concluídas pelos operadores.

1. Você deseja que os operadores vejam apenas 100 tarefas por vez na respectiva fila na interface de usuário do portal de operadores. Para fazer isso, você define `MaxConcurrentTaskCount` igual a 100. Em seguida, o Ground Truth preencherá a fila de tarefas do portal de operadores com 100 tarefas por operador.

1. O que acontece em seguida depende do tipo de trabalho de rotulagem que você está criando e se for um trabalho de rotulagem de streaming.
   + **Trabalho de rotulagem de streaming**: desde que o número total de objetos disponíveis para os operadores seja igual a `MaxConcurrentTaskCount`, todos os objetos restantes do conjunto de dados no arquivo de manifesto de entrada e que você envia em tempo real usando o Amazon SNS são colocados em uma fila do Amazon SQS. Quando o número total de objetos disponíveis para os operadores fica abaixo de `MaxConcurrentTaskCount` menos `NumberOfHumanWorkersPerDataObject`, um novo objeto de dados da fila é usado para criar tarefas `NumberOfHumanWorkersPerDataObject`, que são enviadas aos operadores em tempo real.
   + **Trabalho de rotulagem sem streaming**: à medida que os trabalhadores terminam de rotular um conjunto de objetos, até `MaxConcurrentTaskCount`vezes o número `NumberOfHumanWorkersPerDataObject` de novas tarefas será enviado aos trabalhadores . Esse processo é repetido até que todos os objetos de dados no arquivo manifesto de entrada sejam rotulados.

## Usar o Amazon SQS para controlar o fluxo de objetos de dados para trabalhos de rotulagem de streaming
<a name="sms-batching-streaming-sqs"></a>

Quando você cria um trabalho de rotulagem de streaming, uma fila do Amazon SQS é criada automaticamente na sua conta. Os objetos de dados só são adicionados à fila do Amazon SQS quando o número total de objetos enviados aos trabalhadores está acimade `MaxConcurrentTaskCount`. Caso contrário, os objetos são enviados diretamente aos trabalhadores.

Você pode usar essa fila para gerenciar o fluxo de objetos de dados para a tarefa de etiquetagem. Para saber mais, consulte [Gerencie solicitações de rotulagem com uma fila do Amazon SQS](sms-streaming-how-it-works-sqs.md).

# Consolidação de anotações
<a name="sms-annotation-consolidation"></a>

Uma *anotação* é o resultado da tarefa de rotulagem de um único trabalhador. A *consolidação de anotações* combina as anotações de dois ou mais trabalhadores em um único rótulo para seus objetos de dados. Um rótulo, que é atribuído a cada objeto no conjunto de dados, é uma estimativa probabilística do que o rótulo verdadeiro deva ser. Cada objeto no conjunto de dados geralmente tem várias anotações, mas somente um rótulo ou um conjunto de rótulos.

Você pode decidir quantos operadores devem anotar cada objeto no seu conjunto de dados. Mais trabalhadores podem aumentar a precisão dos rótulos, mas também aumentam o custo de rotulagem. Para saber mais sobre os preços do Ground Truth, consulte os preços [ SageMaker do Amazon Ground Truth](https://aws.amazon.com/sagemaker/groundtruth/pricing/).

Se você usa o console Amazon SageMaker AI para criar um trabalho de rotulagem, os seguintes são os padrões para o número de trabalhadores que podem anotar objetos: 
+ Classificação de texto — três trabalhadores
+ Classificação de imagens — três trabalhadores
+ Caixas delimitadoras — cinco trabalhadores
+ Segmentação de semântica — três trabalhadores
+ Reconhecimento de entidade nomeada — três trabalhadores

Ao usar a operação [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html), você define o número de trabalhadores que devem anotar cada objeto de dados usando o parâmetro `NumberOfHumanWorkersPerDataObject`. É possível substituir o número padrão de trabalhadores que rotulam um objeto de dados usando o console ou a operação [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html).

O Ground Truth fornece uma função de consolidação de anotações para cada uma das tarefas de rotulagem predefinidas: caixa delimitadora, classificação de imagem, reconhecimento de entidade de nome, segmentação de semântica e classificação de texto. Estas são as funções:
+ A consolidação de anotações em várias classes para classificação de texto e imagem usa uma variante da abordagem de [Maximização de expectativa](https://en.wikipedia.org/wiki/Expectation-maximization_algorithm) para anotações. Ela estima parâmetros para cada trabalhador e usa a inferência bayesiana para estimar a classe real com base nas anotações de classe de trabalhadores individuais. 
+ A anotação de caixa delimitadora consolida caixas delimitadoras de vários trabalhadores. Essa função encontra as caixas mais semelhantes de diferentes trabalhadores com base no [índice de Jaccard](https://en.wikipedia.org/wiki/Jaccard_index), ou na interseção sobre união, das caixas e calcula a média delas. 
+ A consolidação de anotações de segmentação semântica trata cada pixel em uma única imagem como uma classificação de várias classes. Essa função trata as anotações de pixel dos trabalhadores como "votos", com mais informações dos pixels adjacentes incorporados, aplicando uma função de suavização à imagem.
+ As seleções de texto de clusters de reconhecimento de entidade nomeada por similaridade de Jaccard e calcula os limites de seleção com base no modo ou na média, caso o modo não esteja claro. O rótulo é resolvido para o rótulo de entidade mais atribuído no cluster, quebrando os vínculos por seleção aleatória.

É possível usar outros algoritmos para consolidar anotações. Para mais informações, consulte [Criação de funções de consolidação de anotações](consolidation-lambda.md). 

# Criação de funções de consolidação de anotações
<a name="consolidation-lambda"></a>

É possível optar por usar sua própria função de consolidação de anotações para determinar os rótulos finais dos objetos rotulados. Existem muitas abordagens possíveis para escrever uma função e a abordagem que você usar dependerá da natureza das anotações a serem consolidadas. Em termos gerais, as funções de consolidação examinam as anotações dos trabalhadores, medem a similaridade entre elas e usam algum tipo de julgamento probabilístico para determinar qual deve ser o rótulo mais provável.

Se quiser usar outros algoritmos para criar funções de consolidação de anotações, você poderá encontrar as respostas do trabalhador na pasta `[project-name]/annotations/worker-response` do bucket do para o qual você direciona a saída do trabalho.

## Avaliar similaridade
<a name="consolidation-assessing"></a>

Para avaliar a similaridade entre os marcadores, use uma das seguintes estratégias ou use uma que atenda às suas necessidades de rotulagem de dados:
+ Para espaços de rótulo que consistem em categorias discretas e mutuamente exclusivas, como classificação de várias classes, avaliar a similaridade pode ser um processo simples. Os rótulos separados correspondem ou não. 
+ Para espaços de rótulo que não possuem valores separados, como anotações de caixa delimitadora, encontre uma ampla medida de similaridade. No caso de caixas delimitadoras, uma dessas medidas é o índice de Jaccard. Ele mede a relação entre a interseção de duas caixas com a união das caixas para avaliar como elas são semelhantes. Por exemplo, se houver três anotações, poderá haver uma função que determine quais anotações representam o mesmo objeto e que devem ser consolidadas.

## Avaliar o rótulo mais provável
<a name="consolidation-probable-label"></a>

Com uma das estratégias acima em mente, faça algum tipo de julgamento probabilístico sobre o rótulo consolidado. No caso de categorias discretas e mutuamente exclusivas, isso pode ser simples. Uma das maneiras mais comuns de fazer isso é obter os resultados de uma votação majoritária entre as anotações. Isso pondera as anotações igualmente. 

Algumas abordagens tentam estimar a precisão de diferentes anotadores e pesam suas anotações em proporção à probabilidade de correção. Um exemplo disso é o método Maximização de Expectativas, que é usado na função de consolidação padrão do Ground Truth para anotações de várias classes. 

Para obter mais informações sobre como criar uma função de consolidação de anotações, consulte [Processando dados em um fluxo de trabalho de rotulagem personalizado com AWS Lambda](sms-custom-templates-step3.md).

# Automatizar a rotulagem de dados
<a name="sms-automated-labeling"></a>

Se você escolher, o Amazon SageMaker Ground Truth pode usar o aprendizado ativo para automatizar a rotulagem de seus dados de entrada para determinados tipos de tarefas incorporadas. A *aprendizagem ativa* é uma técnica de machine learning que identifica os dados que devem ser rotulados pelos trabalhadores. No Ground Truth, essa funcionalidade é chamada de rotulagem automatizada de dados. A rotulagem automatizada de dados ajuda a reduzir o custo e o tempo que se leva para rotular seu conjunto de dados em comparação com o uso somente de trabalhadores humanos. Ao usar a rotulagem automatizada, você incorre em custos SageMaker de treinamento e inferência. 

Recomendamos o uso de rotulagem automatizada de dados em grandes conjuntos de dados porque as redes neurais usadas com aprendizagem ativa exigem uma quantidade significativa de dados para cada novo conjunto de dados. Normalmente, à medida que mais dados são fornecidos, o potencial de previsões de alta precisão aumenta. Os dados só serão rotulados automaticamente se a rede neural usada no modelo de rotulagem automática puder atingir um nível aceitavelmente alto de precisão. Portanto, com conjuntos de dados maiores, há mais potencial para rotular automaticamente os dados porque a rede neural pode ter precisão suficientemente alta para a rotulagem automática. A rotulagem automatizada de dados é mais apropriada quando você tem milhares de objetos de dados. O número mínimo de objetos permitidos para a rotulação automatizada de dados é de 1.250, mas é altamente recomendável fornecer um mínimo de 5.000 objetos.

A rotulagem automatizada de dados está disponível somente para os seguintes tipos de tarefa integradas do Ground Truth: 
+ [Criar um trabalho de classificação de imagem (Rótulo único)](sms-image-classification.md)
+ [Identifique o conteúdo da imagem usando segmentação semântica](sms-semantic-segmentation.md)
+ Detecção de objetos ([Classifique objetos de imagem usando uma caixa delimitadora](sms-bounding-box.md))
+ [Classificar texto com classificação de texto (Rótulo Único)](sms-text-classification.md)

Os [trabalhos de rotulagem de streaming](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html) não oferecem suporte à rotulagem automatizada de dados.

Para saber como criar um fluxo de trabalho de aprendizado ativo personalizado usando seu próprio modelo, consulte [Configure um fluxo de trabalho de aprendizado ativo com seu próprio modelo](#samurai-automated-labeling-byom).

As cotas de dados de entrada aplicam-se a trabalhos de rotulagem automatizada. Consulte [Cotas de dados de entrada](input-data-limits.md) para obter informações sobre tamanho do conjunto de dados, tamanho dos dados de entrada e limites de resolução.

**nota**  
Antes de usar um modelo de rotulagem automatizada na produção, é necessário ajustar ou testar o modelo, ou ambos. É possível ajustar o modelo (ou criar e ajustar outro modelo supervisionado de sua escolha) no conjunto de dados produzido pelo seu trabalho de rotulagem para otimizar a arquitetura e os hiperparâmetros do modelo. Se você decidir usar o modelo para inferência sem ajustá-lo, é altamente recomendado certificar-se de que sua precisão seja avaliada em um subconjunto representativo (por exemplo, selecionado aleatoriamente) do conjunto de dados rotulado com o Ground Truth e que ele corresponda às suas expectativas.

## Como funciona
<a name="sms-automated-labeling-how-it-works"></a>

A rotulagem automatizada de dados é habilitada durante a criação de um trabalho de rotulagem. Como funciona:

1. Quando o Ground Truth inicia um trabalho de rotulação automatizada de dados, ele seleciona uma amostra aleatória de objetos de dados e a envia para trabalhadores humanos. Se mais de 10% desses objetos de dados falharem, o trabalho de rotulagem falhará. Se o trabalho de rotulagem falhar, além de revisar qualquer mensagem de erro retornada pelo Ground Truth, verifique se os dados de entrada estão sendo exibidos corretamente na interface do usuário do trabalhador, se as instruções estão claras e se você deu aos trabalhadores tempo suficiente para concluir as tarefas.

1. Quando os dados rotulados são retornados, eles são usados para criar um conjunto de treinamento e um conjunto de validação. A Ground Truth usa esses conjuntos de dados para treinar e validar o modelo usado para rotulagem automática.

1. O Ground Truth executa um trabalho de transformação de lotes, usando o modelo validado para inferência nos dados de validação. A inferência de lote produz uma pontuação de confiança e uma métrica de qualidade para cada objeto nos dados de validação.

1. O componente de rotulagem automática usará essas métricas de qualidade e pontuações de confiança para criar um *limite de pontuação de confiança* que garanta rótulos de qualidade. 

1. O Ground Truth executa um trabalho de transformação de lotes nos dados não rotulados do conjunto de dados, usando o mesmo modelo validado para inferência. Isso produzirá uma pontuação de confiança para cada objeto. 

1. O componente de rotulagem automática do Ground Truth determina se a pontuação de confiança produzida na etapa 5 para cada objeto atende ao limite necessário determinado na etapa 4. Se a pontuação de confiança atender ao limite, a qualidade esperada da rotulagem automaticamente excederá o nível de precisão solicitado e esse objeto será considerado com rotulagem automática. 

1. A etapa 6 produz um conjunto de dados de dados não rotulados com pontuações de confiança. A Ground Truth seleciona pontos de dados com pontuações de baixa confiança desse conjunto de dados e os envia para trabalhadores humanos. 

1. O Ground Truth usa os dados existentes rotulados por trabalhadores humanos e esses dados de rótulos adicionais de trabalhadores humanos para atualizar o modelo.

1. O processo é repetido até que o conjunto de dados seja totalmente rotulado ou até que outra condição de interrupção seja atendida. Por exemplo, a rotulagem automática será interrompida se o seu orçamento de anotação humana for atingido.

As etapas anteriores acontecem em iterações. Selecione cada guia na tabela a seguir para ver um exemplo dos processos que ocorrem em cada iteração para um trabalho de rotulagem automática de detecção de objetos. O número de objetos de dados usados em uma determinada etapa nessas imagens (por exemplo, 200) é específico para este exemplo. Se houver menos de 5.000 objetos para rotular, o tamanho do conjunto de validação será 20% de todo o conjunto de dados. Se houver mais de 5.000 objetos no conjunto de dados de entrada, o tamanho do conjunto de validação será 10% de todo o conjunto de dados. Você pode controlar o número de rótulos humanos coletados por iteração de aprendizado ativa alterando o valor [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount) ao usar a operação de API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html). Esse valor é definido como 1.000 quando você cria um trabalho de etiquetagem usando o console. No fluxo de aprendizado ativo ilustrado na guia **Aprendizado ativo**, esse valor é definido como 200.

------
#### [ Model Training ]

![\[Exemplo de processo de treinamento de modelo.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-3.png)


------
#### [ Automated Labeling ]

![\[Exemplo de processo de rotulagem automatizada.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-4.png)


------
#### [ Active Learning ]

![\[Exemplo de processo de aprendizado ativo.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-5.png)


------

### Precisão dos rótulos automatizados
<a name="sms-automated-labeling-accuracy"></a>

A definição de *precisão* depende do tipo de tarefa incorporada que você usa com a rotulagem automatizada. Para todos os tipos de tarefas, esses requisitos de precisão são predeterminados pelo Ground Truth e não podem ser configurados manualmente.
+ Para classificação de imagens e classificação de texto, o Ground Truth usa a lógica para encontrar um nível de confiança de predição de rótulos que corresponda a pelo menos 95% de precisão dos rótulos. Isso significa que o Ground Truth espera que a precisão dos rótulos automatizados seja de pelo menos 95% em comparação com os rótulos que os rotuladores humanos forneceriam para esses exemplos.
+ Para caixas delimitadoras, a média esperada de [interseção sobre união (IoU)](https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/) das imagens rotuladas automaticamente é 0,6. Para encontrar a IOU média, o Ground Truth calcula a IOU média de todas as caixas previstas e perdidas na imagem para cada classe e, em seguida, calcula a média desses valores entre as classes.
+ Para segmentação semântica, a IOU média esperada das imagens rotuladas automaticamente é 0,7. Para encontrar a média de IoU, o Ground Truth pega a média dos valores de IoU de todas as classes na imagem (excluindo o plano de fundo).

Em cada iteração do Aprendizado Ativo (etapas de 3 a 6 na lista acima), o limite de confiança é encontrado usando o conjunto de validação anotado por humanos para que a precisão esperada dos objetos rotulados automaticamente satisfaça certos requisitos de precisão predefinidos.

## Criar um trabalho de rotulagem de dados automatizada (console)
<a name="sms-create-automated-labeling-console"></a>

Para criar um trabalho de rotulagem que usa rotulagem automatizada no console SageMaker AI, use o procedimento a seguir.

**Como criar um trabalho automatizado de rotulagem de dados (console)**

1. Abra a seção de **trabalhos da Ground Truth Labeling** do console SageMaker AI:[https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. Usando [Criar um trabalho de rotulagem (console)](sms-create-labeling-job-console.md) como guia, conclua as seções **Job overview (Visão geral do trabalho)** e **Task type (Tipo de tarefa)**. Observe que a rotulagem automática não oferece suporte a tipos de tarefa personalizados.

1. Em **Workers (Trabalhadores)**, escolha o tipo de força de trabalho. 

1. Na mesma seção, escolha **Enable automated data labeling (Habilitar rotulagem automatizada de dados)**. 

1. Usando [Configurar a ferramenta de caixa delimitadora](sms-getting-started.md#sms-getting-started-step4) como guia, crie instruções para trabalhadores na **ferramenta de *Task Type* rotulagem de** seções. Por exemplo, se você selecionou **Segmentação de semântica** como o tipo de trabalho de rotulagem, esta seção será chamada **Ferramenta de rotulagem de segmentação de semântica**.

1. Para visualizar as instruções e o painel do trabalhador, escolha **Preview (Visualizar)**.

1. Escolha **Criar**. Isso criará e iniciará o trabalho de rotulagem e o processo de rotulagem automática. 

Você pode ver seu trabalho de etiquetagem aparecer na seção **Trabalhos de etiquetagem** do console de SageMaker IA. Os dados de saída serão exibidos no bucket do Amazon S3 especificado durante a criação do trabalho de rotulagem. Para obter mais informações sobre o formato e a estrutura do arquivo dos dados de saída do trabalho de rotulagem, consulte [Rotulando dados de saída do trabalho](sms-data-output.md).

## Criar um trabalho de rotulagem de dados automatizada (API)
<a name="sms-create-automated-labeling-api"></a>

Para criar um trabalho automatizado de rotulagem de dados usando a SageMaker API, use o [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)parâmetro da [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operação. Para saber como iniciar um trabalho de etiquetagem usando a `CreateLabelingJob` operação, consulte [Criar um trabalho de rotulagem (API)](sms-create-labeling-job-api.md).

Especifique o Amazon Resource Name (ARN) do algoritmo que você está usando para rotulagem automática de dados no [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html#SageMaker-Type-LabelingJobAlgorithmsConfig-LabelingJobAlgorithmSpecificationArn)parâmetro. Escolha um dos quatro algoritmos integrados do Ground Truth com suporte para rotulagem automatizada:
+ [Criar um trabalho de classificação de imagem (Rótulo único)](sms-image-classification.md)
+ [Identifique o conteúdo da imagem usando segmentação semântica](sms-semantic-segmentation.md)
+ Detecção de objetos ([Classifique objetos de imagem usando uma caixa delimitadora](sms-bounding-box.md)) 
+ [Classificar texto com classificação de texto (Rótulo Único)](sms-text-classification.md)

Quando um trabalho de rotulagem automatizada de dados for concluído, o Ground Truth retornará o ARN do modelo usado para o trabalho. Use esse modelo como modelo inicial para tipos de tarefas de rotulagem automática semelhantes fornecendo o ARN, em formato de string, no [InitialActiveLearningModelArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html#SageMaker-Type-LabelingJobAlgorithmsConfig-InitialActiveLearningModelArn)parâmetro. Para recuperar o ARN do modelo, use AWS Command Line Interface um comando AWS CLI() semelhante ao seguinte. 

```
# Fetch the mARN of the model trained in the final iteration of the previous labeling job.Ground Truth
pretrained_model_arn = sagemaker_client.describe_labeling_job(LabelingJobName=job_name)['LabelingJobOutput']['FinalActiveLearningModelArn']
```

Para criptografar dados no volume de armazenamento anexado às instâncias de computação de ML que são usadas na rotulagem automática, inclua uma chave AWS Key Management Service (AWS KMS) no `VolumeKmsKeyId` parâmetro. Para obter informações sobre chaves AWS KMS, consulte [O que é o AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)? no *Guia do desenvolvedor do AWS Key Management Service*.

Para ver um exemplo que usa a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)operação para criar um trabalho automatizado de rotulagem de dados, consulte o exemplo **object\$1detection\$1tutorial** na seção AI Examples **SageMaker , Ground** **Truth Labeling Jobs de uma instância** de notebook de IA. SageMaker Para saber como criar e abrir uma instância de bloco de anotações, consulte [Crie uma instância de SageMaker notebook da Amazon](howitworks-create-ws.md).

## Instâncias do Amazon EC2 necessárias para rotulagem de dados automatizada
<a name="sms-auto-labeling-ec2"></a>

A tabela a seguir lista as instâncias do Amazon Elastic Compute Cloud (Amazon EC2) necessárias para executar a rotulagem automatizada de dados para trabalhos de treinamento e inferência em lote.


| Tipo de trabalho de rotulagem automatizada de dados | Tipo de instância de treinamento | Tipo de instância de inferência | 
| --- | --- | --- | 
|  Classificação de imagens  |  ml.p3.2xlarge\$1  |  ml.c5.xlarge  | 
|  Detecção de objetos (caixa delimitadora)  |  ml.p3.2xlarge\$1  |  ml.c5.4xlarge  | 
|  Classificação de texto  |  ml.c5.2xlarge  |  ml.m4.xlarge  | 
|  Segmentação semântica  |  ml.p3.2xlarge\$1  |  ml.p3.2xlarge\$1  | 

\$1 Na região Ásia-Pacífico (Mumbai) (ap-south-1), use ml.p2.8xlarge no lugar.

 O Ground Truth gerencia as instâncias usadas para trabalhos de rotulagem automatizada de dados. Ele cria, configura e encerra as instâncias conforme necessário para executar o trabalho. Essas instâncias não são exibidas no painel de instâncias do Amazon EC2.

## Configure um fluxo de trabalho de aprendizado ativo com seu próprio modelo
<a name="samurai-automated-labeling-byom"></a>

Você pode criar um fluxo de trabalho de aprendizado ativo com seu próprio algoritmo para executar treinamentos e inferências nesse fluxo de trabalho para rotular automaticamente seus dados. O notebook bring\$1your\$1own\$1model\$1for\$1sagemaker\$1labeling\$1workflows\$1with\$1active\$1learning.ipynb demonstra isso usando o algoritmo integrado de IA,. SageMaker [BlazingText](https://docs.aws.amazon.com/sagemaker/latest/dg/blazingtext.html) Esse notebook fornece uma CloudFormation pilha que você pode usar para executar esse fluxo de trabalho usando AWS Step Functions. Você pode encontrar o notebook e os arquivos de suporte neste [GitHub repositório.](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs/bring_your_own_model_for_sagemaker_labeling_workflows_with_active_learning)

# Encadeamento de trabalhos de rotulagem
<a name="sms-reusing-data"></a>

O Amazon SageMaker Ground Truth pode reutilizar conjuntos de dados de trabalhos anteriores de duas maneiras: clonagem e encadeamento.

A *clonagem* copia a configuração de um trabalho de rotulagem anterior e permite que você faça alterações adicionais antes de configurá-lo para execução.

O *encadeamento* usa não somente a configuração do trabalho anterior, mas também os resultados. Isso permite que você continue um trabalho incompleto e adicione rótulos ou objetos de dados a um trabalho concluído. O encadeamento é uma operação mais complexa. 

Para o processamento de dados: 
+  A clonagem usa o manifesto de* entrada* do trabalho anterior, com modificações opcionais, como o manifesto de entrada do novo trabalho. 
+  O Encadeamento usa o manifesto de *saída* do trabalho anterior como o manifesto de entrada do novo trabalho. 

O encadeamento é útil quando é necessário:
+ Continuar um trabalho de rotulagem que foi interrompido manualmente.
+ Continue um trabalho de rotulagem que teve uma falha no meio dele, depois de corrigir os problemas.
+ Alternar para a rotulagem de dados automatizada após rotular manualmente parte de um trabalho (ou vice-versa).
+ Adicionar mais objetos de dados a um trabalho concluído e iniciar o trabalho a partir de então.
+ Adicionar outra anotação a uma tarefa concluída. Por exemplo, você tem uma coleção de frases marcadas para o tópico e, em seguida, deseja executar o conjunto novamente, categorizando-as pelo público-alvo implícito do tópico.

No Amazon SageMaker Ground Truth, você pode configurar um trabalho de rotulagem em cadeia com o console ou a API.

## Termo-chave: nome do atributo de rótulo
<a name="sms-reusing-data-LAN"></a>

O *nome do atributo de rótulo* (`LabelAttributeName` na API) é uma string usada como chave para o par de chave/valor formado com o rótulo que um trabalhador atribui ao objeto de dados.

As regras a seguir se aplicam ao nome do atributo de rótulo:
+ Ele não pode terminar com `-metadata`.
+ Os nomes `source` e `source-ref` são reservados e não podem ser usados.
+ Para trabalhos de rotulagem de segmentação semântica,, ele deve terminar com `-ref`. Para todos os outros trabalhos de rotulagem, ele *não* pode terminar com `-ref`. Se você usar o console para criar o trabalho, o Amazon SageMaker Ground Truth anexará automaticamente `-ref` a todos os nomes de atributos do rótulo, exceto os trabalhos de segmentação semântica.
+ Para um trabalho de rotulagem encadeada, se você estiver usando o mesmo nome de atributo do rótulo do trabalho de origem e configurar o trabalho encadeado para usar a rotulagem automática, então, se ele estiver no modo de rotulagem automática em algum momento, o Ground Truth usará o modelo do trabalho de origem.

Em um manifesto de saída, o nome do atributo de rótulo é semelhante ao seguinte:

```
  "source-ref": "<S3 URI>",
  "<label attribute name>": {
    "annotations": [{
      "class_id": 0,
      "width": 99,
      "top": 87,
      "height": 62,
      "left": 175
    }],
    "image_size": [{
      "width": 344,
      "depth": 3,
      "height": 234
    }]
  },
  "<label attribute name>-metadata": {
    "job-name": "<job name>",
    "class-map": {
      "0": "<label attribute name>"
    },
    "human-annotated": "yes",
    "objects": [{
      "confidence": 0.09
    }],
    "creation-date": "<timestamp>",
    "type": "groundtruth/object-detection"
  }
```

Se você estiver criando um trabalho no console e não definir explicitamente o valor do nome de atributo do rótulo, o Ground Truth usará o nome do trabalho como o nome de atributo do rótulo do trabalho.

## Iniciar um trabalho encadeado (console)
<a name="sms-reusing-data-console"></a>

Selecione um trabalho de rotulagem interrompido, com falha ou concluído na lista de seus trabalhos existentes. Isso habilita o menu **Ações**.

No menu **Ações**, escolha **Cadeia**.

### Painel de visão geral do trabalho
<a name="sms-reusing-data-console-job-panel"></a>

No painel **Job overview (Visão geral do trabalho)**, um novo **Job name (Nome do trabalho)** é definido com base no título do trabalho a partir do qual você está encadeando este. Você pode alterá-lo.

Você também pode especificar um nome do atributo de rótulo diferente do nome do trabalho de rotulagem.

Se você estiver encadeando um trabalho concluído, o nome do atributo de rótulo usará o nome do novo trabalho que você está configurando. Para alterar o nome, marque a caixa de seleção.

Se você estiver encadeando um trabalho interrompido ou com falha, o nome do atributo de rótulo será usado para o nome do trabalho a partir do qual você está encadeando. É fácil ver e editar o valor porque a caixa de seleção de nome fica marcada.

**Considerações sobre nomenclatura de atributo de rótulo**  
**O padrão** usa o nome de atributo do rótulo que o Ground Truth seleciona. Todos os objetos de dados sem dados conectados a esse nome do atributo de rótulo são rotulados.
**Usar um nome do atributo de rótulo** não presente no manifesto faz com que a tarefa processe *todos* os objetos no conjunto de dados.

O **local do conjunto de dados de entrada**, nesse caso, é selecionado automaticamente como o manifesto de saída do trabalho encadeado. O campo de entrada não fica disponível, portanto você não pode alterá-lo.

**Adição de objetos de dados a um trabalho de rotulagem**  
Você não pode especificar um arquivo de manifesto alternativo Edite manualmente o manifesto de saída do trabalho anterior para adicionar novos itens antes de iniciar um trabalho encadeado. O URI do Amazon S3 ajuda você a localizar onde você está armazenando o manifesto no bucket do Amazon S3. Faça o download do arquivo manifesto ali, edite-o localmente no seu computador e, em seguida, faça o upload da nova versão para substituí-lo. Certifique-se de não estar introduzindo erros durante a edição. Recomendamos que você use o JSON linter para verificar seu JSON. Muitos editores de texto populares têm plug-ins de IDEs linter disponíveis.

## Iniciar um trabalho encadeado (API)
<a name="sms-reusing-data-API"></a>

O procedimento é quase o mesmo que configurar um novo trabalho de rotulagem com `CreateLabelingJob`, exceto por duas diferenças principais:
+ **Local do manifesto:** em vez de usar o manifesto original do trabalho anterior, o valor para o `ManifestS3Uri` no `DataSource` deve mostrar o URI do Amazon S3 do *manifesto de saída* do trabalho de rotulagem anterior.
+ **Nome do atributo de rótulo:** Aqui, definir o valor `LabelAttributeName` correto é importante. Essa é a parte fundamental de um par de valor-chave em que os dados de rotulagem são o valor. Exemplo de casos de uso incluem:
  + **Adicionar rótulos novos ou mais específicos a um trabalho concluído** — defina um novo nome de atributo do rótulo.
  + **Rotular os itens não rotulados de um trabalho anterior** — use o nome de atributo do rótulo do trabalho anterior.

## Usar um conjunto de dados parcialmente rotulado
<a name="sms-reusing-data-newdata"></a>

Você pode obter alguns benefícios de encadeamento se usar um manifesto aumentado que já tenha sido parcialmente rotulado. Marque a caixa de seleção **Label attribute name (Nome do atributo de rótulo)** e defina o nome para que corresponda ao nome em seu manifesto.

Se você estiver usando a API, as instruções são as mesmas daquelas para iniciar um trabalho encadeado. No entanto, certifique-se de carregar o manifesto em um bucket do Amazon S3 e usá-lo em vez de usar o manifesto de saída de um trabalho anterior.

O valor do **Nome de atributo do rótulo** no manifesto deve estar de acordo com as considerações de nomenclatura discutidas acima.