DP: default noise_multiplier (σ = 5.0 at clipping_norm 10) reduces the reference model to chance accuracy once DP is enabled
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- python
调研方向
Start with tests/test_cache_client_dp.py and the test_manifest_dp_full_noise_impact test, then read cache_model_0/manifest.json and Documentation/public/manifest.md for the shipped DP settings. The issue presents a documentation-only interim option and an accountant-dependent option; the latter needs the DP specialist's input on issue No. 279. Done means documenting the measured utility impact without making an ε claim, or agreeing on an accountant-backed setting and updating the test.
由索引模型根据 Issue 内容生成。
描述
Summary
With the reference manifest's DP block switched on, the default noise wipes out the model. cache_model_0/manifest.json ships noise_multiplier: 0.5 with clipping_norm: 10.0 (raised from 1.0 by PR No. 263 / issue No. 247). The noise scale is noise_multiplier × clipping_norm, so σ = 5.0 per coordinate, and accuracy falls to chance:
| Source | Baseline | Clip only | Clip + default noise |
|---|---|---|---|
PR No. 263 tests (seed 42, 2,000 samples from dataset/test/test_dataset.pt, reproducible) |
0.860 | 0.860 | 0.120 |
| PR No. 293 write-up (separate experiment, script not committed) | 85.25% | 85–86% | ~13%, at every clipping_norm from 1 to 20, and for update_gaussian too |
DP is "enabled": false by default, so nothing breaks today. But a model owner who turns DP on with the shipped parameters gets a useless model and no warning.
Why
Noise is added independently to every floating coordinate. For a model with D parameters, the total noise norm grows as σ·√D. cache_model_0's MLP has ~109K parameters (√D ≈ 330), so the noise swamps the signal regardless of how well clipping_norm is tuned. Raising clipping_norm to stop over-clipping (PR No. 263) also raised σ by the same factor. PR No. 293's sweep (not reproduced here) only recovers utility at noise_multiplier ≈ 0.001.
The current test pins this behaviour rather than flagging it: test_manifest_dp_full_noise_impact (tests/test_cache_client_dp.py) asserts dp_acc < baseline_acc - 0.3. Its docstring already suggests ~0.05 "would restore σ≈0.5" but leaves the choice open.
What needs deciding
Picking noise_multiplier is a privacy-budget decision, not a tuning knob. Documentation/technical/audits/dp-mechanism-review.md puts accountant integration (item 3) and DP-SGD (item 4) ahead of any ε claim. So the options are:
- Interim (docs/manifest only): keep DP off by default, but warn clearly in
Documentation/public/manifest.mdand the manifest example that the shippednoise_multipliergives no utility forcache_model_0, and give a measured utility-vs-noise table. No ε claim. - With the accountant (issue No. 279 / review item 3): choose a default
noise_multipliertogether with a reported (ε, δ) and a measured accuracy, and updatetest_manifest_dp_full_noise_impactto assert acceptable utility at that setting.
Option 1 can land now. Option 2 needs the DP specialist's input on issue No. 279.
References
- Issue No. 247 (closed), PR No. 263:
clipping_normretune and the real-weight accuracy tests - PR No. 293:
noise_multipliersweep (Finding 2), changes requested - Issue No. 279: DP mechanism fixes, DP specialist tagged
cache_model_0/manifest.jsondp.parameters;Documentation/public/manifest.md"Choosingclipping_norm"
- 主要语言
- Python
- 星标
- 4
- 派生
- 7
- 平均合并
- 3 天 4 小时
- 30 天内合并 PR
- 34
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
InfiniteZeroFoundation/DevNet 的其他 Issue
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)可能已有人在做 @umermjd11 于 2 天前认领。 未关闭documentation good first issue
难度 2/5 1-3 小时 新手友好度 74/100
InfiniteZeroFoundation/DevNet#285 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Update the 25 translated organisation READMEs to match the English version可能已有人在做 @mrCabez 今天认领。 未关闭good first issue help wanted
难度 2/5 1-3 小时 新手友好度 76/100
InfiniteZeroFoundation/DevNet#277 · 2 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Update the client-service guide to explain training and uploading separately可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
InfiniteZeroFoundation/DevNet#266 ·
维护者通常 1 天内回复
-
Long run
难度 5/5 一周以上 新手友好度 25/100
InfiniteZeroFoundation/DevNet#298 ·
维护者通常 1 天内回复
-
docs: fix broken install path, wrong commands and stale status in participant guides可能已有人在做 @robertocarlous 于 2 天前认领。 未关闭
InfiniteZeroFoundation/DevNet#290 · 2 条评论 · 已指派 5 人 ·
维护者通常 1 天内回复
查看 InfiniteZeroFoundation/DevNet 的全部 Issue
相似的 Issue
-
Support .aac audio uploads可能已有人在做 @julien731 今天认领。 未关闭feature
难度 2/5 1-3 小时 新手友好度 78/100
nimblehq/audio-transcriber#153 ·
-
help wanted
难度 2/5 1-3 小时 新手友好度 68/100
antonyrag/ragleap-core#1062 ·
-
needs-triage
难度 2/5 1-3 小时 新手友好度 76/100
gke-labs/kube-agents#4321 ·
维护者通常 1 天内回复
-
enhancement help wanted
难度 2/5 1-3 小时 新手友好度 76/100
Git-Hospital/githealthcheck#61 ·
维护者通常 1 天内回复
-
changelog investigate
难度 2/5 1-3 小时 新手友好度 67/100
ramnes/notion-sdk-py#433 ·