Oscura automaticamente le informazioni personali per il machine learning utilizzando Amazon SageMaker Data Wrangler | Servizi Web di Amazon

Oscura automaticamente le informazioni personali per il machine learning utilizzando Amazon SageMaker Data Wrangler | Servizi Web di Amazon

I clienti desiderano utilizzare sempre più approcci di deep learning come modelli linguistici di grandi dimensioni (LLM) per automatizzare l'estrazione di dati e insight. Per molti settori, i dati utili per l'apprendimento automatico (ML) possono contenere informazioni di identificazione personale (PII). Per garantire la privacy dei clienti e mantenere la conformità normativa durante la formazione, il perfezionamento e l'utilizzo di modelli di deep learning, è spesso necessario prima oscurare le PII dai dati di origine.

Questo post mostra come utilizzare Gestore di dati di Amazon SageMaker ed Amazon Comprehend per oscurare automaticamente le PII dai dati tabulari come parte del tuo operazioni di apprendimento automatico (ML Ops).

Problema: dati ML che contengono PII

Per PII si intende qualsiasi rappresentazione di informazioni che consenta di dedurre ragionevolmente l'identità di un individuo a cui si riferiscono le informazioni con mezzi diretti o indiretti. Le PII sono informazioni che identificano direttamente un individuo (nome, indirizzo, numero di previdenza sociale o altro numero o codice identificativo, numero di telefono, indirizzo e-mail e così via) o informazioni che un'agenzia intende utilizzare per identificare individui specifici insieme ad altri elementi di dati, ovvero identificazione indiretta.

I clienti in settori aziendali quali quello finanziario, della vendita al dettaglio, legale e governativo gestiscono regolarmente i dati PII. A causa di varie normative e norme governative, i clienti devono trovare un meccanismo per gestire questi dati sensibili con misure di sicurezza adeguate per evitare sanzioni normative, possibili frodi e diffamazione. La redazione PII è il processo di mascheramento o rimozione di informazioni sensibili da un documento in modo che possa essere utilizzato e distribuito, proteggendo comunque le informazioni riservate.

Le aziende devono offrire esperienze cliente piacevoli e risultati aziendali migliori utilizzando il machine learning. La redazione dei dati PII è spesso un primo passo fondamentale per sbloccare i flussi di dati più ampi e ricchi necessari per utilizzare o ottimizzare modelli di intelligenza artificiale generativa, senza preoccuparsi se i loro dati aziendali (o quelli dei loro clienti) verranno compromessi.

Panoramica della soluzione

Questa soluzione utilizza Amazon Comprehend e SageMaker Data Wrangler per oscurare automaticamente i dati PII da un set di dati di esempio.

Amazon Comprehend è un servizio di elaborazione del linguaggio naturale (NLP) che utilizza il machine learning per scoprire informazioni e relazioni in dati non strutturati, senza che sia richiesta alcuna infrastruttura di gestione o esperienza di machine learning. Fornisce funzionalità per individuare vari tipi di entità PII all'interno del testo, ad esempio nomi o numeri di carte di credito. Sebbene i più recenti modelli di intelligenza artificiale generativa abbiano dimostrato una certa capacità di redazione delle PII, in genere non forniscono un punteggio di confidenza per l'identificazione delle PII o dati strutturati che descrivono ciò che è stato oscurato. La funzionalità PII di Amazon Comprehend restituisce entrambi, consentendoti di creare flussi di lavoro di redazione completamente verificabili su larga scala. Inoltre, utilizzando Amazon Comprehend con Collegamento privato AWS significa che i dati dei clienti non lasciano mai la rete AWS e sono costantemente protetti con gli stessi controlli di accesso ai dati e privacy del resto delle tue applicazioni.

Simile ad Amazon Comprehend, Amazon Macie utilizza un motore basato su regole per identificare i dati sensibili (incluse le PII) archiviati Servizio di archiviazione semplice Amazon (Amazon S3). Tuttavia, il suo approccio basato su regole si basa sulla presenza di parole chiave specifiche che indicano i dati sensibili situati vicino a tali dati (entro 30 caratteri). Al contrario, l'approccio ML basato su NLP di Amazon Comprehend utilizza la comprensione semantica di porzioni di testo più lunghe per identificare le PII, rendendolo più utile per trovare le PII all'interno di dati non strutturati.

