BL-23: clip_scope: global default paired with unreviewed clipping_norm: 1.0 may over-clip cache_model_0 reference weights
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- machine-learning, python
- Ambito
- backend, machine-learning
Direzione di ricerca
Read cid_services/client.py, cache_model_0/manifest.json, and tests/test_cache_client_dp.py, then inspect how apply_dp_mechanism and clip_state_dict handle the global clipping bound. Run the mechanism on cache_model_0's trained state_dict and measure its combined L2 norm. If the bound clips weights aggressively, retune the manifest value and add a test for post-clip norm retention; done when the real weights are verified and the test passes.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
PR #109 (fix/dp-sensitivity) correctly defaults clip_scope to global so that noise_scale = noise_multiplier * clipping_norm is calibrated against the actual L2 bound on the combined gradient norm — the sensitivity-calibration fix itself is sound. But cache_model_0/manifest.json's clipping_norm: 1.0 was never revisited after this change, and no test in PR #109 exercises the new default against cache_model_0's real trained state_dict.
Why this matters
Under the old per_layer scope, clipping_norm: 1.0 bounded each tensor independently to norm 1.0.
Under global, clipping_norm: 1.0 bounds the combined L2 norm of all tensors to 1.0:
‖[tensor_0, tensor_1, …, tensor_n]‖₂ = sqrt(Σ ‖tensor_i‖²) ≤ 1.0
For a model with multiple floating tensors this is a much tighter constraint — sqrt(Σ ‖tensor_i‖²) can easily exceed 1.0 even if no individual tensor's norm changes. The result is that clip_state_dict clips more aggressively than before, which degrades model quality proportionally to how much the combined norm exceeds the bound.
PR #109's new tests (tests/test_cache_client_dp.py) use build_small_state_dict (synthetic tensors), not cache_model_0's real trained weights, so this is unverified.
Fix
- Run
apply_dp_mechanism/clip_state_dictagainstcache_model_0's actual trainedstate_dictunder the newglobaldefault. - Measure the combined L2 norm of the real weights before clipping.
- If
1.0clips aggressively (combined norm >> 1.0), retuneclipping_normincache_model_0/manifest.jsonto a value that allows the real weights to pass through unclipped or only lightly clipped. - Add a test in
tests/test_cache_client_dp.pythat loads the realstate_dictand asserts the combined norm post-clip is within a tolerance of the pre-clip norm.
References
Developer/BACK_LOG.mdBL-23- PR #109 (
fix/dp-sensitivity) — sensitivity fix andclip_scope: globaldefault cache_model_0/manifest.json—clipping_norm: 1.0,clip_scope: globaltests/test_cache_client_dp.py—build_small_state_dict(synthetic, not real weights)cid_services/client.py—clip_state_dict/apply_dp_mechanism
- Lingua principale
- Python
- Stelle
- 4
- Fork
- 7
- Merge medio
- 3g 4h
- PR unite (30g)
- 34
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Forse già presa @umermjd11 l’ha presa 2 giorni fa. Apertadocumentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
InfiniteZeroFoundation/DevNet#285 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Update the 25 translated organisation READMEs to match the English versionForse già presa @mrCabez l’ha presa oggi. Apertagood first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
InfiniteZeroFoundation/DevNet#277 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Update the client-service guide to explain training and uploading separatelyForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
InfiniteZeroFoundation/DevNet#266 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
InfiniteZeroFoundation/DevNet#299 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Long run
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
InfiniteZeroFoundation/DevNet#298 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di InfiniteZeroFoundation/DevNet
Issue simili
-
Support .aac audio uploadsForse già presa @julien731 l’ha presa oggi. Apertafeature
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
nimblehq/audio-transcriber#153 ·
-
help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
antonyrag/ragleap-core#1062 ·
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
gke-labs/kube-agents#4321 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Git-Hospital/githealthcheck#61 ·
I maintainer di solito rispondono entro 1 giorno
-
changelog investigate
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
ramnes/notion-sdk-py#433 ·