Solutions · AI & ML

AI startups & ML teams

Expensive accelerators, unstable multi-node training, and no proof of where the time goes.

The constraint

What makes this sector awkward

The hardware is the most expensive thing in the company and the least measurable. Training runs fail for reasons that look random, inference cost per request is unknown, and the team is under pressure to ship rather than to instrument.

GPU scheduling with gang placement, fabric and storage that keep the accelerators fed, and inference endpoints with a capacity model instead of a guess.

Where you probably are

Four situations we see constantly

If two or three of these describe your environment, the audit is worth the money. If all four do, it is overdue.

Utilisation is quoted from the scheduler

The scheduler reports the cards as allocated, so they count as busy. Actual device utilisation is much lower, and nobody can point at the difference.

Multi-node training is flaky in a way nobody can reproduce

It works on four nodes and hangs on eight, or it works until someone else starts a job. The pattern is at the interconnect or the scheduler, and both are being guessed at.

Inference capacity is a guess

Nobody can state requests per second per GPU for the actual prompt and completion length distribution, so both over-provisioning and paging incidents are routine.

The same card is configured differently on different nodes

Driver and runtime versions drifted, and a job that lands on the wrong node behaves differently. Time is lost to a version matrix nobody owns.

How we sequence it

Four phases, each useful on its own

Sequenced so that stopping after any phase leaves you better off rather than stranded mid-migration.

  1. 01

    Make utilisation honest

    Measure at the device, per user and per job, over a real week. Separate allocated from actually busy, and name the idle tail.

    You end up with

    A utilisation report per team and per job type, with the idle tail quantified.

  2. 02

    Stabilise the version matrix

    Collect driver, runtime and fabric firmware versions across every node, then converge on one validated set with deviations documented and excluded from general scheduling.

    You end up with

    One validated version set, and a scheduler that will not silently place a job on an outlier node.

  3. 03

    Fix placement and collectives

    Enable gang scheduling so multi-node jobs allocate all-or-nothing, then benchmark collective operations at your real job sizes.

    You end up with

    A collectives baseline and a deadlock scenario that has been tested rather than theorised.

  4. 04

    Give inference a capacity model

    Benchmark with your own prompt and completion length distribution, then size for the latency target rather than for the vendor headline.

    You end up with

    Requests per second per GPU at your target latency, and a scaling rule that survives the next traffic doubling.

What we measure in this sector

These are the numbers we put in the delivery report. If we cannot measure it, we do not promise it.

  • GPU utilisation measured at the device, before and after
  • All-reduce bandwidth baseline at real job sizes
  • Requests per second per GPU at the target latency
  • Cost per training run, per team

What we don't do

Every vendor says yes to everything. Here is where our answer is no, or where someone else needs to be in the room. If this list looks wrong for your situation, tell us — we would rather argue about scope before the contract than after.

  • Out of scope

    Model architecture, training methodology and research outcomes

    We make the infrastructure fast and measurable. What you train on it is yours.

  • Out of scope

    GPU procurement and hardware sourcing

    We do not resell hardware or take margin on it. We will tell you what to buy and what to refuse.

  • Requires partner

    ML platform vendor integration (experiment tracking, feature stores)

    We will run the platform underneath and keep it available. Application-level integration needs the vendor or your own team.

  • Included

    Scheduling, fabric, storage tuning and utilisation instrumentation

    Including the benchmarks you keep as a regression baseline.

Questions we get asked

AI & ML specifics

Slurm or Kubernetes for training?

By workload shape, not by fashion. Long, tightly-coupled multi-node jobs with gang requirements fit Slurm. Many shorter jobs with service dependencies fit Kubernetes. Most labs end up running both, and we will tell you where that line belongs in your case.

Can you bring up a cluster on hardware we already own?

That is the common case. We start by measuring what the existing hardware can actually do before recommending anything new — sometimes the answer is that the bottleneck is configuration, not silicon.

Do you help with inference cost?

Yes, and usually by measuring first. Batching, quantisation and the serving runtime often matter more than the GPU count, and we will show the numbers before recommending either.

Want this looked at against your ai & ml environment?

Thirty minutes, no slides. Bring the awkward constraint — that is usually the interesting part.