分布式训练工程快速开始
七天实战
交互课表与实验室见 分布式训练工程七天学会。
你将在 60–90 分钟内完成
- 确认本机/云主机工具链;
- 打开七天子站完成 Day1 导读;
- 跑通一个最小实验并写下基线;
- 把结果记入学习笔记(本地或仓库)。
环境建议
| 项目 | 建议 |
|---|---|
| OS | Linux x86_64(本站生产同系)或 macOS |
| Python | 3.10+(若做训练/评测脚本) |
| Node | 20+(仅当你二次开发七天前端时) |
| GPU | 按课程:CUDA 课与推理课强烈建议;概念课可 CPU |
| 磁盘 | 预留模型与日志空间,避免把根盘打满 |
第一步:打开七天学会子站
浏览器访问:https://distribution-training.chenxiaoshivivid.top/
你应看到 StoneXYZ AI 品牌导航与「7 天」学习入口。建议顺序:
- 浏览首页目标与能力地图;
- 进入学习路径 Day1;
- 打开技能实验室做一次「无风险」交互实验;
- 用站内搜索(若有 Ctrl/Cmd+K)定位关键词。
第二步:建立个人实验目录
mkdir -p ~/stone-ai/distribution-training/{notes,runs,artifacts}
cd ~/stone-ai/distribution-training
printf '# 分布式训练工程 实验日志\n\n' > notes/journal.md
每次 run 建议目录:
runs/2026-10-30-baseline/
config.yaml
metrics.json
stdout.log
第三步:最小实验(概念可复现)
即使暂时没有 GPU,也先把「测量口径」写清楚。以伪代码示例:
# baseline_skeleton.py
from time import perf_counter
def run_once():
t0 = perf_counter()
# TODO: 替换为课程相关的最小调用
result = {"ok": True}
dt = perf_counter() - t0
return result, dt
samples = [run_once()[1] for _ in range(10)]
print({"p50": sorted(samples)[len(samples)//2], "n": len(samples)})
把输出粘贴到 notes/journal.md,并注明:机器型号、软件版本、是否预热。
第四步:对照七天课表
| 天 | 聚焦 |
|---|---|
| Day1 单卡基线 | MFU 与 profiling |
| Day2 DP | 梯度同步与桶 |
| Day3 通信 | AllReduce 曲线 |
| Day4 并行组合 | TP/PP/DP |
| Day5 显存 | 激活重计算与分片 |
| Day6 故障 | 弹性与ckpt |
| Day7 交付 | 可复现实验报告 |
Day1 结束时的验收标准:
- 能口述本课要解决的问题与非目标;
- 有一份带时间戳的基线记录;
- 知道下一实验只改一个变量。
常见卡住点
| 现象 | 排查 |
|---|---|
| 子站打不开 | 检查 DNS/HTTPS;本机 curl -I https://distribution-training.chenxiaoshivivid.top/ |
| 指标不可比 | 是否换了模型/精度/批大小未记录 |
| 环境冲突 | 使用 venv/conda;固定依赖哈希 |
下一步
进入 开发指南 理解模块边界;或先浏览 GitHub 项目 选一个仓库跟读。
延伸阅读与练习
- 精读本课七天子站 Day1–Day2,并在笔记中用自己的话重述。
- 选择一个指标,连续三天同口径测量,观察方差。
- 找一个失败案例,写「根因假设 → 验证方法 → 结论」。
- 把工具版本钉死在锁文件或容器镜像摘要。
- 向同伴做 5 分钟讲解:若对方能复述指标口径,即过关。
参考口径示例
experiment:
name: baseline-1
course: distribution-training
hardware: "记录 GPU/CPU"
software:
python: "3.x"
key_libs: ["..."]
metrics:
primary: "按课程定义"
secondary: ["latency_p50", "latency_p90", "error_rate"]