关于 ml-engineering
面向机器学习工程师的工程方法论技能,覆盖模型训练、评估、量化、推理服务与部署维护。通过参考资料、记录模板和检查脚本支持可复现比较与回归分析,不负责统计建模或具体引擎操作。
主要功能
- 01LoRA、QLoRA 与全量微调方法
- 02基准测试与回归评估设计
- 03GGUF、GPTQ、AWQ 等量化决策
- 04推理服务与部署规划
- 05训练、模型沿袭与漂移记录模板
- 06数据重叠与任务结果审计脚本
适用场景
- 01制定微调实验与复现记录
- 02设计评估集并追踪模型回归
- 03比较量化候选方案与质量门槛
- 04审查部署计划或漂移响应
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill ml-engineering安装后在 Claude Code 中输入/ml-engineering确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdevals/evals.jsonspecialization-challenges.mdreferences/evaluation-and-lineage.mdevaluation.mdfine-tuning.mdnli-classification.mdnli-evaluation.mdnli-sources.mdquantization-inference.mdsequence-sources.mdspecialization-decisions.mdspecialization-evidence.mdtabular-foundations.mdtabular-representations.mdtask-specific-extraction.mdtask-specific-summarization.mdtext-model-sources.mdtraining-infrastructure.mdtransaction-sequences.mdscripts/audit_sequence_windows.pyaudit_text_outcomes.pycheck-eval-overlap.pycompare_task_runs.pynli_score_contract.pytest_audit_sequence_windows.pytest_audit_text_outcomes.pytest_check_eval_overlap.pytest_compare_task_runs.pytest_nli_score_contract.py详细介绍
ML 工程方法论
机器学习工程是模型研究与生产系统之间的桥梁。本方法论涵盖可靠地训练、评估、部署和维护 ML 模型所需的工程学科。
ML 工程师的职责范围
| 你负责 | 你不负责 |
|---|---|
| 模型训练 — LoRA/QLoRA 微调、全量微调、分布式训练 | 统计建模和实验设计 — 这是数据科学家的职责 |
| 模型评估 — 基准测试套件、自定义评估集、回归测试 | 因果推断和假设检验 — 这是数据科学家的职责 |
| 量化 — GGUF、GPTQ、AWQ、bitsandbytes | 训练数据收集和标注 — 这是数据/ML 运维团队的职责 |
| 推理服务 — vLLM、llama.cpp、TGI、Triton | 业务指标和 KPI 定义 — 这是产品经理的职责 |
| 评估框架 — lm-eval-harness、自定义流水线 | 数据流水线架构 — 这是数据工程师的职责 |
| 模型部署 — 容器化、版本管理、A/B 测试 | 基础设施配置 — 这是平台工程师的职责 |
参考文件
| 参考资料 | 加载时机 |
|---|---|
references/nli-classification.md | NLI 前提/假设契约、二元/三元分类头、分数模式和截断 |
references/nli-evaluation.md | 领域/语言验证、校准、弃权、成本和适配实验 |
references/nli-sources.md | NLI 的主要证据和局限性 |
references/task-specific-extraction.md | 跨度/编码器/生成式抽取、偏移量、来源依据、关键召回率和凭据 |
references/task-specific-summarization.md | 抽取式/抽象式模型选择、源/目标保留、事实准确性和下游压缩 |
references/text-model-sources.md | 抽取/摘要的主要证据和不确定性 |
references/tabular-representations.md | 自监督表格编码器、损坏/对比目标、行上下文和公平比较 |
references/sequence-sources.md | 表格和序列表示的主要来源发现和不确定性 |
references/transaction-sequences.md | 有序事件表示、窗口、标签成熟度、前向/实体验证和有状态服务 |
references/specialization-decisions.md | 选择规则/分类器/零样本/提示词/SFT/RL、设计固定预算比较,以及解读验证器或案例研究的论断 |
references/specialization-evidence.md | 主要来源发现、相互矛盾的结果和本地验证局限 |
references/fine-tuning.md | 设置 LoRA/QLoRA/全量微调流程——数据准备、超参数、验证策略 |
references/evaluation.md | 评估模型——基准测试选择、自定义评估集、回归跟踪、比较方法 |
references/evaluation-and-lineage.md | 指标/配置决策、重复随机比较、端到端血缘关系、时间特征一致性、漂移响应,以及适配/服务权衡 |
references/quantization-inference.md | 量化模型并提供服务——GGUF/GPTQ/AWQ/bitsandbytes 比较、校准数据策略、KV 缓存量化、vLLM/llama.cpp/TGI/Triton 架构、生产注意事项 |
references/training-infrastructure.md | 选择和配置训练基础设施——GPU 选择、VRAM 预算、多 GPU 策略(DDP/FSDP/DeepSpeed)、云端与本地部署、存储、监控 |
模板
| 模板 | 适用场景 |
|---|---|
templates/nli-experiment.md、templates/nli-logits.json | NLI 研究工作表和合成的已保存 logits 契约 |
templates/text-model-record.md、templates/extraction-receipt.json、templates/summary-receipt.json | 任务/溯源工作表,以及合成的提取/摘要契约 |
templates/sequence-model-record.md | 表征、预训练数据暴露、时间/窗口/状态和评估记录 |
templates/sequence-windows.json | 合成的时间感知窗口审计契约 |
templates/specialization-study.md | 预注册与任务匹配的备选方案、冻结数据、质量/资源护栏和停止规则 |
templates/task-run-baseline.json、templates/task-run-candidate.json | 合成的已保存回执契约示例;不是模型结果 |
templates/training-run-record.md | 记录训练或微调运行——模型和数据版本、完整配置、环境、评估结果——以便复现 |
templates/eval-regression-table.md | 跟踪不同运行的模型质量并对回归问题进行分类处理——每个评估用例或能力子集占一行 |
templates/quantization-decision-record.md | 记录量化决策——基线、对比的候选方案、质量阈值和回滚路径 |
templates/model-lineage-record.md | 关联数据/特征、代码/配置、运行、制品、评估、注册表状态和已部署的服务版本 |
templates/drift-response-record.md | 记录漂移信号、阈值、诊断、重新训练/回滚决策以及操作后的证据 |
脚本
| 脚本 | 适用场景 |
|---|---|
scripts/nli_score_contract.py | 已保存 NLI 分数的算术和映射/形状检查;不执行模型或进行校准 |
scripts/audit_text_outcomes.py | 精确检查源文本跨度和摘要回执的一致性;不使用模型或进行语义判断 |
scripts/audit_sequence_windows.py | 检查声明的窗口可用性、身份、结果和折边界;不执行模型 |
scripts/compare_task_runs.py | 使用匹配的固定项/名单进行描述性配对任务比较,拒绝不完整证据并进行分组自助法;不审批发布 |
scripts/check-eval-overlap.py | 检查训练语料与评估语料之间是否存在测试集泄漏(共享 n 元语法);供 CI 使用时添加 --json,当某个评估文件超出重叠阈值时退出码为 1 |
评估
evals/evals.json — 此技能的输出质量评估清单:微调计划审查、评估集设计、量化决策、部署计划、回归问题分类处理和训练运行可复现性。
专业化决策边界
从所需结果和预测时允许使用的信息入手。 适当纳入更简单的规则、监督式或零样本分类器; 分类分数并不会自动成为经过校准的概率。专有 LLM 案例研究仅供参考,不能证明架构最优。比较 匹配的上下文/策略/预算,保留关键回归,并要求满足每一项 已注册的护栏后才能晋级。新的辅助程序退出码为 0,仅表示描述性 比较已完成;模型执行和发布仍需分别提供证据。
训练操作请转至 unsloth,类型化决策请转至 system-one,标签/溯源请转至 training-data-annotation,实验 分析/校准请转至 data-scientist,Agent 级 评估请转至 agent-evals-and-observability。
对于表格基础模型的选择,请阅读 references/tabular-foundations.md;
对于指定的 TabPFN 设置/上下文/推理/微调,请使用
tabpfn。
核心原则
先测量,再优化 — 未先测量模型的基线性能,切勿对模型进行量化、剪枝或蒸馏。未经测量就进行优化,无异于猜测。
必须保证可复现 — 每次训练都需要可复现的配置:随机种子、数据版本、超参数和评估方法。如果无法复现,就无法交付。
先建立基线 — 在进行成本高昂的微调之前,先用基础模型建立基线。如果基础模型已经足够好,将微调预算用于其他方面会更合适。
在边界处测试 — 在能力分布的边界处进行模型评估,比在分布中心更能提供有价值的信息。困难样例比简单样例更能揭示问题。
评估集是潜在风险 — 评估集中的每个样例都可能导致测试集泄漏。请使用留出集、轮换样例,并定期使用重叠检查器审查数据污染情况。
何时不使用
不要将此技能用于统计建模、实验设计或因果推断——这些属于数据科学家的工作。也不要用它来操作特定的推理引擎:如需安装 llama.cpp、加载模型、进行基准测试和故障排除,请改为加载 llama-cpp 工具技能;如需部署 vLLM、配置模型、进行基准测试、调优批处理、操作 GPU 以及升级或回滚,请改为加载 vllm 工具技能。此技能提供方法论(评估集设计、量化权衡、部署计划、回归问题分诊);工具技能则负责运行手册。