moose
moose copied to clipboard
Secure distributed dataflow framework for encrypted machine learning and data processing
The current MSB operation for replicated tensors essentially checks the condition `x > 0`, but for `Sqrt` we require an `MSBIndex` operation that accepts a replicated fixedpoint of total precision...
Kernels like ConstantOp and InputOp have signatures `() -> Tensor` and currently always return Float64 tensor. We need something to feed extra dtype information into the kernels so that they...
The code in` python_computation.rs` is currently making some assumptions about the computation by eg hardcoding certain types. Once we have type inference (#333) we should clean this up.
See https://github.com/tf-encrypted/runtime/pull/934/files#r825738765. We should have a discussion around what's the right thing to do to not have too many booby traps around the code. Also relevant here: https://github.com/tf-encrypted/runtime/pull/933/files#diff-cb762e95137100b94c7320d7795138cf756d1b0eaef1fc2175d3139c49ccc3b2.
Implement a relatively simple storage module in `moose_modules` that can load and save `.npy` files. Implementation can assume that the target use cases for now are OSS and benchmarking.
This issue is about going through the runtime code base and gather a list of tasks that could improve the resilience for the runtime, including recovering from an error during...
In the Python kernel, we support [axes argument ](https://github.com/tf-encrypted/runtime/blob/d2b45fbe13c78dffcd72d45914a839a610019635/moose/computation/standard.py#L208) (see numpy [for examples](https://numpy.org/doc/stable/reference/generated/numpy.transpose.html#numpy-transpose)) but not in the [Rust kernel](https://github.com/tf-encrypted/runtime/blob/77acaaf7d3f57e3418292d9eb75283daf32ab40d/rust/moose/src/standard.rs#L228).
Using probabilistic rounding instead of flooring when encoding fixed-points seems to have some benefits from the ML perspective re accuracy. This is noted in for instance [KS'21](https://arxiv.org/abs/2107.00501). This issue is...
Concretely, this may be a question of using `take` instead of `get` when receiving values. This issue applies to both `LocalSyncNetworking` and `LocalAsyncNetworking`.
clickup ticket: https://app.clickup.com/t/d2wpyw