v0.2.9
TL;DR: Improve Function Secret Sharing for faster execution (5x faster than SecureNN) ; Add support for the BFV scheme ; Add benchmarks for monitoring ; Initialize FALCON implementation.
PySyft 0.2.9 Release Notes
New functionalities:
- Replicated Sharing Tensor (RST): secret sharing, reconstruction, + - linear operations (#3856 by @abogaziah)
- Replicated Sharing Tensor: Multiplication, Matrix multiplication, and Convolution (#4015 by @abogaziah)
- Add Falcon module structure & design (#4484 by @abogaziah)
- Added reversed operations to RST (#4508 by @abogaziah)
- Falcon - Select share + evaluating (#4474 by @abogaziah @gmuraru)
- RNS variant multiplication operation for FV scheme. (#3893 by @IamRavikantSingh)
- Update FV scheme to use context chain instead of single context object (#3962 by @IamRavikantSingh)
- Implement Relinearization operation of BFV Scheme (#3977 by @IamRavikantSingh)
- Refactor bfv tests for faster results (#4012 by @IamRavikantSingh)
- Add black2b hash to generate param_id for bfv scheme (#4509 by @IamRavikantSingh)
- Add option to launch PyGrid network and nodes upon creation of a cluster (#3896 by @rimijoker)
- Add
argmin
andmin
method in AST (#3961 by @marload) - Add RNG for workers (#3973 by @gmuraru and @abogaziah)
- Add Benchmark Graph, Scripts for Sigmoid Approx. Methods (#4031 by @aanurraj)
- Add benchmark graph and script for tanh function approximation methods (#4465 by @arturomf94)
- Add MPC Benchmark Abstraction (sigmoid, tanh) (#4494 by @marload)
- Added scripts, graphs for benchmarking AST operations (#4064 by @aanurraj)
Bug fixes
- Fix CrypTen tutorials (#3951 by @gmuraru)
- Fix imports to avoid having imports in code called by
__del__
(#3932 by @LaRiffle) - Overload mod operator for the fixed precision tensor (#3960 by @arturomf94)
- Increase key-size to 2048-bit keys in test_websocket_worker (#3788 by @arturomf94)
- Grid clients serialisation correction (#4020 by @Nilanshrajput)
- Fix Return invalid dtype when MPC is applied (#4035 by @aanurraj)
- Fix syft-proto version (#4469 by @gmuraru)
Refactoring:
- Improve the FSS crypto protocol to use Numpy + Rust for AST (#3892 by @LaRiffle)
- Refactor SPDZ to use the crypto store (#3909 by @LaRiffle)
- Optimize max and argmax for AdditiveSharingTensor (#3895 by @LaRiffle)
- Code refactor using list comprehension + cleaning (#3920 #3921 #3929 #3949 #3938 #3955 #3947 by @marload)
- Remove unused ss_scale var in PATE (#3956 by @marload)
- Add
has_child
method to AbstractTensor (#3948 by @marload) - Make EmptyCryptoPrimitiveStoreError serializable (#3944 by @LaRiffle)
- Refactor various little things (#3943 by @LaRiffle)
- Update PyGrid URLs and cleanup Model-Centric notebooks a bit (#3959 by @vvmnnnkv)
- Refactor AdditiveSharingTensor (#3924 by @LaRiffle)
- Raise RuntimeError when negative integers is entered in the
pow
(#3987 by @marload) - Make Sandbox Tutorial more Intuitive (#3996 by @himalayanZephyr)
- Improve Fast FixedPrecisonTensor Reciprocal Method (150x faster) (#4021 by @marload)
- Use division for sigmoid (#4044 by @gmuraru)
- Update simplify and detail in datacentclient (#4056 by @Nilanshrajput)
- Add support for negative numbers in reciprocal method (#4065 by @addy369)
- Error message if non integer value used with BFV scheme (#4042 by @IamRavikantSingh)
- Add reformat and pin black version (#4500 by @gmuraru)
- Updated startup scripts used in the Auto-scale API (#4007 by @rimijoker)
Docs & tutorials:
- Add a new tutorial on encrypted inference on resnet18 (#4539 by @LaRiffle)
- Make tutorials about encrypted DNN faster using FSS (#3933 by @LaRiffle)
- Documentation plan and protocol (#3974 by @nahuakang)
- Update Part 2 to just print the loss tensor (#3964 by @himalayanZephyr)
- Update Docs (#4475 by @IamRavikantSingh)
Tests & CI