Inoltre, per dati tabulari come CSV o file di testo semplice, Macie restituisce informazioni sulla posizione meno dettagliate rispetto ad Amazon Comprehend (rispettivamente un indicatore di riga/colonna o un numero di riga, ma non gli offset dei caratteri di inizio e fine). Ciò rende Amazon Comprehend particolarmente utile per redigere le PII da testo non strutturato che può contenere un mix di parole PII e non PII (ad esempio, ticket di supporto o prompt LLM) archiviato in formato tabellare.

Amazon Sage Maker fornisce strumenti specifici per i team ML per automatizzare e standardizzare i processi nell'intero ciclo di vita ML. Con gli strumenti SageMaker MLOps, i team possono facilmente preparare, formare, testare, risolvere problemi, distribuire e governare modelli ML su larga scala, aumentando la produttività dei data scientist e degli ingegneri ML mantenendo al contempo le prestazioni del modello in produzione. Il diagramma seguente illustra il flusso di lavoro SageMaker MLOps.

Pipeline SageMaker

SageMaker Data Wrangler è una funzionalità di Amazon Sage Maker Studio che fornisce una soluzione end-to-end per importare, preparare, trasformare, mettere in evidenza e analizzare set di dati archiviati in posizioni come Amazon S3 o Amazzone Atena, un primo passo comune nel ciclo di vita del machine learning. Puoi utilizzare SageMaker Data Wrangler per semplificare e ottimizzare la preelaborazione dei set di dati e la progettazione delle funzionalità utilizzando trasformazioni integrate senza codice o personalizzando con i tuoi script Python.

L'utilizzo di Amazon Comprehend per redigere le PII come parte di un flusso di lavoro di preparazione dei dati di SageMaker Data Wrangler mantiene tutti gli usi a valle dei dati, come l'addestramento del modello o l'inferenza, in linea con i requisiti PII della tua organizzazione. Puoi integrare SageMaker Data Wrangler con Pipeline di Amazon SageMaker per automatizzare le operazioni ML end-to-end, inclusa la preparazione dei dati e la redazione delle PII. Per ulteriori dettagli, fare riferimento a Integrazione di SageMaker Data Wrangler con SageMaker Pipelines. Il resto di questo post mostra un flusso SageMaker Data Wrangler che utilizza Amazon Comprehend per oscurare le informazioni personali dal testo archiviato in formato dati tabulare.

Questa soluzione utilizza un public set di dati sintetici insieme a un flusso SageMaker Data Wrangler personalizzato, disponibile come file in GitHub. I passaggi per utilizzare il flusso SageMaker Data Wrangler per oscurare le PII sono i seguenti:

  1. Apri SageMaker Studio.
  2. Scarica il flusso SageMaker Data Wrangler.
  3. Esamina il flusso di SageMaker Data Wrangler.
  4. Aggiungi un nodo di destinazione.
  5. Crea un lavoro di esportazione di SageMaker Data Wrangler.

Il completamento di questa procedura dettagliata, inclusa l'esecuzione del processo di esportazione, dovrebbe richiedere 20-25 minuti.

Prerequisiti

Per questa procedura dettagliata, dovresti avere quanto segue:

Apri SageMakerStudio

Per aprire SageMaker Studio, completare i seguenti passaggi:

  1. Sulla console di SageMaker, scegli Studio nel pannello di navigazione.
  2. Scegli il dominio e il profilo utente
  3. Scegli Apri Studio.

Per iniziare con le nuove funzionalità di SageMaker Data Wrangler, si consiglia di farlo aggiornare all'ultima versione.

Scarica il flusso SageMaker Data Wrangler

Devi prima recuperare il file di flusso SageMaker Data Wrangler da GitHub e caricarlo su SageMaker Studio. Completa i seguenti passaggi:

  1. Passare a SageMaker Data Wrangler redact-pii.flow file su GitHub.
  2. Su GitHub, scegli l'icona di download per scaricare il file di flusso sul tuo computer locale.
  3. In SageMaker Studio, scegli l'icona del file nel riquadro di navigazione.
  4. Scegli l'icona di caricamento, quindi scegli redact-pii.flow.

Carica flusso di Data Wrangler

Esamina il flusso di SageMaker Data Wrangler

