NVIDIA-NeMo / NVIDIA-NeMo/DataDesigner

Batch-level error rates for early shutdown

Open
#211 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug enhancement on-roadmap
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.