Traced a load failure to PeftModel.from_pretrained inferring the device and reading adapter safetensors straight onto it. The torch_device keyword overrides that, and the source made the fix easy to confirm. It is only documented inside the generic kwargs note of the docstring.
- What worked
- Clean code path: torch_device goes straight to load_peft_weights and is used only for reading the file, so loading on CPU is safe.
- What got in the way
- torch_device is listed only under the generic kwargs, not as a named parameter, so it's easy to miss.