distributed-training-advisor

Selects distributed-training topology, framework, and data path for GPU Kubernetes workloads.

Updated Jul 16, 2026
One-click install
npx skills add https://github.com/Cloud-Byte-Consulting/plugins --skill distributed-training-advisor-cloud-byte-consulting
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: distributed-training-advisor
Source: https://github.com/Cloud-Byte-Consulting/plugins/tree/main/model-training-ops/skills/distributed-training-advisor
Command: npx skills add https://github.com/Cloud-Byte-Consulting/plugins --skill distributed-training-advisor-cloud-byte-consulting

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams waste weeks hand-rolling multi-node training they don't need, or add GPUs to jobs whose real bottleneck is storage. This Skill provides a defensible decision path for whether to distribute training at all, which parallelism and communication strategy to use, which framework fits the workload, and how the data path must be designed on managed Kubernetes. ## Core Features & Use Cases - Parallelism and communication decisions: Chooses between data parallelism, FSDP/model parallelism, and allreduce versus parameter-server strategies based on model memory and dataset constraints. - Framework selector: Maps workloads to Ray Train, Ray Tune, Dask, Spark, or XGBoost/LightGBM with explicit rules, including gang-scheduling guidance for Kueue, Volcano, JobSet, and Kubeflow Training Operator. - Storage and cost checklists: Covers sharding, streaming versus download, caching across epochs, spot-node checkpoint-resume, and ranked cost levers with a scaling-test protocol. - Use Case: A researcher's PyTorch training job shows low GPU utilization on a 4-node cluster. The Skill diagnoses I/O starvation, recommends sharded streaming from object storage with a local cache, and produces a topology decision memo with a 1→2→4 worker scaling test. ## Quick Start Ask the agent to recommend a distributed training setup for your multi-GPU PyTorch job on Kubernetes, including framework choice, data sharding, and gang scheduling.

Frequently Asked Questions about distributed-training-advisor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between data parallelism and model parallelism for training?

Use data parallelism when dataset volume makes epochs too slow on one device; each worker holds a full model replica. Use model parallelism only when parameters and activations exceed single-device memory, preferring PyTorch FSDP over hand-partitioning.

Ray vs Dask vs Spark for distributed machine learning?

Use Ray Train for multi-GPU model training and Ray Tune for hyperparameter search. Use Dask for pandas-scale preprocessing, batch inference, and sklearn scale-out. Use Spark only when the organization already operates a big-data estate, not for greenfield ML.

Does Kubernetes gang scheduling work with Kueue alone?

No. Kueue admission alone does not gang-schedule arbitrary pods. Pair it with a supported integration such as JobSet, LeaderWorkerSet, or Kubeflow Training Operator, or use Volcano with its PodGroup integration, and prove all-or-nothing admission with a contention test.

Why is my multi-GPU training job showing low GPU utilization?

Low GPU utilization is often storage starvation, not insufficient compute. Check data-loader wait time, shard object keys across workers instead of broadcasting, use many similar-sized part-files, stream large datasets, and cache across epochs on local NVMe.

Can I run distributed training on spot GPU instances?

Yes, but only with mandatory checkpoint-resume to object storage proven in a drill. Synchronous allreduce training restarts the entire gang when one worker is preempted, so budget wall-clock accordingly; async or elastic training is the alternative only when the framework supports it.

When should I not distribute my training job?

Avoid distribution when single-node levers suffice: a bigger GPU, mixed precision, gradient accumulation or checkpointing, QLoRA quantized fine-tuning, or better data loading. Single-node multi-GPU jobs also avoid gang scheduling entirely since they run as one pod.