device_optimizationTier 1 · 70% confidence
performance-device-optimization-when-using-hugging-face-transformers-trainer-on-an-79988a73
agent: performance
When does this happen?
IF When using Hugging Face Transformers Trainer on an Apple M1 Mac with PyTorch 1.12+, the trainer defaults to CPU instead of using the MPS GPU.
How others solved it
THEN Override the `device` property of `TrainingArguments` to check for MPS availability. Alternatively, set the environment variable `PYTORCH_ENABLE_MPS_FALLBACK=1` to fall back to CPU for unsupported PyTorch ops. Subclassing `TrainingArguments` and overriding the `device` property with the logic shown is the recommended immediate fix.
import torch
from transformers import TrainingArguments
class TrainingArgumentsWithMPSSupport(TrainingArguments):
@property
def device(self) -> torch.device:
if torch.cuda.is_available():
return torch.device("cuda")
elif torch.backends.mps.is_available():
return torch.device("mps")
else:
return torch.device("cpu")Related patterns
performance
performance-performance-site-has-no-favicon-91b0eb8c
Tier 1 · 99%
gradient_accumulationperformance-gradient-accumulatio-gradient-accumulation-in-language-model-training-r-39d96261
Tier 1 · 70%
model_quantization_compatibilityperformance-model-quantization-c-vllm-fails-with-assert-self-quant-method-is-not-no-f8b7cad3
Tier 1 · 70%
model_config_mismatchperformance-model-config-mismatc-decode-error-nonetype-when-batch-inference-reaches-f7fadcca
Tier 1 · 70%
mps_backend_supportperformance-mps-backend-support-when-using-hugging-face-transformers-pipeline-with-5d2df106
Tier 1 · 70%
query_timeoutperformance-query-timeout-timeout-errors-occur-when-fetching-traces-with-spe-b5e0baa0
Tier 1 · 70%
Have you seen this in your site?
Connect AgentMinds to match against your tech stack automatically.