-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: integrate input compression #616
Conversation
b0a2fc1
to
4bf970f
Compare
f8f2a51
to
2c68d26
Compare
740d5dd
to
f71dd46
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Well tested
- Fixes an old ConcreteNumpy name
- Properly integrates this new feature with an env var
Looks good to me, thanks for integrating this!
Looking at this I'm wondering if we shouldn't expose the compilation options to our users with the use of keyword arguments in the future. Also not sure why this is set through a keyword argument instead of an attribute in the Configuration object.
we can talk about it at the weekly but I think we want to avoid having many non-ml parameters on CML side (cf #519 (comment))
in CP you can either pass kwargs or use a config object, if both are set than the value from the kwargs is taken, so I think it's best to do it like this since we want to make it default ! |
Makes sense
That's imo a confusing behavior for the users, we should probably talk about it with @umut-sahin. Would be great to have a |
I think it makes sense, kwargs are like a the last place you can set configuration, right within the compile call. You can have a base configuration and overwrite it with kwargs for example instead of changing the base configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good for me, thanks!
Coverage passed ✅Coverage details
|
enable input ciphertext compression by default through an environmental variable and add a test to make sure the size is indeed smaller
based on experiments, this feature can reduce input ciphertexts of hundreds of MB to less than 1 MB. Also, no significant slowdown have been observed for the inference time executions, expect with fully levelled circuits (where the inference can take a few hundreds milliseconds more).
For example :
closes https://github.com/zama-ai/concrete-ml-internal/issues/4365