Mac 本地运行建议
你的机器是 MacBook Pro M4,24G 内存。它适合本地跑通小规模训练流程,但不适合一开始就全量训练 BERT。
设备选择
PyTorch 在 Apple Silicon 上可以使用 MPS:
python
device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")建议启动时打印:
python
print(f"使用设备: {device}")如果输出:
text
使用设备: mps说明已经用上 Mac GPU。
第一次训练建议参数
为了快速看到完整流程,建议:
python
MAX_TRAIN_SAMPLES = 256
MAX_VALID_SAMPLES = 64
BATCH_SIZE = 8
MAX_LENGTH = 64
EPOCHS = 1
FREEZE_BERT = True含义:
| 参数 | 建议值 | 原因 |
|---|---|---|
MAX_TRAIN_SAMPLES | 256 | 快速跑通训练 |
MAX_VALID_SAMPLES | 64 | 快速完成验证 |
BATCH_SIZE | 8 | 降低内存压力 |
MAX_LENGTH | 64 | 商品标题通常不长 |
EPOCHS | 1 | 第一遍只验证流程 |
FREEZE_BERT | True | 只训练分类头,更快 |
FREEZE_BERT = True 时:
python
for param in model.bert.parameters():
param.requires_grad = False这表示 BERT 主体不更新,只训练最后的分类层。
学习流程时这样很好;真正微调时再改成:
python
FREEZE_BERT = False依赖安装
建议使用虚拟环境:
bash
python -m venv .venv
source .venv/bin/activate
pip install torch transformers datasets scikit-learn tqdm如果只跑最小脚本,核心依赖是:
bash
pip install torch transformers如果运行原项目完整流程,再安装:
bash
pip install -r requirements.txt本地文档站点
安装依赖:
bash
npm install启动文档:
bash
npm run docs:dev构建文档:
bash
npm run docs:build预览构建结果:
bash
npm run docs:preview什么时候算成功
第一阶段不要看准确率。
先看这些信号:
text
能加载数据
能加载 tokenizer
能加载 bert-base-chinese
能进入训练循环
loss 能打印出来
验证能跑完
模型能保存这些都跑通,说明训练管线已经通了。
准确率是第二阶段的事情。