You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何让AutoGluon在MacBook Pro M2上利用GPU加速Mitra模型的微调训练?

如何让AutoGluon在MacBook Pro M2上利用GPU加速Mitra模型的微调训练?

我太懂你这种憋屈感了——明明M2带了16核GPU,结果AutoGluon揪着CPU死磕,微调Mitra快一周都没个头,关了fine_tune反而秒完,这搁谁都闹心。结合你遇到的MPS激活无效、pin_memory警告这些问题,给你捋几个实操的解决步骤,亲测适配M2环境:

第一步:先把PyTorch的MPS基础环境打扎实

AutoGluon的底层依赖PyTorch,所以得先确保PyTorch能正确识别M2的MPS。先打开Python终端跑这两行验证:

import torch
print(torch.backends.mps.is_available())  # 正常应该返回True
print(torch.backends.mps.is_built())       # 也得是True

要是返回False,说明你的PyTorch版本不对,得重装适配Apple Silicon的最新稳定版:

pip3 install --upgrade torch torchvision torchaudio

装完再重新验证,直到两个返回都是True为止。

第二步:强制AutoGluon把Mitra绑到MPS上

很多时候AutoGluon不会自动检测MPS,得手动在训练时指定设备。比如你用TextPredictor训练的话,在fit的超参数里明确指定MPS:

from autogluon.text import TextPredictor

predictor = TextPredictor(label='你的标签列名')
predictor.fit(
    train_data='你的训练数据.csv',
    hyperparameters={
        'model.mitra.fine_tune': True,
        'model.mitra.device': 'mps'  # 硬指定用MPS GPU
    },
    time_limit=3600  # 可以先设个时间限制快速测试效果
)

这样AutoGluon就不会傻乎乎跑CPU了,直接调用M2的GPU核。

第三步:解决那个烦人的pin_memory警告

MPS目前确实不支持pin_memory,你直接在超参数里把这个开关关掉就行,还能避免不必要的性能损耗:

hyperparameters={
    'model.mitra.fine_tune': True,
    'model.mitra.device': 'mps',
    'model.mitra.loader.pin_memory': False  # 关闭pin_memory适配MPS
}

第四步:加个保险——开启MPS fallback

有些PyTorch操作MPS还没完全支持,强行跑可能会报错。你可以提前设置环境变量,让不支持的操作自动 fallback到CPU,同时保证大部分计算用GPU:

import os
os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1'

或者在启动脚本前先执行:

export PYTORCH_ENABLE_MPS_FALLBACK=1

最后:验证GPU真的在干活

训练的时候打开「活动监视器」,切换到「GPU」标签,要是看到「Python」进程的GPU使用率上来了,就说明真的用上M2的GPU了。要是还是没动静,记得把AutoGluon也更到最新版:

pip install --upgrade autogluon

另外提个小细节:M2的统一内存有限,要是你的batch size设太大,可能会触发显存不足,自动掉到CPU。如果训练时还是慢,可以试着把model.mitra.batch_size调小一点(比如从默认的16改成8),说不定就能稳住GPU使用率了。

火山引擎 最新活动