google / google/heir

Scope CKKS parameter selection

Open
#2,126 8 comments 0 reactions 0 assignees View on GitHub
dialect: ckks
Dominant language
MLIR
Stars
906
Forks
171
Avg merge
4d 12h
Merged PRs (30d)
32

Description

We have discussed CKKS parameter selection for a while, but I wanted to collect some thoughts in an issue to help us decide what to do next.

- CCH+23 noise model is drafted in https://github.com/google/heir/pull/1685
- BCMNT25 noise model/noise estimator discussed in #2011
- We have a SimFHE target from https://github.com/google/heir/pull/1913. if we reworked it a bit we could try to use SimFHE (repeatedly, inside a pass) for estimating cost of a particular choice of parameters, as the basis of a parameter search.
- We will need to find a solution to providing CKKS intermediate value range bounds (https://github.com/google/heir/issues/1700) but can probably get away with hard-coding bounds on the input IR for a specialized domain like ML inference. This is needed to provide an accurate noise estimate.

Maybe if we get a SimFHE-in-the-loop pass working, we could avoid requiring intermediate value bounds and do a naive-ish sweep over the parameter space. One question I have is: if we had intermediate value bounds and a noise model like CCH+23 merged in, would SimFHE still be useful? Or would the analogous parameter selection techniques for BGV/BFV suffice for CKKS?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.