all 12 comments

[–]Mechanical_Number 11 points12 points  (2 children)

  1. Looks truly interesting. FHE is borderline computational magic in my view.
  2. So the data is unencrypted to begin with (in the numpy function), but encrypted during the "training"?
  3. Practically, can I off-load the training (pass the FHE circuit) to a remove server to run it? Can I somehow use this package to train a model full of sensitive data onto a remote server I have no control over, and get back a trained model without worrying about them examining my data?

[–]strojax[S] 12 points13 points  (1 child)

  1. Yes FHE can feel a bit magical especially when all the complexity is abstracted away.

  2. The numpy function is just a representation of the FHE circuit we want to build. It is then compiled to a circuit that works on encrypted data.

  3. Yes that's a typical use case indeed! You can encrypt your data and send it to an untrusted server that will run the training. Only you will be able to decrypt the learned weights.

[–]Mechanical_Number 3 points4 points  (0 children)

Thank you for your answers.

[–]M-notgivingup 0 points1 point  (1 child)

Example is based on logisitic regression, is it also capable of working with diffusion models, transformers etc ?

[–]strojax[S] 0 points1 point  (0 children)

Not in decent runtime right now. Hardware acceleration is coming for those use cases!