Skip to content

[feat] model_config.summaries_set:训练期 PCOC 与 scalars TensorBoard 摘要#598

Open
fooSynaptic wants to merge 6 commits into
alibaba:masterfrom
fooSynaptic:feat/model-summaries-set-pcoc
Open

[feat] model_config.summaries_set:训练期 PCOC 与 scalars TensorBoard 摘要#598
fooSynaptic wants to merge 6 commits into
alibaba:masterfrom
fooSynaptic:feat/model-summaries-set-pcoc

Conversation

@fooSynaptic

@fooSynaptic fooSynaptic commented Jul 9, 2026

Copy link
Copy Markdown

Summary

  • model_config.summaries_set 新增训练期 TensorBoard 摘要配置(来自 EasyRec issue:无法通过配置调整来增加 tensorboard监控)。
  • PCOC:按 log_step_count_steps 累积 batch 级 mean(pred)/mean(label),写入 summary/pcocsummary/predicted_ctrsummary/observed_ctr
  • scalars:支持按 feature_name + feature_value 切片统计 mean(pred),写入 summary/<name>pred_namelogits 时自动 sigmoid。
  • 实现挂于 BaseModel,Rank/Match 等模型均可配置;multi_tower_din_mock.config 含完整示例。
  • 文档见 docs/source/models/evaluation_metrics.md

配置示例

model_config {
  summaries_set {
    pcoc {
      pred_name: "probs"
      label_name: "clk"
      epsilon: 1e-7
    }
  }
  summaries_set {
    scalars {
      name: "id_1_bucket_pred"
      pred_name: "probs"
      feature_name: "id_1"
      feature_value: "1005"
    }
  }
}

分布式说明

分布式训练时,各 rank 在本地累积摘要,仅 rank 0 写入 TensorBoard。summary/* 数值反映 rank 0 所见分片数据的统计,全局 all-reduce 结果(与当前 train_metrics 行为一致)。

Test plan

  • python3 tzrec/metrics/train_summary_test.py(6 项 CPU 测试,Apple Silicon M4 本地验证通过)
    • logits→sigmoid
    • PCOC 单 batch
    • dense / sparse 特征切片 scalars
    • 多 batch running mean 累积
    • 小样本端到端集成:对齐 multi_tower_din_mock.config 的 pcoc + scalars,3 个 mini-batch 累积后写入 TensorBoard 并回读校验 summary/* tag
  • python -m grpc_tools.protoc -I . tzrec/protos/*.proto tzrec/protos/models/*.proto --python_out=. --pyi_out=. 生成 summary_pb2.py

fooSynaptic and others added 6 commits July 9, 2026 23:07
定义 summary.proto,在 ModelConfig 挂载 summaries_set,并实现训练期
累积均值与 PCOC/scalars 计算及单元测试。
BaseModel 初始化/更新/汇总训练 summary,main 在 log step 写入 summary/* tag;
mock 配置增加 pcoc 示例。
mock 配置展示 pcoc(pred_name/label_name/epsilon)与 scalars 特征切片示例。
TrainSummaryModule 暴露 summary_cfg 属性;evaluation_metrics.md 增加
model_config.summaries_set 配置说明及分布式 rank-0 局部统计说明。
覆盖 mock 配置中 id_1 稀疏特征切片及 log step 间 running mean 累积逻辑。
模拟 mock 配置下多 batch 累积并校验 summary/* 标量写入 TensorBoard。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant