Processi di etichettatura in streaming Ground Truth - 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à.

Processi di etichettatura in streaming Ground Truth

Se desideri inviare continuamente nuovi oggetti di dati ad Amazon SageMaker Ground Truth per l'etichettatura, utilizza un processo di etichettatura in streaming. I processi di etichettatura in streaming ti consentono di:

  • Inviare in tempo reale nuovi oggetti del set di dati ai processi utilizzando un processo di etichettatura in esecuzione perpetua. I processi ricevono continuamente nuovi oggetti dati da etichettare finché il processo di etichettatura è attivo e gli vengono inviati nuovi oggetti.

  • Ottenere visibilità sul numero di oggetti che sono stati messi in coda e sono in attesa di essere etichettati. Utilizzare queste informazioni per controllare il flusso di oggetti dati inviati al tuo processo di etichettatura.

  • Ricevere in tempo reale i dati delle etichette per i singoli oggetti dati man mano che i worker finiscono di etichettarli.

I processi di etichettatura in streaming di Ground Truth rimangono attivi fino a quando non vengono interrotti manualmente o sono rimasti inattivi per più di 10 giorni. È possibile inviare in modo intermittente nuovi oggetti dati ai worker mentre il processo di etichettatura è attivo.

Se sei un nuovo utente dei processi di etichettatura in streaming di Ground Truth, ti consigliamo di esaminare Come funziona.

Utilizza Creare un processo di etichettatura in streaming per scoprire come creare un processo di etichettatura in streaming.

Nota

I processi di etichettatura in streaming Ground Truth sono supportati solo tramite. SageMaker API

Come funziona

Quando si crea un processo di etichettatura in streaming Ground Truth, il processo rimane attivo fino a quando non viene interrotto manualmente, non rimane attivo per più di 10 giorni o non è in grado di accedere alle fonti di dati di input. È possibile inviare in modo intermittente nuovi oggetti dati ai worker mentre è attivo. Un worker può continuare a ricevere nuovi oggetti dati in tempo reale purché il numero totale di attività correntemente disponibili per il worker sia inferiore al valore in MaxConcurrentTaskCount. Altrimenti, l'oggetto dati viene inviato a una coda che Ground Truth crea per tuo conto in Amazon Simple Queue Service SQS (Amazon) per un'elaborazione successiva. Queste attività vengono inviate ai worker non appena il numero totale di attività correntemente disponibili per un worker scende al di sotto di MaxConcurrentTaskCount. Se un oggetto di dati non viene inviato a un worker dopo 14 giorni, esso scade. È possibile visualizzare il numero di attività nella coda in sospeso e modificare il numero di oggetti da inviare al processo di etichettatura. Ad esempio, è possibile ridurre la velocità di invio degli oggetti al processo di etichettatura se l'arretrato di oggetti in sospeso supera una soglia.

Invio di dati a un processo di etichettatura in streaming

Facoltativamente, è possibile inviare i dati di input a un processo di etichettatura in streaming una sola volta quando si crea il processo di etichettatura utilizzando un file manifest di input. Una volta che il processo di etichettatura è iniziato e lo stato è statoInProgress, puoi inviare nuovi oggetti di dati al tuo processo di etichettatura in tempo reale utilizzando l'argomento di SNS input di Amazon e le notifiche degli eventi di Amazon S3.

Invia oggetti dati all'avvio del processo di etichettatura (una sola volta):

  • Usa un file manifesto di input: puoi facoltativamente specificare un file manifesto di input in Amazon URI S3 quando crei il processo di etichettatura ManifestS3Uri in streaming. Ground Truth, non appena inizia il processo di etichettatura, invia ai worker per l'etichettatura ogni oggetto di dati nel file manifest. Per ulteriori informazioni, consulta Creare un file manifest (opzionale).

    Dopo aver inviato una richiesta per creare il processo di etichettatura in streaming, il relativo stato sarà Initializing. Una volta che il processo di etichettatura è attivo, lo stato cambia in InProgress ed è possibile iniziare a utilizzare le opzioni in tempo reale per inviare oggetti dati aggiuntivi per l'etichettatura.

Invia oggetti dati in tempo reale:

  • Invia oggetti dati utilizzando SNS messaggi Amazon: puoi inviare nuovi oggetti dati a Ground Truth da etichettare inviando un SNS messaggio Amazon. Invierai questo messaggio a un argomento di SNS input di Amazon che creerai e specificherai quando crei il tuo processo di etichettatura in streaming. Per ulteriori informazioni, consulta Invio di oggetti di dati tramite Amazon SNS.

  • Invia oggetti dati inserendoli in un bucket S3 Amazon: ogni volta che aggiungi un nuovo oggetto dati a un bucket S3 Amazon, puoi richiedere a Ground Truth di elaborare quell'oggetto per l'etichettatura. A tale scopo, aggiungi una notifica di evento al bucket in modo che notifichi l'argomento di SNS input di Amazon ogni volta che viene aggiunto (o creato) un nuovo oggetto in quel bucket. Per ulteriori informazioni, consulta Invio di oggetti dati tramite Amazon S3. Questa opzione non è disponibile per i processi di etichettatura basati su testo come la classificazione del testo e il riconoscimento di entità denominate.

    Importante

    Se utilizzi la configurazione S3 Amazon, non utilizzare la stessa posizione S3 Amazon per la configurazione dei dati di input e i dati di output. Quando crei un processo di etichettatura, specifichi il prefisso S3 per i dati di output.

