# `train_mlp_ddp.py` 使用说明

## 这个文件做什么
- 用 PyTorch DDP 做多卡并行训练（目标是 8 卡都利用起来）。
- 模型仍是基础 MLP，不追求花哨结构。
- 适合从“单卡已跑通”升级到“多卡提速”。

## 为什么这样做
- DDP 的核心是：每张卡做自己那部分数据前向/反向，梯度自动同步。
- 相比单卡，吞吐量更高，适合三个月中批量数据。

## 启动方式（8 卡）
```bash
torchrun --nproc_per_node=8 train_mlp_ddp.py \
  --feature-file /intern9/share/lixuelin/hs300_20260219_features_all_eps20_top200.txt \
  --max-days 2 \
  --epochs 2 \
  --batch-rows 100000 \
  --inner-batch 4096 \
  --use-amp
```

## 输入与输出
- 输入：`hs300_x795_v3` + 一份 top200 因子文件。
- 输出：
  - `output/ddp_runs/<feature_stem>_ddp_model.pt`
  - `output/ddp_runs/<feature_stem>_ddp_metrics.json`

## 注意事项
- 必须有可用 CUDA 和 `torch`。
- 先用 `--max-days 2` 验证，再扩到三个月。
- DDP 先看“是否稳定跑通”，再看最终指标。
