NVIDIA-NeMo / NVIDIA-NeMo/DataDesigner
Batch-level error rates for early shutdown
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.2k
- Forks
- 211
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 40
Description
Priority Level
Medium
Task Summary
Our error-rate calculation for early shutdown in the ConcurrentThreadExecutor attempts to calculate error rates more or less in real time. This can lead to massive overestimates of the error rate, particularly for jobs with high concurrency, since jobs can fail faster than they succeed.
The proposal of this issue is to instead calculate error rates at the batch level (i.e., outside of ConcurrentThreadExecutor).
A couple benefits of this approach:
- The batch-level error rate will be a much more stable measurement at a consistent scale across jobs.
- This will allow the early-shutdown mechanism to be applied to generators that do not support concurrency.
One downside is that you always have to wait for at least one batch to complete. This seems acceptable given that the batch size is adjustable and (for cases where this all matters) will generally be much smaller than the target number of records.
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 tracing early-shutdown error-rate handling through ConcurrentThreadExecutor and the surrounding batch orchestration. Determine where batch completion and adjustable batch size are handled, then move the calculation to batch level so non-concurrent generators can use it. Done means error rates are stable per batch and early shutdown waits for at least one completed batch; add or update the relevant tests found during that trace.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, data-engineering
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100