Invio di oggetti di dati tramite Amazon SNS

Puoi inviare oggetti dati al tuo processo di etichettatura in streaming utilizzando Amazon Simple Notification Service (AmazonSNS). Amazon SNS è un servizio web che coordina e gestisce la consegna di messaggi da e verso gli endpoint (ad esempio, un indirizzo e-mail o una AWS Lambda funzione). Un SNS argomento di Amazon funge da canale di comunicazione tra due o più endpoint. Utilizzi Amazon SNS per inviare o pubblicare nuovi oggetti di dati sull'argomento specificato nel CreateLabelingJobparametro SnsTopicArn inInputConfig. Il formato di questi messaggi è lo stesso di una singola riga di un file manifest di input.

Ad esempio, è possibile inviare una parte di testo a un processo attivo di classificazione ed etichettatura del testo pubblicandola nell'argomento di input. Il messaggio pubblicato potrebbe essere simile al seguente:

{"source": "Lorem ipsum dolor sit amet"}

Per inviare un nuovo oggetto immagine a un processo di classificazione delle immagini, il messaggio potrebbe avere un aspetto simile al seguente:

{"source-ref": "s3://awsexamplebucket/example-image.jpg"}
Nota

Puoi anche includere chiavi di deduplicazione IDs e deduplicazione personalizzate nei tuoi messaggi Amazon. SNS Per ulteriori informazioni, consulta Gestione di messaggi duplicati.

Quando Ground Truth crea il tuo lavoro di etichettatura in streaming, sottoscrive il tuo argomento di SNS input su Amazon.

Invio di oggetti dati tramite Amazon S3

Puoi inviare uno o più nuovi oggetti dati a un processo di etichettatura in streaming inserendoli in un bucket Amazon S3 configurato con una notifica di eventi AmazonSNS. Puoi impostare un evento per notificare l'argomento di SNS input di Amazon ogni volta che viene creato un nuovo oggetto nel tuo bucket. È necessario specificare lo stesso argomento SNS di input di Amazon nel CreateLabelingJobparametro SnsTopicArn inInputConfig.

Ogni volta che configuri un bucket Amazon S3 per inviare notifiche ad Amazon"s3:TestEvent", SNS Ground Truth pubblicherà un evento di test per garantire che l'argomento esista e che il proprietario del bucket Amazon S3 specificato sia autorizzato a pubblicare sull'argomento specificato. Si consiglia di configurare la connessione Amazon S3 con Amazon SNS prima di iniziare un processo di etichettatura in streaming. In caso contrario, questo evento di test può essere registrato come oggetto dati ed essere inviato a Ground Truth per l'etichettatura.

Importante

Se utilizzi la configurazione S3 Amazon, non utilizzare la stessa posizione S3 Amazon per la configurazione dei dati di input e i dati di output. Quando crei un processo di etichettatura, specifichi il prefisso S3 per i dati di output.

Per i lavori di etichettatura basati su immagini, Ground Truth richiede che tutti i bucket S3 abbiano una policy allegata. CORS Per ulteriori informazioni, consulta CORSRequisito di autorizzazione.

Dopo aver configurato il bucket Amazon S3 e creato il processo di etichettatura, puoi aggiungere oggetti al bucket e Ground Truth invia l'oggetto ai worker o lo colloca nella tua coda Amazon. SQS

Per ulteriori informazioni, consulta Impostazione delle notifiche di eventi di bucket Amazon S3.

Importante

Questa opzione non è disponibile per i processi di etichettatura basati su testo come la classificazione del testo e il riconoscimento di entità denominate.

Gestisci le richieste di etichettatura con Amazon SQS Queue

Quando Ground Truth crea il tuo lavoro di etichettatura in streaming, crea una SQS coda Amazon nell' AWS account utilizzato per creare il lavoro di etichettatura. Il nome della coda è GroundTruth-labeling_job_name dove labeling_job_name è il nome del processo di etichettatura, in lettere minuscole. Quando invii oggetti dati al tuo processo di etichettatura, Ground Truth invia gli oggetti dati direttamente ai worker o mette l'attività in coda per essere elaborata in un secondo momento. Se un oggetto di dati non viene inviato a un worker dopo 14 giorni, esso scade e viene rimosso dalla coda. Puoi impostare un allarme in Amazon SQS per rilevare quando gli oggetti scadono e utilizzare questo meccanismo per controllare il volume di oggetti che invii al tuo lavoro di etichettatura.

Importante

La modifica, l'eliminazione o l'invio di oggetti direttamente alla SQS coda Amazon associata al processo di etichettatura in streaming può causare errori nel processo.

Ricezione di i dati di output da un processo di etichettatura in streaming

