神经网络训练监控工具

Cortex是一个MCP服务器,允许AI代理实时监控和调整神经网络训练过程,通过检测异常并安全调整参数来优化训练效果。

  • by Larkooo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Larkooo/cortex

使用说明

皮质

MCP服务器,让AI代理实时监控和调整神经网络训练。

与其盯着损失曲线并手动调整超参数,不如将AI代理连接到你的训练循环。它监视指标,检测异常情况,并采取谨慎的干预措施——用安全围栏防止它弊大于利。

建筑

┌─────────────────┐     ┌──────────────────┐     ┌───────────────┐
│  Training Loop   │────▶│    Telemetry      │◀────│   AI Agent     │
│                  │     │  (tracker.log)    │     │  (via MCP)     │
│  PyTorch / MLX   │◀────│                  │────▶│                │
│  JAX / any       │     │  ┌────────────┐  │     │  diagnose()    │
│                  │     │  │ Detectors  │  │     │  adjust_param()│
│  tracker.poll()  │     │  │ Guardrails │  │     │  rollback()    │
│  get_override()  │     │  │ Log        │  │     │  save/restore  │
└─────────────────┘     └──────────────────┘     └───────────────┘

三层:

  1. 遥测 --指标、配置、检查点、历史记录
  2. 探测器 --基于规则的异常检测产生类型化结果(熵崩溃、损失发散、梯度尖峰、评估平台、损失不平衡)
  3. 护栏 --干预的安全约束(最大变化百分比、冷却、速率限制、行动前检查点要求、完整干预日志)

快速开始

在您的培训代码中

from cortex import tracker

tracker.config(total_steps=100000, lr=3e-4, batch_size=64)

@tracker.on_checkpoint
def save(tag):
    torch.save(model.state_dict(), f"checkpoints/{tag}.pt")

@tracker.on_rollback
def rollback(tag):
    model.load_state_dict(torch.load(f"checkpoints/{tag}.pt"))
    return True

for step in range(100000):
    loss = train_step()
    tracker.log(step=step, loss=loss, entropy=ent, grad_norm=gnorm)

    # Process agent commands (checkpoint, rollback, pause/resume)
    tracker.poll()

    # Pick up live param adjustments
    new_lr = tracker.get_override("lr")
    if new_lr is not None:
        optimizer.lr = new_lr

连接代理

{
  "mcpServers": {
    "cortex": {
      "command": "cortex"
    }
  }
}

MCP工具

观察

工具 说明
get_status 步数、进度百分比、预计到达时间、步数/秒、阶段
get_metrics 所有跟踪指标的最新值
get_metric_history 趋势分析的时间序列
get_config 超参数配置
list_metrics 正在跟踪的所有指标名称

检测

工具 说明
diagnose 运行所有异常检测器,获得具有严重性和建议的结构化发现

干预

工具 说明
adjust_param 更改超参数(受保护:最大变化百分比,冷却时间,需要检查点)
save_checkpoint 保存模型状态以供以后回滚
rollback 将模型还原到检查点
pause_training 暂停循环以进行分析和决定
resume_training 暂停后继续

审查

工具 说明
get_intervention_log 每个变化的完整历史记录,包括之前/之后的指标
get_guardrail_status 速率限制、冷却、干预计数

探测器

产生结构化发现的内置异常检测器:

探测器 它捕捉到了什么
entropy_collapse 策略承诺过早(熵快速下降而没有改善)
loss_divergence NaN/inf损失,或损失迅速增加
loss_imbalance 价值损失淹没保单损失信号
grad_instability 发散前的梯度范数峰值
eval_plateau Eval评分停止提高
learning_stall 损失停止下降

每个发现都包括严重性、解释、具体的度量值和建议的行动。

护栏

每次干预在执行前都经过验证:

  • 最大变化百分比:不能一次更改参数超过50%(可配置)
  • 冷却:对同一参数进行调整之间的最小间隔为30秒
  • 速率限制:每小时最多20次干预
  • 需要检查点:在进行任何调整之前,必须保存检查点
  • 完整日志记录:每次干预都记录了之前/之后的指标和原因

安装

pip install cortex-mcp

或来源:

pip install -e .