Open dvadym opened 2 years ago
I'd like to work on this. Just to confirm a few details,
To summarize we either use the _budgetweight or the _absolutebudget param.
Thanks Ajinkya! Sure, go ahead
My answers:
1.Yes, AggregationParams
need to have 2 additional parameters epsilon
and delta
.
2.Yes, correct, currently budget_weight
corresponds to the splitting of the whole budget.
Please keep in mind that weights don't need to be sum up to 1, e.g. weights = [1,2] would mean budget is split as 1/3 for the first aggregation, 2/3 for the 2nd.
| And we instead want the option to add an absolute budget independent of the total budget?
Yes, correct, and compute_budgets()
should check that the requested absolute budget doesn't exceed the total budget.
3.Do you mean to have budget_accountant.compute_budgets(epsilon, delta)
? Yes, this is a very good idea, if the PipelineDP user doesn't want to spend all the budget immediately. I thought about creating a separate issue for this, but if you like we can do it in this issue as well.
Please let me know if you have more questions. I'm happy to help.
Hi @thehimalayanleo! Any progress? Is it anything I can help? If needed we can have a VC or pair programming
Hi @dvadym, I am having some logistical blocker. Do you think we could have a quick VC? Spoke with Chinmay about this too!
@thehimalayanleo sure, we can have a VC. Please write me in slack, and we can find a time. In OpenMined workspace my slack is vadym.
Slacked you!
Context
The workflow for computing DP aggregations with PipelineDP is the following (not important here steps are missing, the full example):
DPEngine.aggregate is API function that performs DP aggregation. Now the only way to specify how to split budget over multiple aggregation budget_weight field. The idea is that the aggregation gets the budget proportional to the weigh (sum of weight is not necessary 1).
Another downside is that
budget_accountant.compute_budgets()
splits the whole available budget, so it might be called only once.Goal
To introduce the way to request an absolute budget (i.e.
(epsilon, delta)
per aggregation).