Il bucket di output di Amazon S3 viene aggiornato periodicamente con nuovi dati di output derivanti dal processo di etichettatura in streaming.

Facoltativamente, puoi specificare un argomento di SNS output di Amazon. Ogni volta che un worker invia un oggetto etichettato, viene inviata una notifica con i dati di output a quell'argomento. Puoi sottoscrivere un endpoint al tuo argomento SNS di output per ricevere notifiche o attivare eventi quando ricevi dati di output da un'attività di etichettatura. Utilizza un argomento SNS di output di Amazon se desideri eseguire il collegamento in tempo reale a un altro processo di streaming e ricevere SNS notifiche Amazon ogni volta che un oggetto dati viene inviato da un lavoratore.

Per ulteriori informazioni, consulta Iscrivere un endpoint a un argomento di output Amazon SNS.

Gestione di messaggi duplicati

Per gli oggetti dati inviati in tempo reale, Ground Truth garantisce l'idempotenza assicurando che ogni oggetto univoco venga inviato per l'etichettatura una sola volta, anche se il messaggio di input che si riferisce a quell'oggetto viene ricevuto più volte (messaggi duplicati). A tale scopo, a ciascun oggetto di dati inviato a un processo di etichettatura in streaming viene assegnato un ID di deduplicazione, che viene identificato con una chiave di deduplicazione.

Se invii le tue richieste di etichettatura degli oggetti dati direttamente tramite l'argomento di SNS input di Amazon utilizzando SNS i messaggi Amazon, puoi facoltativamente scegliere una chiave di deduplicazione personalizzata e la deduplicazione per i tuoi oggetti. IDs Per ulteriori informazioni, consulta Specificare una chiave di deduplicazione e un ID in un messaggio Amazon SNS.

Se non fornisci una chiave di deduplicazione o se utilizzi la configurazione Amazon S3 per inviare oggetti dati al processo di etichettatura, Ground Truth utilizza uno dei seguenti come ID di deduplicazione:

Specificare una chiave di deduplicazione e un ID in un messaggio Amazon SNS

Quando invii un oggetto dati al tuo processo di etichettatura in streaming utilizzando un SNS messaggio Amazon, hai la possibilità di specificare la chiave di deduplicazione e l'ID di deduplicazione in uno dei seguenti modi. In tutti questi scenari, identifica la tua chiave di deduplicazione con dataset-objectid-attribute-name.

Porta la tua chiave di deduplicazione e il tuo ID

Crea la tua chiave di deduplicazione e il tuo ID di deduplicazione configurando il tuo messaggio Amazon come segue. SNS Sostituisci byo-key con la tua chiave e UniqueId con l'ID di deduplicazione per quell'oggetto di dati.

{ "source-ref":"s3://bucket/prefix/object1", "dataset-objectid-attribute-name":"byo-key", "byo-key":"UniqueId" }

La chiave di deduplicazione può contenere fino a 140 caratteri. I modelli supportati includono: "^[$a-zA-Z0-9](-*[a-zA-Z0-9])*"

L'ID di deduplicazione può contenere fino a 1.024 caratteri. I modelli supportati includono: ^(https|s3)://([^/]+)/?(.*)$

Usa una chiave esistente per la tua chiave di deduplicazione

È possibile utilizzare una chiave esistente nel messaggio come chiave di deduplicazione. Quando si esegue questa operazione, il valore associato a quella chiave viene utilizzato come ID di deduplicazione.

Ad esempio, è possibile specificare l'utilizzo della chiave source-ref come chiave di deduplicazione formattando il messaggio come segue:

{ "source-ref":"s3://bucket/prefix/object1", "dataset-objectid-attribute-name":"source-ref" }

In questo esempio, Ground Truth utilizza "s3://bucket/prefix/object1" come id di deduplicazione.

Trova la chiave e l'ID di deduplicazione nei dati di output

Puoi vedere la chiave di deduplicazione e l'ID nei dati di output. La chiave di deduplicazione è identificata da dataset-objectid-attribute-name.

Quando si utilizza una chiave di deduplicazione personalizzata, l'output contiene qualcosa di simile al seguente:

"dataset-objectid-attribute-name": "byo-key", "byo-key": "UniqueId",

Quando non si specifica una chiave, è possibile trovare l'ID di deduplicazione assegnato da Ground Truth all'oggetto dati come segue. Il parametro $label-attribute-name-object-id identifica l'ID di deduplicazione.

{ "source-ref":"s3://bucket/prefix/object1", "dataset-objectid-attribute-name":"$label-attribute-name-object-id" "label-attribute-name" :0, "label-attribute-name-metadata": {...}, "$label-attribute-name-object-id":"<service-generated-key>" }

In <service-generated-key>, se l'oggetto dati proviene da una configurazione S3 Amazon, Ground Truth aggiunge un valore univoco utilizzato dal servizio ed emette un nuovo campo con chiave da $sequencer che mostra il sequencer S3 Amazon utilizzato. Se l'oggetto è stato inviato SNS direttamente a, Ground Truth utilizza l'ID del SNS messaggio.

Nota

Non utilizzare il carattere $ nel nome dell'attributo dell'etichetta.