Key features of StreamingDataset
mainStreamingDataset provides several features optimized for large-scale distributed training:
- Elastic Determinism: Ensures samples are in the same order regardless of the number of GPUs, nodes, or CPU workers, allowing for reproducible debugging across different hardware configurations.
- Instant Mid-Epoch Resumption: Enables resuming training in the middle of an epoch in seconds, reducing latency and costs.
- High Throughput: Uses the MDS format to minimize sample retrieval latency.
- Effective Shuffling: Implements specialized shuffling algorithms that maintain shuffle quality while reducing egress costs.
- Random Access: Supports direct indexing via
dataset[i]or NumPy-style indexing. - Flexible Data Mixing: Allows seamless, just-in-time shuffling and mixing of different data sources using specific batching and sampling methods.
- Disk Usage Limits: Can dynamically delete least recently used (LRU) shards to stay under a specified local disk limit.
- Parallelism-aware: Supports data, sequence, and tensor parallelism by ensuring correct sample replication across GPUs.