private machine learning in tensorflow using secure ...tensorflow: large-scale machine learning on...

15
Private Machine Learning in TensorFlow using Secure Computation Morten Dahl, Jason Mancuso, Yann Dupis, Ben Decoste, Morgan Giraud, Ian Livingstone, Justin Patriquin, Gavin Uhma Privacy Preserving Machine Learning workshop, NeurIPS 2018

Upload: others

Post on 20-May-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Private Machine Learning in TensorFlow using Secure Computation

Morten Dahl, Jason Mancuso, Yann Dupis, Ben Decoste,Morgan Giraud, Ian Livingstone, Justin Patriquin, Gavin Uhma

Privacy Preserving Machine Learning workshop, NeurIPS 2018

Page 2: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

PredictionSensitive?

Prediction serviceClient

x

pred

Page 3: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Encrypted Prediction

Prediction serviceClient

enc(x)

enc(pred)

Page 4: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Encrypted Prediction using Secure Computation

Client

share1(x)

share1(pred)

share2(x)

share2(pred)

Complex interaction

Page 5: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Multidisciplinary Challenges

Cryptography(protocols, techniques, guarantees)

Machine learning(models, activations, approx)

Engineering(distributed, multi-core, readability)

Data science(use-cases, workflow, deployment)

Page 6: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Nice To HaveEasy to experiment

● Flexibility● Separation of concerns● Benchmarking

Easy to explore

● High-level interface● Familiar framework● Gradual adaptation

Leverage existing efforts and minimize boilerplate

Page 7: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

TensorFlowBacked by Google

Used for production-level model training and deployment

Page 8: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Dataflow Graphs

Page 9: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Distributed TensorFlow

[Abadi et al ‘16.] TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems

Page 10: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Optimized Execution

Concurrent

Batching

Page 11: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

tf-encrypted

Open source community project for exploring and experimenting with privacy-preserving machine learning

in TensorFlow

Page 12: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Public vs Private Prediction

Page 13: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Protocols in TensorFlow

Page 14: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Benchmarks

2.2x, 1.1x, 0.85x relative to reference custom C++

implementation

Page 15: Private Machine Learning in TensorFlow using Secure ...TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. Optimized Execution Concurrent Batching. tf-encrypted

Thank you!

Common high-level framework for machine learners and

cryptographers with promising performance