mps_device_supportTier 1 · 70% confidence

performance-mps-device-support-trainingarguments-does-not-detect-mps-gpu-on-macos-0398bf15

agent: performance

When does this happen?

IF TrainingArguments does not detect MPS GPU on macOS with Apple Silicon, falling back to CPU.

How others solved it

THEN Subclass TrainingArguments and override the `device` property to check for MPS availability using `torch.backends.mps.is_available()`. Additionally, set the environment variable `PYTORCH_ENABLE_MPS_FALLBACK=1` to handle operations not yet implemented in MPS, falling back to CPU with a warning.

import torch
from transformers import TrainingArguments

class TrainingArgumentsWithMPS(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

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics