NCA-ADS - Introductory MLOps Practices - Section 6.3

Manage models, including saving and loading.

Save and load trained models using serialisation formats appropriate to the library, such as pickle, joblib, or framework-native checkpoints. Apply versioning practices so that the model artefact, its training data snapshot, and its hyperparameter configuration remain linked.

Practice question for this objective

Free sampleIntroductory MLOps Practicesmedium

An engineer saves a fitted cuML model on a GPU workstation using joblib and ships the file to a colleague who tries to load it. Loading fails. The colleague has the same cuML and CUDA library versions installed but is working on a machine that has no GPU. Which explanation is the most likely root cause of the load failure?

  • AA cuML model holds GPU-resident state and depends on the CUDA runtime and a device at load time, so deserialising it on a machine with no GPU cannot restore that device state. Correct
  • BThe joblib file is corrupted in transit, because joblib archives cannot be transferred between machines without first re-exporting them to a plain text format.
  • Cjoblib strips the model's learned parameters during saving, so any loaded cuML model must be refitted before use regardless of the hardware on the loading machine.
  • DMatching cuML versions are insufficient, because the file can only load when the colleague also has the identical CPU model and clock speed as the machine that saved it.
Loading a GPU-native cuML model requires a CUDA device at load time, so saved models are not portable to GPU-less hosts. cuML estimators store device-resident arrays and rely on the CUDA runtime to reconstruct that state when deserialised. A machine without a GPU cannot allocate the device memory the saved object expects, so the load fails even when library versions match.

Why A is correct: Correct: cuML estimators are GPU-native and their persisted state assumes a CUDA device is available; restoring the object on a host with no GPU cannot reconstruct the device-side arrays, so the load fails.

Why B is wrong: Tempting because transfer corruption is a real failure mode, but joblib produces ordinary binary files that transfer like any other file; the relevant difference here is the absence of a GPU, not the transport mechanism.

Why C is wrong: Tempting because some workflows do require refitting, but joblib serialises the fitted parameters faithfully; it does not strip learned state, and a GPU-equipped machine would load the same file without needing a refit.

Why D is wrong: Tempting because environment matching matters for reproducibility, but deserialisation does not depend on identical CPU hardware; the decisive missing component here is a CUDA-capable GPU, not a matching processor.

See more NCA-ADS practice questions, answers explained.

More in this domain

Back to all Introductory MLOps Practices objectives, or the NCA-ADS cert hub.

Examworthy is not affiliated with or endorsed by NVIDIA. Original, blueprint-aligned practice material only.