Trackio 实验追踪
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/huggingface-trackio。
技能介绍
要解决什么问题
机器学习训练往往跑在本地脚本、远程 GPU 或云端实例上。loss、学习率、准确率等指标分散在日志里,实例一关就难复盘;训练异常(NaN、loss 突增、停滞)也常靠人工盯终端。你需要一种可持久、可查询的方式记录指标,并在需要时给自动化流程(含 LLM 智能体)结构化信号。
技能如何工作
Trackio 是面向 ML 训练的实验追踪库,指标可同步到 Hugging Face Spaces,在 Space 仪表盘上实时查看。
- Python API(记录):
trackio.init()初始化,trackio.log()写指标,结束时trackio.finish();可与 TRL 的report_to="trackio"集成。远程训练时传入space_id,指标写入 Space;自动创建的 Space 默认公开,敏感实验请设private=True。 - Python API(告警):在训练代码里调用
trackio.alert(title=..., level=...),级别为 INFO / WARN / ERROR;告警会打终端、入库、上仪表盘,并可走 Webhook(如 Slack、Discord)。监听脚本输出的智能体可直接从 stdout 看到告警。 - CLI(检索):
trackio list/trackio get查项目、运行与指标;trackio list alerts --json适合程序化轮询;trackio show开仪表盘,trackio sync同步到 HF Space。
自主实验常见流程:训练脚本里预埋诊断告警 → 后台跑训练 → 用 trackio list alerts --project ... --json --since ... 轮询 → 用 trackio get metric ... 看数值 → 再改超参开新 run。
适用边界与注意
Trackio 聚焦指标记录、可视化与告警,不是通用 MLOps 平台(不负责编排集群、模型注册等)。告警与 CLI 的 --json 是为自动化设计的,但 Webhook、Space 权限与私有性需按项目自行配置。
使用场景
- 在 TRL 微调脚本里接入 trackio,把 loss 与学习率同步到 HF Space,方便远程 GPU 跑完仍能在仪表盘复盘
- 训练循环里对 NaN 梯度或 loss 突增调用 trackio.alert,终端与 Webhook 同时收到 WARN,便于立刻停跑改超参
- 用 LLM 智能体后台启动多轮训练,定期执行 trackio list alerts --json 轮询新告警,再 trackio get 拉取具体指标决定是否换学习率
- 云端实例即将释放前执行 trackio sync,把本轮 run 的指标持久化到指定 space_id,避免只留在本地日志
适合人员
- 负责 Hugging Face / TRL 微调 pipeline 的算法工程师,需要跨多次 run 对比指标并保留 Space 上的可视化记录
- 编写自主调参或 AutoML 脚本的 ML 工程师,希望在代码里用结构化告警替代纯 print,供智能体读终端或 CLI JSON
- 在共享 GPU 集群上跑长时训练的研究生或研究员,实例回收后仍要通过 CLI 检索历史 run 与告警做论文实验复盘
- 维护 Slack/Discord 训练值班通道的 MLOps 同学,需要把 trackio 告警接到 Webhook 并在仪表盘统一查看