Dette er fælles indlæg skrevet af Leidos og AWS. Leidos er en FORTUNE 500-leder af videnskabs- og teknologiløsninger, der arbejder på at løse nogle af verdens hårdeste udfordringer på forsvars-, efterretnings-, hjemlandssikkerheds-, civil- og sundhedsmarkedet.
Leidos har indgået et samarbejde med AWS for at udvikle en tilgang til fortrolighedsbevarende, fortrolig maskinlæringsmodellering (ML), hvor du bygger cloud-aktiverede, krypterede pipelines.
Homomorf kryptering er en ny tilgang til kryptering, der gør det muligt at køre beregninger og analytiske funktioner på krypterede data, uden først at skulle dekryptere dem, for at bevare privatlivets fred i tilfælde, hvor du har en politik, der siger, at data aldrig må dekrypteres. Fuldt homomorfisk kryptering (FHE) er den stærkeste opfattelse af denne type tilgang, og den giver dig mulighed for at låse op for værdien af dine data, hvor nul-tillid er nøglen. Kernekravet er, at dataene skal kunne repræsenteres med tal gennem en kodningsteknik, som kan anvendes på numeriske, tekstmæssige og billedbaserede datasæt. Data, der bruger FHE, er større i størrelse, så test skal udføres for applikationer, der kræver, at konklusionen udføres i næsten realtid eller med størrelsesbegrænsninger. Det er også vigtigt at formulere alle beregninger som lineære ligninger.
I dette indlæg viser vi, hvordan du aktiverer privatlivsbevarende ML-forudsigelser for de mest regulerede miljøer. Forudsigelserne (inferens) bruger krypterede data, og resultaterne dekrypteres kun af slutforbrugeren (klientsiden).
For at demonstrere dette viser vi et eksempel på tilpasning af en Amazon SageMaker Scikit-learn, open source, deep learning container for at gøre det muligt for et implementeret slutpunkt at acceptere krypterede inferensanmodninger på klientsiden. Selvom dette eksempel viser, hvordan du udfører dette til inferensoperationer, kan du udvide løsningen til træning og andre ML-trin.
Endpoints implementeres med et par klik eller linjer kode ved hjælp af SageMaker, som forenkler processen for udviklere og ML-eksperter til at bygge og træne ML- og deep learning-modeller i skyen. Modeller bygget ved hjælp af SageMaker kan derefter implementeres som endepunkter i realtid, hvilket er afgørende for inferensarbejdsbelastninger, hvor du har krav til realtid, steady state og lav latenstid. Applikationer og tjenester kan kalde det implementerede slutpunkt direkte eller gennem en installeret serverløs Amazon API Gateway arkitektur. For at lære mere om bedste praksis for arkitektoniske slutpunkter i realtid, se Oprettelse af en maskinlæringsdrevet REST API med Amazon API Gateway-kortlægningsskabeloner og Amazon SageMaker. Den følgende figur viser begge versioner af disse mønstre.
I begge disse mønstre giver kryptering under transit fortrolighed, da dataene strømmer gennem tjenesterne for at udføre slutningsoperationen. Når de modtages af SageMaker-slutpunktet, dekrypteres dataene generelt for at udføre inferensoperationen under kørsel og er utilgængelige for enhver ekstern kode og processer. For at opnå yderligere beskyttelsesniveauer gør FHE det muligt for inferensoperationen at generere krypterede resultater, for hvilke resultaterne kan dekrypteres af en betroet applikation eller klient.
Mere om fuldt homomorf kryptering
FHE gør det muligt for systemer at udføre beregninger på krypterede data. De resulterende beregninger, når de dekrypteres, er kontrollerbart tæt på dem, der produceres uden krypteringsprocessen. FHE kan resultere i en lille matematisk unøjagtighed, svarende til en flydende komma-fejl, på grund af støj indsprøjtet i beregningen. Det styres ved at vælge passende FHE-krypteringsparametre, som er en problemspecifik, indstillet parameter. For mere information, tjek videoen Hvordan vil du forklare homomorf kryptering?
Følgende diagram giver et eksempel på implementering af et FHE-system.
I dette system kan du eller din betroede klient gøre følgende:
- Krypter dataene ved hjælp af en offentlig nøgle FHE-ordning. Der er et par forskellige acceptable ordninger; i dette eksempel bruger vi CKKS-skemaet. For at lære mere om FHE offentlige nøglekrypteringsprocessen, vi valgte, henvises til CKKS forklaret.
- Send krypterede data på klientsiden til en udbyder eller server til behandling.
- Udfør modelslutning på krypterede data; med FHE kræves ingen dekryptering.
- Krypterede resultater returneres til den, der ringer, og dekrypteres derefter for at afsløre dit resultat ved hjælp af en privat nøgle, der kun er tilgængelig for dig eller dine betroede brugere i klienten.
Vi har brugt den foregående arkitektur til at opsætte et eksempel ved hjælp af SageMaker-slutpunkter, Pyfhel som en FHE API-indpakning, der forenkler integrationen med ML-applikationer, og SEAL som vores underliggende FHE-krypteringsværktøj.
Løsningsoversigt
Vi har bygget et eksempel på en skalerbar FHE-pipeline i AWS ved hjælp af en SKLær logistisk regression deep learning container med Iris datasæt. Vi udfører dataudforskning og feature engineering ved hjælp af en SageMaker notebook, og udfører derefter modeltræning ved hjælp af en SageMaker træningsjob. Den resulterende model er indsat til et SageMaker-endepunkt i realtid til brug for klienttjenester, som vist i følgende diagram.
I denne arkitektur er det kun klientapplikationen, der ser ukrypterede data. De data, der behandles gennem modellen til inferencing, forbliver krypteret gennem hele dens livscyklus, selv ved kørsel i processoren i det isolerede AWS Nitro Enklave. I de følgende afsnit gennemgår vi koden for at bygge denne pipeline.
Forudsætninger
For at følge med antager vi, at du har lanceret en SageMaker notesbog med en AWS identitets- og adgangsstyring (IAM) rolle med AmazonSageMakerFullAccess styret politik.
Træn modellen
Følgende diagram illustrerer modeltræningsarbejdsgangen.
Den følgende kode viser, hvordan vi først forbereder dataene til træning ved hjælp af SageMaker-notebooks ved at trække vores træningsdatasæt ind, udføre de nødvendige rengøringsoperationer og derefter uploade dataene til en Amazon Simple Storage Service (Amazon S3) spand. På dette trin skal du muligvis også lave yderligere funktionsudvikling af dit datasæt eller integrere med forskellige offline funktionsbutikker.
I dette eksempel bruger vi script-tilstand på en indbygget understøttet ramme i SageMaker (scikit-lære), hvor vi instansierer vores standard SageMaker SKLearn-estimator med et tilpasset træningsscript til at håndtere de krypterede data under inferens. For at se flere oplysninger om indbygget understøttede rammer og script-tilstand, se Brug Machine Learning Frameworks, Python og R med Amazon SageMaker.
Til sidst træner vi vores model på datasættet og implementerer vores trænede model til den instanstype, vi vælger.
På dette tidspunkt har vi trænet en tilpasset SKLearn FHE-model og implementeret den til et SageMaker-slutpunkt i realtid, der er klar til at acceptere krypterede data.
Krypter og send klientdata
Følgende diagram illustrerer arbejdsgangen for kryptering og afsendelse af klientdata til modellen.
I de fleste tilfælde indeholder nyttelasten af opkaldet til inferensendepunktet de krypterede data i stedet for at gemme dem i Amazon S3 først. Vi gør dette i dette eksempel, fordi vi har samlet et stort antal poster til slutningsopkaldet. I praksis vil denne batchstørrelse være mindre, eller batchtransformation vil blive brugt i stedet. Brug af Amazon S3 som mellemmand er ikke påkrævet for FHE.
Nu hvor inferensendepunktet er blevet sat op, kan vi begynde at sende data over. Vi bruger normalt forskellige test- og træningsdatasæt, men til dette eksempel bruger vi det samme træningsdatasæt.
Først indlæser vi Iris-datasættet på klientsiden. Dernæst opsætter vi FHE-konteksten ved hjælp af Pyfhel. Vi valgte Pyfhel til denne proces, fordi den er enkel at installere og arbejde med, inkluderer populære FHE-skemaer og er afhængig af pålidelig underliggende open source-krypteringsimplementering SEAL. I dette eksempel sender vi de krypterede data sammen med offentlige nøgleoplysninger for dette FHE-skema til serveren, som gør det muligt for slutpunktet at kryptere resultatet for at sende på sin side med de nødvendige FHE-parametre, men ikke giver det mulighed for at dekryptere de indgående data. Den private nøgle forbliver kun hos klienten, som har evnen til at dekryptere resultaterne.
Efter vi krypterer vores data, sammensætter vi en komplet dataordbog – inklusive de relevante nøgler og krypterede data – til at blive gemt på Amazon S3. Bagefter foretager modellen sine forudsigelser over de krypterede data fra klienten, som vist i følgende kode. Bemærk, at vi ikke transmitterer den private nøgle, så modelværten er ikke i stand til at dekryptere dataene. I dette eksempel sender vi dataene igennem som et S3-objekt; alternativt kan disse data sendes direkte til Sagemaker-slutpunktet. Som et realtidsslutpunkt indeholder nyttelasten dataparameteren i forespørgslens brødtekst, som er nævnt i SageMaker dokumentation.
Følgende skærmbillede viser den centrale forudsigelse indeni fhe_train.py
(bilaget viser hele træningsscriptet).
Vi er ved at beregne resultaterne af vores krypterede logistiske regression. Denne kode beregner et krypteret skalarprodukt for hver mulig klasse og returnerer resultaterne til klienten. Resultaterne er de forudsagte logits for hver klasse på tværs af alle eksempler.
Klienten returnerer dekrypterede resultater
Det følgende diagram illustrerer arbejdsgangen for klienten, der henter deres krypterede resultat og dekrypterer det (med den private nøgle, som kun de har adgang til) for at afsløre inferensresultatet.
I dette eksempel gemmes resultater på Amazon S3, men generelt ville dette blive returneret gennem realtidsslutpunktets nyttelast. Brug af Amazon S3 som mellemmand er ikke påkrævet for FHE.
Inferensresultatet vil være kontrollerbart tæt på resultaterne, som om de selv havde beregnet det, uden at bruge FHE.
Ryd op
Vi afslutter denne proces ved at slette det slutpunkt, vi oprettede, for at sikre, at der ikke er nogen ubrugt computer efter denne proces.
Resultater og overvejelser
En af de almindelige ulemper ved at bruge FHE oven på modeller er, at det tilføjer beregningsmæssig overhead, hvilket - i praksis - gør den resulterende model for langsom til interaktive brugssager. Men i tilfælde, hvor dataene er meget følsomme, kan det være umagen værd at acceptere denne latens-afvejning. Men for vores simple logistiske regression er vi i stand til at behandle 140 inputdataprøver inden for 60 sekunder og se lineær ydeevne. Følgende diagram inkluderer den samlede ende-til-ende tid, inklusive den tid, klienten udfører for at kryptere input og dekryptere resultaterne. Den bruger også Amazon S3, som tilføjer latency og er ikke påkrævet i disse tilfælde.
Vi ser lineær skalering, når vi øger antallet af eksempler fra 1 til 150. Dette forventes, fordi hvert eksempel er krypteret uafhængigt af hinanden, så vi forventer en lineær stigning i beregningen med en fast opsætningsomkostning.
Dette betyder også, at du kan skalere din inferensflåde vandret for større anmodningsgennemstrømning bag dit SageMaker-slutpunkt. Du kan bruge Amazon SageMaker Inference Recommender at omkostningsoptimere din flåde afhængigt af din virksomheds behov.
Konklusion
Og der har du det: Fuldt homomorfisk kryptering ML til en SKLearn logistisk regressionsmodel, som du kan konfigurere med et par linjer kode. Med en vis tilpasning kan du implementere den samme krypteringsproces for forskellige modeltyper og rammer, uafhængigt af træningsdataene.
Hvis du gerne vil vide mere om at bygge en ML-løsning, der bruger homomorf kryptering, kan du kontakte dit AWS-kontoteam eller -partner, Leidos, for at få mere at vide. Du kan også henvise til følgende ressourcer for flere eksempler:
Indholdet og meningerne i dette indlæg indeholder dem fra tredjepartsforfattere, og AWS er ikke ansvarlig for indholdet eller nøjagtigheden af dette indlæg.
Tillæg
Det fulde træningsscript er som følger:
Om forfatterne
Liv d'Aliberti er forsker inden for Leidos AI/ML Accelerator under Office of Technology. Deres forskning fokuserer på privatlivsbevarende maskinlæring.
Manbir Gulati er forsker inden for Leidos AI/ML Accelerator under Office of Technology. Hans forskning fokuserer på krydsfeltet mellem cybersikkerhed og nye AI-trusler.
Joe Kovba er en Cloud Center of Excellence Practice Lead inden for Leidos Digital Modernization Accelerator under Office of Technology. I sin fritid nyder han at dømme fodboldkampe og spille softball.
Ben Snively er en Offentlig Sektor Specialist Solutions Architect. Han arbejder med offentlige, non-profit- og uddannelseskunder på big data og analytiske projekter og hjælper dem med at bygge løsninger ved hjælp af AWS. I sin fritid tilføjer han IoT-sensorer i hele sit hus og kører analyser på dem.
Sami Hoda er Senior Solutions Architect i Partners Consulting-divisionen, der dækker den verdensomspændende offentlige sektor. Sami brænder for projekter, hvor lige dele designtænkning, innovation og følelsesmæssig intelligens kan bruges til at løse problemer for og påvirke mennesker i nød.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/enable-fully-homomorphic-encryption-with-amazon-sagemaker-endpoints-for-secure-real-time-inferencing/
- :er
- ][s
- $OP
- 1
- 10
- 100
- 11
- 7
- a
- evne
- I stand
- Om
- accelerator
- Acceptere
- acceptabel
- adgang
- Konto
- nøjagtighed
- opnå
- tværs
- Yderligere
- adresse
- Tilføjer
- Efter
- AI
- AI / ML
- Alle
- tillader
- Skønt
- Amazon
- Amazon API Gateway
- Amazon SageMaker
- Analytisk
- analytics
- ,
- api
- Anvendelse
- applikationer
- anvendt
- tilgang
- passende
- arkitektonisk
- arkitektur
- ER
- AS
- At
- forfattere
- til rådighed
- AWS
- BE
- fordi
- bag
- BEDSTE
- bedste praksis
- skævhed
- Big
- Big data
- krop
- bygge
- Bygning
- bygget
- virksomhed
- by
- ringe
- Caller
- CAN
- tilfælde
- center
- Center for ekspertise
- central
- udfordringer
- Chart
- kontrollere
- valg
- valgte
- klasse
- Rengøring
- CLF
- kunde
- Luk
- Cloud
- kode
- Fælles
- fuldføre
- beregning
- beregninger
- Compute
- computing
- fortrolighed
- konstruere
- rådgivning
- forbruger
- Container
- indeholder
- indhold
- sammenhæng
- kontrolleret
- Core
- Koste
- Par
- dækker
- oprettet
- kritisk
- skik
- Kunder
- tilpasning
- Cybersecurity
- data
- datasæt
- Dekryptér
- dyb
- dyb læring
- Standard
- Forsvar
- demonstrere
- Afhængigt
- indsætte
- indsat
- Design
- designtænkning
- udvikle
- udviklere
- DICT
- forskellige
- digital
- direkte
- mapper
- Afdeling
- Er ikke
- Dont
- ulemper
- i løbet af
- hver
- Uddannelse
- smergel
- muliggøre
- muliggør
- krypteret
- kryptering
- ende til ende
- Endpoint
- Engineering
- Hele
- indrejse
- miljøer
- ligninger
- fejl
- Endog
- eksempel
- eksempler
- Excellence
- forvente
- forventet
- eksperter
- Forklar
- udforskning
- udvide
- ekstern
- ekstrakt
- Feature
- få
- Figur
- Fornavn
- passer
- fast
- FLÅDE
- flydende
- strømme
- fokuserer
- følger
- efter
- følger
- fodbold
- Til
- rigdom
- Framework
- rammer
- Gratis
- fra
- fuld
- fuldt ud
- funktioner
- Spil
- gateway
- generelt
- generere
- få
- Giv
- Regering
- større
- håndtere
- Have
- have
- sundhedspleje
- hjælpe
- stærkt
- hjemland
- Homeland Security
- host
- hus
- Hvordan
- How To
- Men
- HTML
- http
- HTTPS
- Identity
- KIMOs Succeshistorier
- gennemføre
- implementering
- importere
- vigtigt
- in
- utilgængelig
- omfatter
- Herunder
- Indgående
- Forøg
- uafhængig
- uafhængigt
- oplysninger
- Innovation
- indgang
- installere
- instans
- i stedet
- integrere
- integration
- Intelligens
- interaktiv
- mellemmand
- vejkryds
- tingenes internet
- isolerede
- IT
- ITS
- fælles
- Nøgle
- nøgler
- stor
- større
- Latency
- lanceret
- føre
- leder
- LÆR
- læring
- niveauer
- livscyklus
- ligesom
- begrænsninger
- linjer
- belastning
- lokalt
- Lav
- maskine
- machine learning
- lave
- maerker
- lykkedes
- kortlægning
- Markeder
- matematiske
- midler
- nævnte
- microsoft
- måske
- ML
- tilstand
- model
- modeller
- mere
- mest
- nødvendig
- Behov
- behov
- Ny
- næste
- Nitro
- Støj
- non-profit
- Normalt
- notesbog
- Begreb
- nummer
- numre
- bedøvet
- objekt
- of
- Office
- offline
- on
- åbent
- drift
- Produktion
- Udtalelser
- Optimer
- ordrer
- OS
- Andet
- output
- pandaer
- parameter
- parametre
- partner
- partnerskab
- partnere
- dele
- Passing
- lidenskabelige
- sti
- mønstre
- Mennesker
- Udfør
- ydeevne
- udfører
- pipeline
- plato
- Platon Data Intelligence
- PlatoData
- spiller
- Punkt
- politik
- Populær
- mulig
- Indlæg
- potentielt
- praksis
- praksis
- forudsige
- forudsagde
- forudsigelse
- Forudsigelser
- Predictor
- Forbered
- Beskyttelse af personlige oplysninger
- private
- private nøgle
- problemer
- behandle
- Behandlet
- Processer
- forarbejdning
- Processor
- produceret
- Produkt
- projekter
- beskyttelse
- udbyder
- giver
- offentlige
- offentlig nøgle
- offentlige nøgler
- trækker
- sætte
- Python
- hellere
- nå
- klar
- ægte
- realtid
- modtaget
- optegnelser
- reguleret
- relevant
- resterne
- repræsenteret
- anmode
- anmodninger
- påkrævet
- krav
- Krav
- forskning
- forsker
- Ressourcer
- svar
- ansvarlige
- REST
- resultere
- resulterer
- Resultater
- afkast
- afkast
- afsløre
- roller
- RÆKKE
- Kør
- sagemaker
- SageMaker Inference
- samme
- Gem
- skalerbar
- Scale
- skalering
- Ordningen
- ordninger
- Videnskab
- Videnskab og Teknologi
- sekunder
- sektioner
- sektor
- sikker
- sikkerhed
- Sees
- valgt
- udvælgelse
- afsendelse
- senior
- følsom
- sensorer
- Serverless
- Tjenester
- sæt
- setup
- bør
- Vis
- vist
- Shows
- side
- lignende
- Simpelt
- forenkle
- Størrelse
- langsom
- lille
- mindre
- So
- løsninger
- Løsninger
- SOLVE
- nogle
- specialist
- Stage
- starte
- Tilstand
- Stater
- steady
- Steps
- opbevaring
- butik
- opbevaret
- forhandler
- lagring
- Understøttet
- systemet
- Systemer
- mål
- hold
- Teknologier
- skabeloner
- prøve
- Test
- at
- deres
- Them
- selv
- Disse
- Tænker
- tredjepart
- trusler
- Gennem
- hele
- kapacitet
- tid
- til
- sammen
- også
- toolkit
- top
- I alt
- Tog
- uddannet
- Kurser
- Transform
- transit
- transmittere
- betroet
- typer
- under
- underliggende
- låse
- ubrugt
- Uploading
- brug
- brugere
- værdi
- video
- som
- vilje
- med
- inden for
- uden
- Arbejde
- arbejder
- virker
- Verdens
- verdensplan
- værd
- ville
- Du
- Din
- youtube
- zephyrnet