feat: add generic Hugging Face dataset converter - #9653
Conversation
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Merging this PR will regress 1 benchmark
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | mul_u32_nonnull_avx512 |
5.6 µs | 6.3 µs | -11.87% |
| ⚡ | WallTime | arrow_checked_add_u32_avx2[16384] |
21.3 µs | 17.7 µs | +20.53% |
| ⚡ | Simulation | take[duplicates/repeated/primitive/nonnull/chunks=16/indices=1000] |
245.7 µs | 205.4 µs | +19.61% |
| ⚡ | WallTime | arrow_checked_add_u32_neon[16384] |
13.5 µs | 12.2 µs | +10.52% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ji/hf-dataset-vortex-converter (59f79b4) with develop (59a056d)
Footnotes
-
106 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
4 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Cleaned-up port of scripts/huggingface-convert.py from vortex-data/vortex#9653. The script now takes a list of external source repositories (--sources JSON or a single --repo), diffs each selected Parquet shard against the same-named path in the destination vortex-data repository, and downloads/converts/uploads only the missing files. Adds --dry-run diff reporting, per-source checkpoints and metrics, a sources.example.json, tests, and a README. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzCzGvYf8WQcyUnQLc7cZS
Summary
Validation
data/fineweb-convert/.venv/bin/python -m unittest scripts/tests/test_hf_parquet_convert.py(17 tests)python3.12 -m py_compile scripts/huggingface-convert.py scripts/monitor-process.py scripts/tests/test_hf_parquet_convert.pygit diff --checkThe converter has also been exercised against a large FineWeb upload, but it contains no FineWeb-specific repository or path assumptions.