Ground truth: decide on gradient validation (currently fully unimplemented)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- machine-learning, testing
Research direction
Start by reading gt/pytorch/io/writer.py, GroundTruthLoader.kt, GroundTruthValidator.validateGradientsInternal, CONTRACT.md, and TESTING.md to understand what is implemented and documented. Decide whether gradient validation should be implemented on both sides or explicitly de-scoped; done means the chosen path is made consistent across code and documentation, including removing misleading unused API surface if de-scoped.
Written by the indexing model from the issue text.
Description
Sub-issue of #984.
Despite the "gradienttracer" name, no gradient is ever actually checked today.
ToleranceConfig.GRADIENT, GroundTruthTestCase.expectedGradients, and grad_*-tensor
parsing all exist on the Kotlin side (GroundTruthLoader.kt,
GroundTruthValidator.validateGradientsInternal) — but store_experiment_as_gguf
(gradienttracer's gt/pytorch/io/writer.py) never calls .backward() or writes any
grad_* tensor. validateGradientsInternal is explicitly a placeholder (// TODO: Implement actual gradient computation via tape) that always reports failure if ever
invoked with real data.
Decision needed
- Implement it: add
.backward()+grad_*tensor serialization to
store_experiment_as_gguf(every@Executableinput already hasrequires_grad=True
set, so the gradient is available, just not captured), and implement SKaiNET-side
backward-pass execution inGroundTruthValidator.validateGradientsInternalto actually
compare against it. This is real, nontrivial work on both sides — SKaiNET's own
autodiff/backward execution path needs to be driveable from
skainet-test-groundtruth, which it currently isn't. - Explicitly de-scope it: if gradient validation isn't a near-term priority, say so
inCONTRACT.mdandTESTING.md(which currently reads as if this already works),
and consider whether the deadexpectedGradients/ToleranceConfig.GRADIENT/
validateGradientsparameter surface should be removed rather than left as
looks-implemented-but-isn't.
Either answer is fine — the point of this issue is picking one, since right now the code
reads as "supported" when it silently isn't.
- Dominant language
- Kotlin
- Stars
- 52
- Forks
- 15
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 41
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SKaiNET-developers/SKaiNET
-
coding good first issue platform size:xs skill:js sub-issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SKaiNET-developers/SKaiNET#1232 ·
Maintainers usually reply within 1 day
-
enhancement platform skill:native sub-issue
Difficulty 4/5 3-5 days Newbie friendliness 52/100
SKaiNET-developers/SKaiNET#1301 ·
Maintainers usually reply within 1 day
-
compute-backend skill:android tracking
Difficulty 5/5 Over a week Newbie friendliness 20/100
SKaiNET-developers/SKaiNET#1282 ·
Maintainers usually reply within 1 day
-
compiler enhancement skill:numerics
Difficulty 5/5 Over a week Newbie friendliness 35/100
SKaiNET-developers/SKaiNET#1281 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement skill:kotlin-core skill:numerics
Difficulty 5/5 Over a week Newbie friendliness 25/100
SKaiNET-developers/SKaiNET#1280 · 1 comment ·
Maintainers usually reply within 1 day
All issues in SKaiNET-developers/SKaiNET
Similar issues
-
StepExamBenchmarkTest runs a loop and prints a timing but asserts nothingPossibly taken A pull request linked to this issue is open or already merged. Openjules
Difficulty 1/5 Under an hour Newbie friendliness 82/100
open-learning-exchange/myplanet#18199 · 1 comment ·
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
auth0/Auth0.Android#1095 · 1 comment ·
Maintainers usually reply within 1 day
-
Scheme-less stream URLs throw NullPointerException instead of URISyntaxExceptionPossibly taken @blihio claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pedroSG94/RootEncoder#2218 ·
Maintainers usually reply within 3 days
-
Test: PlantDetailPlantEditLockTest silent-apply case fails depending on the calendar date (seasonal amplitude)Possibly taken @LocNgu claimed this today. Openbug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
LocNgu/YAPT-Yet-Another-Plant-Tracker#907 ·
Maintainers usually reply within 1 day
-
Estimation - 2 (S) Type:bug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 2 days