全链路模型训练
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/model-training。
技能介绍
要解决什么问题
在 Agent 场景里,「帮我训个模型」往往停在脚本片段或单步调参:数据怎么拆、预处理能否复现到推理、验证集是否被用来选超参,这些细节一错,线上指标和 notebook 就对不上。本技能把从原始数据到可部署产物的训练生命周期收成一条可执行路径,而不是零散 API 调用。
技能如何工作
Agent 按固定工作流推进:
- 数据:从磁盘、数据库或远程存储加载,探查分布、缺失与类别平衡;需要时用分层采样划分训练 / 验证 / 测试。
- 预处理:归一化、标准化、文本分词或图像增强等,并构建可序列化流水线,保证训练与推理一致。
- 建模与配置:经典 ML 可选 XGBoost、SVM 等;深度学习可定义层、dropout、迁移学习骨干 + 任务头;优化器、损失、学习率调度(含 warmup)、批大小一并设定;GPU 上可开
torch.amp或tf.keras.mixed_precision。 - 训练与验证:带 epoch 级指标记录、验证集定期评估、早停(patience);检查点按最佳验证分与间隔保存,并可导出 ONNX、TorchScript、SavedModel;超参与指标可写入 MLflow、W&B 等。
分布式侧支持 PyTorch DDP、Horovod、TensorFlow MirroredStrategy;数据侧可用 DataLoader、tf.data、Hugging Face Datasets 等。
适用边界与注意点
你只需给出数据位置、任务 / 目标变量、框架偏好、算力与指标约束,Agent 会跑完整流程并返回模型与评估结果。小样本、严重类别不平衡、训练 NaN、OOM、概念漂移等场景,技能文档里给出了分层拆分、focal loss、梯度裁剪、梯度累积、按时间切分等对应做法;最终泛化仍应在未参与训练与调参的留出集上评估,避免把验证集当「第二份训练集」用。
使用场景
- CSV 或数据库里的表格数据要做分类或回归,需要分层划分训练/验证集、选 XGBoost 或 sklearn 估计器并保存最佳验证指标对应的模型。
- 在自有语料上用 Hugging Face Transformers 微调预训练语言模型,配置 warmup 与学习率调度,并把检查点与指标记到 MLflow 或 W&B。
- PyTorch 图像或文本任务在 GPU 上训练,需要开启混合精度、实现早停与定期检查点,最终导出 ONNX 或 TorchScript 给推理服务。
- 线上指标下滑怀疑概念漂移,需按时间顺序切分数据做周期性重训,并在从未用于调参的留出集上评估泛化。
适合人员
- 要把实验 notebook 收敛成可部署模型的算法工程师,强调预处理流水线可序列化且与推理一致
- 日常处理类别极不平衡或小样本表格数据的机器学习工程师,需要分层拆分、focal loss 或 SMOTE 等可执行方案
- 用 PyTorch 或 TensorFlow 做迁移学习与多 epoch 训练的深度学习开发者,关注 OOM、NaN 损失与梯度裁剪等排障
- 负责训练作业与实验记录的 MLOps 工程师,需要检查点策略、分布式选项(DDP/Horovod)与超参数可追溯