NVIDIA-NeMo / NVIDIA-NeMo/Curator
Dynamic Quality-Score-Based Soft Sampling
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.8k
- Forks
- 327
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 30
Description
What:
Add a SoftSamplingStage that samples documents proportional to a quality score rather than applying a hard binary threshold. Higher-scored documents appear more often; lower-scored less often — but none are completely discarded.
Why:
SOTA models are using score-based soft sampling rather than hard filters. Hard thresholds discard potentially useful documents; soft sampling preserves diversity while biasing toward quality. Avoids the precision/recall tradeoff of hard cutoffs.
Definition of Done:
- SoftSamplingStage under nemo_curator/stages/text/
- Reads score from configurable metadata field
- Configurable sampling function: linear, sigmoid, power (default: linear)
- Configurable min/max sampling probability bounds
- Ray-native; no global shuffle required
- Emits before/after score distribution comparison in stats
- Test: verify output score distribution is statistically higher than input
Contributor 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.
Research direction
Start by reading the existing stages and tests under nemo_curator/stages/text/ to identify the project’s Ray-native stage and stats patterns. Done means a SoftSamplingStage supports configurable score metadata, linear/sigmoid/power sampling and probability bounds, avoids a global shuffle, reports before/after distributions, and verifies statistically higher output scores.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 54/100