In SageMaker Studio, apri redact-pii.flow. Dopo alcuni minuti, il flusso terminerà il caricamento e mostrerà il diagramma di flusso (vedere lo screenshot seguente). Il flusso contiene sei passaggi: an Sorgente S3 passo seguito da cinque passi di trasformazione.

Passaggi del flusso di Data Wrangler

Nel diagramma di flusso, scegli l'ultimo passaggio, Redatta PII. Tutti i passaggi il riquadro si apre a destra e mostra un elenco dei passaggi nel flusso. Puoi espandere ogni passaggio per visualizzare i dettagli, modificare i parametri e potenzialmente aggiungere codice personalizzato.

Dettagli della fase del flusso di Data Wrangler

Esaminiamo ogni passaggio del flusso.

Passaggi 1 (Sorgente S3) e 2 (Tipi di dati) vengono aggiunti da SageMaker Data Wrangler ogni volta che i dati vengono importati per un nuovo flusso. In Sorgente S3, le URI S3 punta al set di dati di esempio, che è un file CSV archiviato in Amazon S3. Il file contiene circa 116,000 righe e il flusso imposta il valore di Campionamento campo su 1,000, il che significa che SageMaker Data Wrangler campionerà 1,000 righe da visualizzare nell'interfaccia utente. Tipi di dati imposta il tipo di dati per ciascuna colonna di dati importati.

Passaggio 3 (Campionamento) imposta il numero di righe che SageMaker Data Wrangler campionerà per un processo di esportazione su 5,000, tramite Dimensione approssimativa del campione campo. Tieni presente che questo è diverso dal numero di righe campionate da visualizzare nell'interfaccia utente (Passaggio 1). Per esportare i dati con più righe, puoi aumentare questo numero o rimuovere il passaggio 3.

Utilizzare i passaggi 4, 5 e 6 Trasformazioni personalizzate di SageMaker Data Wrangler. Le trasformazioni personalizzate ti consentono di eseguire il tuo codice Python o SQL all'interno di un flusso Data Wrangler. Il codice personalizzato può essere scritto in quattro modi:

  • In SQL, utilizzare PySpark SQL per modificare il set di dati
  • In Python, utilizzando un frame di dati PySpark e librerie per modificare il set di dati
  • In Python, utilizzando a panda frame di dati e librerie per modificare il set di dati
  • In Python, utilizzando una funzione definita dall'utente per modificare una colonna del set di dati

L'approccio Python (panda) richiede che il set di dati si adatti alla memoria e possa essere eseguito solo su una singola istanza, limitando la sua capacità di scalare in modo efficiente. Quando si lavora in Python con set di dati di grandi dimensioni, si consiglia di utilizzare l'approccio Python (PySpark) o Python (funzione definita dall'utente). SageMaker Data Wrangler ottimizza le funzioni Python definite dall'utente per fornire prestazioni simili a un plug-in Apache Spark, senza bisogno di conoscere PySpark o Pandas. Per rendere questa soluzione il più accessibile possibile, questo post utilizza una funzione Python definita dall'utente scritta in puro Python.

Espandi il passaggio 4 (Crea una colonna PII) per visualizzarne i dettagli. Questo passaggio combina diversi tipi di dati PII da più colonne in un'unica frase salvata in una nuova colonna, pii_col. La tabella seguente mostra una riga di esempio contenente dati.

Nome del cliente cliente_lavoro Indirizzo di fatturazione email_cliente
Katie Giornalista 19009 Vang Quadrati Suite 805 hboyd@gmail.com

Questo è combinato nella frase "Katie è una giornalista che vive al 19009 Vang Squares Suite 805 e può essere inviata via email a hboyd@gmail.com”. La frase viene salvata in pii_col, che questo post utilizza come colonna di destinazione da oscurare.

Passaggio 5 (Preparati per la redazione) richiede una colonna da redigere (pii_col) e crea una nuova colonna (pii_col_prep) pronto per una redazione efficiente utilizzando Amazon Comprehend. Per oscurare le PII da una colonna diversa, è possibile modificare il file Colonna di input campo di questo passaggio.

Esistono due fattori da considerare per oscurare i dati in modo efficiente utilizzando Amazon Comprehend:

  • Il costo per rilevare le PII è definito su base unitaria, dove 1 unità = 100 caratteri, con un addebito minimo di 3 unità per ciascun documento. Poiché i dati tabulari spesso contengono piccole quantità di testo per cella, in genere è più efficiente in termini di tempo e costi combinare il testo di più celle in un unico documento da inviare ad Amazon Comprehend. In questo modo si evita l'accumulo di sovraccarico derivante da numerose chiamate di funzione ripetute e si garantisce che i dati inviati siano sempre superiori al minimo di 3 unità.
  • Poiché stiamo eseguendo la redazione come una fase di un flusso di SageMaker Data Wrangler, chiameremo Amazon Comprehend in modo sincrono. Amazon Comprehend imposta a Limite di 100 KB (100,000 caratteri). per chiamata di funzione sincrona, quindi dobbiamo assicurarci che qualsiasi testo che inviamo sia inferiore a tale limite.

Considerati questi fattori, la fase 5 prepara i dati da inviare ad Amazon Comprehend aggiungendo una stringa delimitatrice alla fine del testo in ogni cella. Per il delimitatore, puoi utilizzare qualsiasi stringa che non si trova nella colonna da oscurare (idealmente, una che contenga il minor numero di caratteri possibile, perché sono inclusi nel totale dei caratteri di Amazon Comprehend). L'aggiunta di questo delimitatore di cella ci consente di ottimizzare la chiamata ad Amazon Comprehend e verrà discussa ulteriormente nella fase 6.

Tieni presente che se il testo in una singola cella è più lungo del limite di Amazon Comprehend, il codice in questa fase lo troncherà a 100,000 caratteri (equivalenti all'incirca a 15,000 parole o 30 pagine con interlinea singola). Sebbene sia improbabile che questa quantità di testo venga archiviata in una singola cella, è possibile modificare il codice di trasformazione per gestire questo caso limite in un altro modo, se necessario.

Passaggio 6 (Redatta PII) accetta un nome di colonna da oscurare come input (pii_col_prep) e salva il testo redatto in una nuova colonna (pii_redacted). Quando utilizzi una trasformazione di funzione personalizzata Python, SageMaker Data Wrangler definisce un file vuoto custom_func ci vuole un panda serie (una colonna di testo) come input e restituisce una serie di panda modificata della stessa lunghezza. Lo screenshot seguente mostra parte del file Redatta PII passo.

Codice di redazione della funzione personalizzata Data Wrangler

La funzione custom_func contiene due funzioni helper (interne):

  • make_text_chunks – Questa funzione esegue il lavoro di concatenazione del testo delle singole celle della serie (compresi i relativi delimitatori) in stringhe più lunghe (pezzi) da inviare ad Amazon Comprehend.
  • redact_pii– Questa funzione accetta il testo come input, chiama Amazon Comprehend per rilevare le PII, oscura tutto ciò che viene trovato e restituisce il testo oscurato. La redazione viene eseguita sostituendo qualsiasi testo PII con il tipo di PII trovato tra parentesi quadre, ad esempio John Smith verrebbe sostituito con [NOME]. È possibile modificare questa funzione per sostituire le PII con qualsiasi stringa, inclusa la stringa vuota (“”) per rimuoverla. Puoi anche modificare la funzione per verificare il punteggio di confidenza di ciascuna entità PII e oscurarlo solo se è superiore a una soglia specifica.

Dopo aver definito le funzioni interne, custom_func li usa per eseguire la redazione, come mostrato nel seguente estratto di codice. Una volta completata la redazione, riconverte i blocchi nelle celle originali, che salva nel file pii_redacted colonna.

# concatenate text from cells into longer chunks
chunks = make_text_chunks(series, COMPREHEND_MAX_CHARS) redacted_chunks = []
# call Comprehend once for each chunk, and redact
for text in chunks: redacted_text = redact_pii(text) redacted_chunks.append(redacted_text) # join all redacted chunks into one text string
redacted_text = ''.join(redacted_chunks) # split back to list of the original rows
redacted_rows = redacted_text.split(CELL_DELIM)

Aggiungi un nodo di destinazione

Per vedere il risultato delle tue trasformazioni, SageMaker Data Wrangler supporta l'esportazione su Amazon S3, SageMaker Pipelines, Negozio di funzionalità Amazon SageMakere codice Python. Per esportare i dati redatti su Amazon S3, dobbiamo prima creare un nodo di destinazione:

  1. Nel diagramma di flusso di SageMaker Data Wrangler, scegli il segno più accanto a Redatta PII passo.
  2. Scegli Aggiungi destinazione, Quindi scegliere Amazon S3.
  3. Fornisci un nome di output per il set di dati trasformato.
  4. Sfoglia o inserisci la posizione S3 in cui archiviare il file di dati oscurati.
  5. Scegli Aggiungi destinazione.

Ora dovresti vedere il nodo di destinazione alla fine del flusso di dati.

Crea un lavoro di esportazione di SageMaker Data Wrangler

Ora che il nodo di destinazione è stato aggiunto, possiamo creare il job di esportazione per elaborare il set di dati:

  1. In SageMaker Data Wrangler, scegli Crea lavoro.
  2. Il nodo di destinazione appena aggiunto dovrebbe essere già selezionato. Scegliere Avanti.
  3. Accetta le impostazioni predefinite per tutte le altre opzioni, quindi scegli Correre.

Questo crea a Lavoro di elaborazione di SageMaker. Per visualizzare lo stato del lavoro, accedere alla console SageMaker. Nel riquadro di navigazione, espandere il file Processando sezione e scegliere Lavori di elaborazione. La redazione di tutte le 116,000 celle nella colonna di destinazione utilizzando le impostazioni predefinite del processo di esportazione (due istanze ml.m5.4xlarge) richiede circa 8 minuti e costa circa $ 0.25. Una volta completato il lavoro, scarica il file di output con la colonna oscurata da Amazon S3.

ripulire

L'applicazione SageMaker Data Wrangler viene eseguita su un'istanza ml.m5.4xlarge. Per spegnerlo, in SageMaker Studio, scegli Terminali e kernel in esecuzione nel riquadro di navigazione. Nel ISTANZE DI CORSA sezione, trova l'istanza etichettata Wrangler di dati e scegli l'icona di spegnimento accanto ad essa. Ciò arresta l'applicazione SageMaker Data Wrangler in esecuzione sull'istanza.

Conclusione

In questo post, abbiamo discusso come utilizzare le trasformazioni personalizzate in SageMaker Data Wrangler e Amazon Comprehend per oscurare i dati PII dal tuo set di dati ML. Puoi scaricare il flusso SageMaker Data Wrangler e inizia oggi stesso a redigere le PII dai tuoi dati tabulari.

Per altri modi per migliorare il flusso di lavoro MLOps utilizzando le trasformazioni personalizzate di SageMaker Data Wrangler, consulta Creazione di trasformazioni personalizzate in Amazon SageMaker Data Wrangler utilizzando NLTK e SciPy. Per ulteriori opzioni di preparazione dei dati, consulta la serie di post di blog che spiega come utilizzare Amazon Comprehend per reagire, tradurre e analizzare il testo da entrambi Amazzone Atena or Amazon RedShift.


Informazioni sugli autori

Tricia JamisonTricia Jamison è Senior Prototyping Architect nel team AWS Prototyping and Cloud Acceleration (PACE), dove aiuta i clienti AWS a implementare soluzioni innovative a problemi complessi con l'apprendimento automatico, l'Internet delle cose (IoT) e le tecnologie serverless. Vive a New York City e le piace il basket, le escursioni a lunga distanza e stare un passo avanti rispetto ai suoi figli.

Oscura automaticamente le informazioni personali per il machine learning utilizzando Amazon SageMaker Data Wrangler | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Neelam Koshiya è un Enterprise Solutions Architect presso AWS. Con un background in ingegneria del software, è passata organicamente a un ruolo di architettura. Il suo obiettivo attuale è aiutare i clienti aziendali nel loro percorso di adozione del cloud per risultati aziendali strategici con l'area di approfondimento dell'AI/ML. È appassionata di innovazione e inclusione. Nel tempo libero ama leggere e stare all'aria aperta.

Oscura automaticamente le informazioni personali per il machine learning utilizzando Amazon SageMaker Data Wrangler | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Adeleke Coker è un Global Solutions Architect con AWS. Lavora con clienti a livello globale per fornire guida e assistenza tecnica nella distribuzione di carichi di lavoro di produzione su larga scala su AWS. Nel tempo libero ama imparare, leggere, giocare e guardare eventi sportivi.

Timestamp:

Di più da Apprendimento automatico di AWS