ai-ml-engineering
AI/机器学习工程全流程技能。覆盖GPU加速(RAPIDS/CuPy/Numba/CUDA kernel调优)、scikit-learn经典ML、SHAP模型解释、特征工程与数据泄漏防护、时序验证、PyTorch Lightning分布式训练、强化学习(Stable-Baselines3)、TimesFM零样本预测、EDA数据体检、pymoo多目标优化。触发词:机器学习、深度学习、GPU加速、CU
SKILL.mdSKILL.md
GitHubAI/ML Engineering(机器学习工程)
从数据体检到 GPU 调优的 ML 全流程。核心立场:先 profile 再优化、先防泄漏再谈指标;结论按证据分级(已确认 / 工程推论 / 估算 / 待验证 / 数据不足)。
症状 → 加载哪个 reference
| 症状 / 任务 | 加载 |
|---|---|
| NumPy/pandas/sklearn 太慢;要写/调 CUDA kernel;GPU 相关报错 | references/gpu-acceleration.md |
| 训练分类/回归模型;调参;解释预测(SHAP) | references/classical-ml.md |
| 做时序/金融特征;指标好得离谱(>70% 准确率);怀疑泄漏 | references/timeseries-leakage.md |
| 分布式训练;RL 智能体;TimesFM 预测;训练报错 | references/deep-learning.md |
| 拿到新数据集不知从何下手;数据脏/缺失/分布可疑 | references/eda-data-quality.md |
工作流(默认顺序)
- EDA 体检:缺失、分布、泄漏红旗,输出数据质量报告(不动原始数据)。
- 基线:最简单能跑通的 Pipeline 先跑通,任何复杂度提升都要跟它比。
- 特征/模型:预处理放 Pipeline 内逐折拟合;时序数据按时间切分 + embargo。
- 验证:嵌套 CV;指标与基线和"随机猜测"双对照。
- 解释:SHAP 做 additivity 校验后再出图。
- 优化:需要速度时先测 GPU 适用性(≥10K 元素、高并行、显存放得下)。
铁律
MUST
- 先 profile 再优化(
ncu --set full/cupyx.profiler.benchmark()),禁止凭猜测优化。 - sklearn 预处理放进 Pipeline、每折内重拟合;分类切分必加
stratify=y。 - SHAP 解释前做 additivity 校验(
base_values + values.sum(axis=1)对比模型输出)。 - TimesFM:先跑
check_system.py,先compile()再forecast();SB3:训练前必跑check_env()。 - Lightning 多卡指标日志加
sync_dist=True,training_step必须返回 loss。 - GPU 浮点结果用容差比较,不做逐位比较。
NOT
- 禁止对时序数据做随机 CV 或全样本统计(lookahead)。
- 禁止在 GPU 上用 float64(消费卡吞吐仅 float32 的 1/32),累加器保持 FP32。
- 每个 CUDA kernel 无
if i < size越界守卫不得提交。 - 禁止加载不可信的 pickle/joblib 模型文件(反序列化即代码执行)。
- 禁止在 EDA 阶段自动删除离群值/插补/改写原始数据;缺失 ≠ 0,ND ≠ LOQ。
- 禁止对已归档/停止维护的库用于新项目(cuSpatial、cuxfilter)。
参考索引
每个 reference 按"第一步→判据→如何证明根因"组织。GPU 库映射表与零改码加速入口在 gpu-acceleration.md 开头。