Questo è un post congiunto co-scritto da Leidos e AWS. Leidos è un leader di soluzioni scientifiche e tecnologiche FORTUNE 500 che lavora per affrontare alcune delle sfide più difficili del mondo nei mercati della difesa, dell'intelligence, della sicurezza nazionale, civile e sanitario.
Leidos ha stretto una partnership con AWS per sviluppare un approccio alla modellazione di machine learning (ML) confidenziale e che tuteli la privacy, in cui crei pipeline crittografate abilitate per il cloud.
La crittografia omomorfica è un nuovo approccio alla crittografia che consente di eseguire calcoli e funzioni analitiche su dati crittografati, senza doverli prima decrittografare, al fine di preservare la privacy nei casi in cui si dispone di una politica che afferma che i dati non devono mai essere decrittografati. La crittografia completamente omomorfica (FHE) è la nozione più forte di questo tipo di approccio e ti consente di sbloccare il valore dei tuoi dati in cui la fiducia zero è la chiave. Il requisito fondamentale è che i dati devono poter essere rappresentati con numeri attraverso una tecnica di codifica, che può essere applicata a set di dati numerici, testuali e basati su immagini. I dati che utilizzano FHE sono di dimensioni maggiori, quindi i test devono essere eseguiti per le applicazioni che richiedono l'esecuzione dell'inferenza quasi in tempo reale o con limiti di dimensione. È anche importante formulare tutti i calcoli come equazioni lineari.
In questo post, mostriamo come attivare le previsioni ML che preservano la privacy per gli ambienti più regolamentati. Le previsioni (inferenza) utilizzano dati crittografati e i risultati vengono decrittografati solo dal consumatore finale (lato client).
Per dimostrarlo, mostriamo un esempio di personalizzazione di un file Amazon Sage Maker Scikit-learn, open source, contenitore di deep learning per consentire a un endpoint distribuito di accettare richieste di inferenza crittografate lato client. Sebbene questo esempio mostri come eseguire questa operazione per le operazioni di inferenza, è possibile estendere la soluzione all'addestramento e ad altri passaggi di ML.
Gli endpoint vengono distribuiti con un paio di clic o righe di codice utilizzando SageMaker, che semplifica il processo per gli sviluppatori e gli esperti di ML per creare e addestrare modelli di ML e deep learning nel cloud. I modelli creati utilizzando SageMaker possono quindi essere distribuiti come endpoint in tempo reale, che è fondamentale per i carichi di lavoro di inferenza in cui si hanno requisiti in tempo reale, stato stazionario e bassa latenza. Le applicazioni e i servizi possono chiamare l'endpoint distribuito direttamente o tramite un serverless distribuito Gateway API Amazon architettura. Per ulteriori informazioni sulle best practice dell'architettura degli endpoint in tempo reale, fare riferimento a Creazione di un'API REST basata su machine learning con modelli di mappatura Amazon API Gateway e Amazon SageMaker. La figura seguente mostra entrambe le versioni di questi modelli.
In entrambi questi modelli, la crittografia in transito fornisce riservatezza mentre i dati passano attraverso i servizi per eseguire l'operazione di inferenza. Quando vengono ricevuti dall'endpoint SageMaker, i dati vengono generalmente decrittografati per eseguire l'operazione di inferenza in fase di runtime e sono inaccessibili a qualsiasi codice e processo esterno. Per ottenere ulteriori livelli di protezione, FHE consente all'operazione di inferenza di generare risultati crittografati per i quali i risultati possono essere decrittografati da un'applicazione o un client attendibili.
Maggiori informazioni sulla crittografia completamente omomorfica
FHE consente ai sistemi di eseguire calcoli su dati crittografati. I calcoli risultanti, una volta decifrati, sono controllabilmente vicini a quelli prodotti senza il processo di crittografia. FHE può comportare una piccola imprecisione matematica, simile a un errore in virgola mobile, a causa del rumore iniettato nel calcolo. È controllato selezionando i parametri di crittografia FHE appropriati, che è un parametro ottimizzato specifico del problema. Per ulteriori informazioni, guarda il video Come spiegheresti la crittografia omomorfica?
Il diagramma seguente fornisce un esempio di implementazione di un sistema FHE.
In questo sistema, tu o il tuo cliente fidato potete fare quanto segue:
- Crittografare i dati utilizzando uno schema FHE a chiave pubblica. Esistono un paio di diversi schemi accettabili; in questo esempio, stiamo usando lo schema CKKS. Per ulteriori informazioni sul processo di crittografia a chiave pubblica FHE che abbiamo scelto, fare riferimento a CKKS ha spiegato.
- Invia dati crittografati lato client a un provider o server per l'elaborazione.
- Eseguire l'inferenza del modello su dati crittografati; con FHE, non è richiesta alcuna decrittazione.
- I risultati crittografati vengono restituiti al chiamante e quindi decrittografati per rivelare il risultato utilizzando una chiave privata disponibile solo per te o per i tuoi utenti fidati all'interno del client.
Abbiamo utilizzato l'architettura precedente per impostare un esempio utilizzando gli endpoint SageMaker, Pifel come wrapper API FHE che semplifica l'integrazione con le applicazioni ML e TENUTA come il nostro toolkit di crittografia FHE sottostante.
Panoramica della soluzione
Abbiamo creato un esempio di pipeline FHE scalabile in AWS utilizzando un file SKLearn regressione logistica contenitore di deep learning con il Set di dati Iris. Eseguiamo l'esplorazione dei dati e l'ingegnerizzazione delle funzionalità utilizzando un notebook SageMaker, quindi eseguiamo l'addestramento del modello utilizzando un Lavoro di formazione SageMaker. Il modello risultante è schierato a un endpoint SageMaker in tempo reale per l'utilizzo da parte dei servizi client, come mostrato nel diagramma seguente.
In questa architettura, solo l'applicazione client vede i dati non crittografati. I dati elaborati attraverso il modello per l'inferenza rimangono crittografati per tutto il loro ciclo di vita, anche in fase di esecuzione all'interno del processore nell'isolato Enclave AWS Nitro. Nelle sezioni seguenti, esaminiamo il codice per creare questa pipeline.
Prerequisiti
Per proseguire, assumiamo che tu abbia lanciato un file Taccuino SageMaker con Gestione dell'identità e dell'accesso di AWS (IAM) ruolo con il AmazonSageMakerFullAccess politica gestita.
Allena il modello
Il diagramma seguente illustra il flusso di lavoro di addestramento del modello.
Il codice seguente mostra come prepariamo i dati per l'addestramento utilizzando i notebook SageMaker estraendo il nostro set di dati di addestramento, eseguendo le operazioni di pulizia necessarie e quindi caricando i dati su un Servizio di archiviazione semplice Amazon (Amazon S3) secchio. In questa fase, potrebbe anche essere necessario progettare funzionalità aggiuntive del set di dati o integrarle con diversi negozi di funzionalità offline.
In questo esempio, stiamo usando modalità script su un framework supportato nativamente all'interno di SageMaker (scikit-impara), dove creiamo un'istanza del nostro stimatore SageMaker SKLearn predefinito con uno script di addestramento personalizzato per gestire i dati crittografati durante l'inferenza. Per ulteriori informazioni sui framework supportati in modo nativo e sulla modalità script, fare riferimento a Usa i framework di apprendimento automatico, Python e R con Amazon SageMaker.
Infine, addestriamo il nostro modello sul set di dati e distribuiamo il nostro modello addestrato al tipo di istanza di nostra scelta.
A questo punto, abbiamo addestrato un modello SKLearn FHE personalizzato e lo abbiamo distribuito a un endpoint di inferenza in tempo reale SageMaker pronto ad accettare dati crittografati.
Crittografa e invia i dati del cliente
Il diagramma seguente illustra il flusso di lavoro di crittografia e invio dei dati del client al modello.
Nella maggior parte dei casi, il payload della chiamata all'endpoint di inferenza contiene i dati crittografati anziché archiviarli prima in Amazon S3. Lo facciamo in questo esempio perché abbiamo raggruppato un numero elevato di record nella chiamata di inferenza. In pratica, questa dimensione batch sarà inferiore o verrà invece utilizzata la trasformazione batch. L'utilizzo di Amazon S3 come intermediario non è necessario per FHE.
Ora che l'endpoint di inferenza è stato impostato, possiamo iniziare a inviare i dati. Normalmente utilizziamo diversi set di dati di test e di addestramento, ma per questo esempio utilizziamo lo stesso set di dati di addestramento.
Innanzitutto, carichiamo il set di dati Iris sul lato client. Successivamente, impostiamo il contesto FHE usando Pyfhel. Abbiamo selezionato Pyfhel per questo processo perché è semplice da installare e utilizzare, include schemi FHE popolari e si basa su un'implementazione affidabile della crittografia open source sottostante TENUTA. In questo esempio, inviamo i dati crittografati, insieme alle informazioni sulle chiavi pubbliche per questo schema FHE, al server, che consente all'endpoint di crittografare il risultato da inviare dalla sua parte con i parametri FHE necessari, ma non gli fornisce il capacità di decifrare i dati in arrivo. La chiave privata rimane solo con il client, che ha la capacità di decrittografare i risultati.
Dopo aver crittografato i dati, creiamo un dizionario di dati completo, incluse le chiavi pertinenti e i dati crittografati, da archiviare su Amazon S3. Successivamente, il modello fa le sue previsioni sui dati crittografati dal client, come mostrato nel codice seguente. Si noti che non trasmettiamo la chiave privata, quindi l'host del modello non è in grado di decrittografare i dati. In questo esempio, stiamo passando i dati come oggetto S3; in alternativa, i dati possono essere inviati direttamente all'endpoint Sagemaker. Come endpoint in tempo reale, il payload contiene il parametro data nel corpo della richiesta, che è menzionato nel Documentazione di SageMaker.
Lo screenshot seguente mostra la previsione centrale all'interno fhe_train.py
(l'appendice mostra l'intero copione formativo).
Stiamo calcolando i risultati della nostra regressione logistica crittografata. Questo codice calcola un prodotto scalare crittografato per ogni possibile classe e restituisce i risultati al client. I risultati sono i logit previsti per ogni classe in tutti gli esempi.
Il client restituisce i risultati decrittografati
Il diagramma seguente illustra il flusso di lavoro del client che recupera il risultato crittografato e lo decrittografa (con la chiave privata a cui solo lui ha accesso) per rivelare il risultato dell'inferenza.
In questo esempio, i risultati vengono archiviati su Amazon S3, ma in genere vengono restituiti tramite il payload dell'endpoint in tempo reale. L'utilizzo di Amazon S3 come intermediario non è necessario per FHE.
Il risultato dell'inferenza sarà controllabilmente vicino ai risultati come se lo avessero calcolato da soli, senza utilizzare FHE.
ripulire
Terminiamo questo processo eliminando l'endpoint che abbiamo creato, per assicurarci che non ci siano calcoli inutilizzati dopo questo processo.
Risultati e considerazioni
Uno degli svantaggi comuni dell'utilizzo di FHE sui modelli è che aggiunge sovraccarico computazionale, che, in pratica, rende il modello risultante troppo lento per i casi d'uso interattivi. Tuttavia, nei casi in cui i dati sono altamente sensibili, potrebbe valere la pena accettare questo compromesso di latenza. Tuttavia, per la nostra semplice regressione logistica, siamo in grado di elaborare 140 campioni di dati di input entro 60 secondi e vedere prestazioni lineari. Il grafico seguente include il tempo totale end-to-end, incluso il tempo impiegato dal client per crittografare l'input e decifrare i risultati. Utilizza anche Amazon S3, che aggiunge latenza e non è necessario per questi casi.
Vediamo un ridimensionamento lineare quando aumentiamo il numero di esempi da 1 a 150. Questo è previsto perché ogni esempio è crittografato indipendentemente l'uno dall'altro, quindi ci aspettiamo un aumento lineare del calcolo, con un costo di installazione fisso.
Ciò significa anche che puoi ridimensionare il tuo parco istanze di inferenza orizzontalmente per una maggiore velocità effettiva delle richieste dietro il tuo endpoint SageMaker. Puoi usare Raccomandatore di inferenza Amazon SageMaker per ottimizzare i costi della tua flotta in base alle tue esigenze aziendali.
Conclusione
Ed ecco fatto: crittografia ML completamente omomorfica per un modello di regressione logistica SKLearn che puoi configurare con poche righe di codice. Con alcune personalizzazioni, puoi implementare lo stesso processo di crittografia per diversi tipi di modello e framework, indipendentemente dai dati di addestramento.
Se desideri saperne di più sulla creazione di una soluzione ML che utilizza la crittografia omomorfica, contatta il team o il partner dell'account AWS, Leidos, per saperne di più. Puoi anche fare riferimento alle seguenti risorse per ulteriori esempi:
Il contenuto e le opinioni in questo post contengono quelli di autori di terze parti e AWS non è responsabile del contenuto o dell'accuratezza di questo post.
Appendice
Lo script di formazione completo è il seguente:
Informazioni sugli autori
Liv d'Aliberti è un ricercatore all'interno del Leidos AI/ML Accelerator sotto l'Office of Technology. La loro ricerca si concentra sull'apprendimento automatico che preserva la privacy.
Manbir Gulati è un ricercatore all'interno del Leidos AI/ML Accelerator sotto l'Office of Technology. La sua ricerca si concentra sull'intersezione tra la sicurezza informatica e le minacce emergenti dell'IA.
Joe Kovba è un Cloud Center of Excellence Practice Lead all'interno del Leidos Digital Modernization Accelerator sotto l'Office of Technology. Nel tempo libero si diverte ad arbitrare partite di calcio e giocare a softball.
Ben Snively è un architetto specializzato in soluzioni per il settore pubblico. Lavora con clienti governativi, no profit e dell'istruzione su big data e progetti analitici, aiutandoli a creare soluzioni utilizzando AWS. Nel tempo libero, aggiunge sensori IoT in tutta la casa ed esegue analisi su di essi.
Sami Hoda è Senior Solutions Architect nella divisione Partners Consulting che copre il settore pubblico mondiale. Sami è appassionato di progetti in cui il pensiero progettuale, l'innovazione e l'intelligenza emotiva possono essere utilizzati in parti uguali per risolvere problemi e avere un impatto sulle persone bisognose.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/enable-fully-homomorphic-encryption-with-amazon-sagemaker-endpoints-for-secure-real-time-inferencing/
- :È
- ][P
- $ SU
- 1
- 10
- 100
- 11
- 7
- a
- capacità
- capace
- Chi siamo
- acceleratore
- Accetta
- accettabile
- accesso
- Il mio account
- precisione
- Raggiungere
- operanti in
- aggiuntivo
- indirizzo
- Aggiunge
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- AI / ML
- Tutti
- consente
- Sebbene il
- Amazon
- Gateway API Amazon
- Amazon Sage Maker
- Analitico
- analitica
- ed
- api
- Applicazioni
- applicazioni
- applicato
- approccio
- opportuno
- architettonico
- architettura
- SONO
- AS
- At
- gli autori
- disponibile
- AWS
- BE
- perché
- dietro
- MIGLIORE
- best practice
- pregiudizio
- Big
- Big Data
- stile di vita
- costruire
- Costruzione
- costruito
- affari
- by
- chiamata
- visitatore
- Materiale
- casi
- centro
- Centro di eccellenza
- centrale
- sfide
- Grafico
- dai un'occhiata
- scegliere
- ha scelto
- classe
- Pulizia
- CLF
- cliente
- Chiudi
- Cloud
- codice
- Uncommon
- completamento di una
- calcolo
- calcoli
- Calcolare
- informatica
- riservatezza
- costruire
- consulting
- Consumer
- Contenitore
- contiene
- contenuto
- contesto
- controllata
- Nucleo
- Costo
- Coppia
- copertura
- creato
- critico
- costume
- Clienti
- personalizzazione
- Cybersecurity
- dati
- dataset
- decrypt
- deep
- apprendimento profondo
- Predefinito
- Difesa
- dimostrare
- Dipendente
- schierare
- schierato
- Design
- Design Thinking
- sviluppare
- sviluppatori
- DITT
- diverso
- digitale
- direttamente
- directory
- Divisione
- non
- Dont
- inconvenienti
- durante
- ogni
- Istruzione
- emergenti del mondo
- enable
- Abilita
- crittografato
- crittografia
- da un capo all'altro
- endpoint
- Ingegneria
- Intero
- iscrizione
- ambienti
- equazioni
- errore
- Anche
- esempio
- Esempi
- Eccellenza
- attenderti
- previsto
- esperti
- Spiegare
- esplorazione
- estendere
- esterno
- estratto
- caratteristica
- pochi
- figura
- Nome
- in forma
- fisso
- FLOTTA
- galleggiante
- flussi
- si concentra
- seguire
- i seguenti
- segue
- Calcio
- Nel
- Fortune
- Contesto
- quadri
- Gratis
- da
- pieno
- completamente
- funzioni
- Giochi
- porta
- generalmente
- generare
- ottenere
- Dare
- Enti Pubblici
- maggiore
- maniglia
- Avere
- avendo
- assistenza sanitaria
- aiutare
- vivamente
- patria
- Homeland Security
- host
- Casa
- Come
- Tutorial
- Tuttavia
- HTML
- http
- HTTPS
- Identità
- Impact
- realizzare
- implementazione
- importare
- importante
- in
- inaccessibile
- inclusi
- Compreso
- In arrivo
- Aumento
- studente indipendente
- indipendentemente
- informazioni
- Innovazione
- ingresso
- install
- esempio
- invece
- integrare
- integrazione
- Intelligence
- interattivo
- procacciatore d'affari
- intersezione
- IoT
- isolato
- IT
- SUO
- giunto
- Le
- Tasti
- grandi
- superiore, se assunto singolarmente.
- Latenza
- lanciato
- portare
- leader
- IMPARARE
- apprendimento
- livelli
- ciclo di vita
- piace
- limiti
- Linee
- caricare
- a livello locale
- Basso
- macchina
- machine learning
- make
- FA
- gestito
- mappatura
- Mercati
- matematico
- si intende
- menzionato
- Microsoft
- forza
- ML
- Moda
- modello
- modelli
- Scopri di più
- maggior parte
- necessaria
- Bisogno
- esigenze
- New
- GENERAZIONE
- Nitro
- Rumore
- senza scopo di lucro
- normalmente
- taccuino
- Nozione
- numero
- numeri
- numpy
- oggetto
- of
- Office
- offline
- on
- aprire
- operazione
- Operazioni
- Opinioni
- OTTIMIZZA
- minimo
- OS
- Altro
- produzione
- panda
- parametro
- parametri
- partner
- collaborato
- partner
- Ricambi
- Di passaggio
- appassionato
- sentiero
- modelli
- Persone
- Eseguire
- performance
- esecuzione
- conduttura
- Platone
- Platone Data Intelligence
- PlatoneDati
- gioco
- punto
- politica
- Popolare
- possibile
- Post
- potenzialmente
- pratica
- pratiche
- predire
- previsto
- predizione
- Previsioni
- Predictor
- Preparare
- Privacy
- un bagno
- chiave privata
- problemi
- processi
- Elaborato
- i processi
- lavorazione
- Processore
- Prodotto
- Prodotto
- progetti
- protezione
- fornitore
- fornisce
- la percezione
- chiave pubblica
- chiavi pubbliche
- traino
- metti
- Python
- piuttosto
- raggiungere
- pronto
- di rose
- tempo reale
- ricevuto
- record
- regolamentati
- pertinente
- resti
- rappresentato
- richiesta
- richieste
- necessario
- requisito
- Requisiti
- riparazioni
- ricercatore
- Risorse
- risposta
- responsabile
- REST
- colpevole
- risultante
- Risultati
- ritorno
- problemi
- rivelare
- Ruolo
- RIGA
- Correre
- sagemaker
- Inferenza di SageMaker
- stesso
- Risparmi
- scalabile
- Scala
- scala
- schema
- schemi
- Scienze
- Scienza e Tecnologia
- secondo
- sezioni
- settore
- sicuro
- problemi di
- vede
- selezionato
- Selezione
- invio
- anziano
- delicata
- sensore
- serverless
- Servizi
- set
- flessibile.
- dovrebbero
- mostrare attraverso le sue creazioni
- mostrato
- Spettacoli
- lato
- simile
- Un'espansione
- semplificando
- Taglia
- rallentare
- piccole
- inferiore
- So
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- specialista
- Stage
- inizia a
- Regione / Stato
- stati
- costante
- Passi
- conservazione
- Tornare al suo account
- memorizzati
- negozi
- memorizzare
- supportato
- sistema
- SISTEMI DI TRATTAMENTO
- Target
- team
- Tecnologia
- modelli
- test
- Testing
- che
- I
- loro
- Li
- si
- Strumenti Bowman per analizzare le seguenti finiture:
- Pensiero
- di parti terze standard
- minacce
- Attraverso
- per tutto
- portata
- tempo
- a
- insieme
- pure
- toolkit
- top
- Totale
- Treni
- allenato
- Training
- Trasformare
- transito
- trasmettere
- di fiducia
- Tipi di
- per
- sottostante
- sbloccare
- non usato
- Caricamento
- uso
- utenti
- APPREZZIAMO
- Video
- quale
- volere
- con
- entro
- senza
- Lavora
- lavoro
- lavori
- Il mondo di
- In tutto il mondo
- utile
- sarebbe
- Tu
- Trasferimento da aeroporto a Sharm
- youtube
- zefiro