You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M4 Mac上使用MPS后端运行PyTorch的速度远慢于CPU的问题求助

M4 Mac上使用MPS后端运行PyTorch的速度远慢于CPU的问题求助

兄弟,我太懂你这种落差感了!本来抱着MPS能提速的期待,结果跑起来反而比CPU慢好几倍,确实让人摸不着头脑。我来给你分析几个可能的原因,以及对应的解决方向:

  • 设备迁移没做全:你有没有确认把模型、训练数据都完整迁移到MPS设备上?一定要加上model.to('mps'),同时把输入X和标签Y也用.to('mps')移过去。如果数据还留在CPU,每次前向传播都要在CPU和MPS之间来回拷贝数据,这额外开销直接把MPS的优势抵消了!

  • 小批次拖了后腿:MPS这类GPU后端的优势是处理大张量、大批次数据,当batch size太小时,设备初始化、数据传输的开销会远超过计算本身的收益。你可以试试把batch size调大,比如从32改成128甚至256,看看速度会不会有明显提升。

  • PyTorch版本不够新:早期版本的PyTorch对M4芯片的优化可能不够完善,建议你升级到最新的稳定版PyTorch,比如执行pip install --upgrade torch torchvision,新版本通常会修复很多芯片适配的问题。

  • 存在CPU fallback操作:虽然PyTorch的MPS支持大部分常用操作,但少数冷门操作可能还没适配,这时候会自动切回CPU执行,导致整体速度变慢。你可以运行代码时留意控制台的警告信息,如果看到类似“操作不支持MPS,将回退到CPU”的提示,那就要检查是不是用了这类未适配的操作。

附上你提供的代码片段:

def fit(X, Y, epochs, model, optimizer):    
    for epoch in range(epochs):        
        y_pred = model.forward(X)                
        loss = F.binary_cross_entropy(y_pred, Y)                
        optimizer.

备注:内容来源于stack exchange,提问作者Harith Laxman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:13:22