NVIDIA-NeMo / NVIDIA-NeMo/Curator
LLM-as-judge quality scorer
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.8k
- Forks
- 328
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 30
Description
What: Add a stage that uses a smaller instruction-tuned LLM (e.g., Qwen2-Instruct-7B, Nemotron) to score raw pretraining documents on multiple quality dimensions (educational value, coherence, factual density, writing quality) and produce a scalar score per document.
Why: Most SOTA models use this pattern to select the top 10-30% of web data. Outperforms heuristic filters significantly. Enables fine-grained quality control without human labels.
Definition of Done:
- LLMQualityScorerStage under nemo_curator/stages/text/classifiers/
- Pluggable judge model (vLLM or HF model)
- Configurable scoring prompt (default prompt included for general quality + educational quality)
- Multi-dimensional scoring support (returns per-dimension scores + aggregate)
- Batch inference via vLLM for throughput
- Score stored as document metadata field, usable by downstream ScoreThresholdFilter
- Supports async inference to saturate GPU
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 in nemo_curator/stages/text/classifiers/ and inspect how stages expose document metadata and integrate with ScoreThresholdFilter. Confirm the judge-model interface, configurable prompt, dimensional and aggregate scores, batch and async inference, and define completion against each listed Definition of Done item.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100