NVIDIA-NeMo / NVIDIA-NeMo/Curator
Potential Improvements to CC download & Extract Stage
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.8k
- Forks
- 328
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 30
Description
Is your feature request related to a problem? Please describe.
The CC download and extract can have better user experience (and potentially be made faster). Here are a list of things that can be explored:
- Add retry logic to download #1225
- Retry logic for url generation/saving CC url's? Ran into a timeout from CC trying to get URL's. If they've already been pulled they can potentially be saved someplace to retrieve later?
- Support saving CC downloads to cloud sources. Each snapshot can be 80-100TiB in size and is difficult to store locally #779.
- Explore row level parallelism for extraction. Each core/CPU extracts all rows for a warc file serially. This needs to be explored further but there are often some rows that may take a much longer time to extract than others (deeply nested html files). Extracting at a row level might help get the best performance from extract which is relatively slow.
- Limit Download concurrency for Ray-Data
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
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 locating the Common Crawl download and extraction pipeline, including the Ray-Data entry points mentioned in the issue. Review the existing download, URL-generation, cloud-storage, extraction, and concurrency behavior before narrowing this broad list to one scoped improvement. Done should mean that the selected behavior is implemented and its performance or retry/concurrency outcome is verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cloud, data-engineering, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100