Skip to content

Instantly share code, notes, and snippets.

@hereismari
Last active August 30, 2019 12:56
Show Gist options
  • Save hereismari/51f5bb392b0d564b297a9b800d74fbf1 to your computer and use it in GitHub Desktop.
Save hereismari/51f5bb392b0d564b297a9b800d74fbf1 to your computer and use it in GitHub Desktop.
EMLaaS: secure model serving

EMLaaS: Secure model serving

Project 1 - Notebooks providing EMLaaS for image classification

This consists of: hosting a model (regular CNN??? I've tried resnet50 but not supported, I'll try other popular architectures) and being able to query it using a rest api.

  • 1.1. host non-encrypted model

    • WIP demo: train model
    • WIP demo: host model
      • This demo was using jit.trace. I think we probably want to stick with plans for now. Working on it.
  • 1.2. query encrypted model

    • Exactly like Syft Tutorial 11.
    • I have a MNIST model (MLP, 2 layers) that workers. One image takes around 30 seconds using local grid nodes. No hosting is implemented yet.
    • Next step is to use the model from the demo above.
  • 1.3. host encrypted model

    • Grid gateway is responsible for model execution
      • We tell grid gateway which nodes to host the model shares (or it can automatically choose)
      • We ask grid gateway to run inference in our shares
  • 1.4. implement fault tolerance

Project 2 - Notebooks providing EMLaaS for spam detection with RNNs

Same thing as project 1 but with RNNs instead of CNNs.

Project 3 - Web demo: skin cancer classification (don't think we have the time :sad:)

  • Is it possible to support encrypt/decrypt using just JS? (I'll ask this in the weekly meeting)
    • Implement it
  • [ ] Build web demo + interface

Challenges to support GPT-2

Implement 1.2. for GPT-2.

  • Some operations may not be supported yet by Syft
  • It could take minutes (hours??!!) to generate text (1-3 sentences)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment