docs: 添加数据分析(特征分布、瓶颈槽位、优化方向)

This commit is contained in:
2026-06-13 12:24:18 +08:00
parent 43b0c6c92a
commit 032018fd00
+35
View File
@@ -122,6 +122,41 @@ score_all = score_latency * 70 + score_model * 30
**策略指标以 baseline 为上限**,指标下降会扣分,超出范围直接 0 分。
## 数据分析
### 数据规模
| 维度 | 数值 |
|------|------|
| 历史数据 | 15 文件 × ~650K 行 = **923 万行**15GB |
| 测试集 | **7,774 条预测**13MB |
| 缓存 batch | 9 个 shard17GB,共 **2,039 batch** |
| Slot 数量 | 1-2828 个特征槽) |
### 数据格式
```
# History5 列,含 clk:
logid,userid,adid,clk,timestamp,sign:slot,...
# Test4 列,无 clk:
logid,userid,adid,timestamp,sign:slot,...
```
### 特征分布特征
1. **Slot 28 是瓶颈槽位**:每个样本含 30-50 个 `sign:28` 特征,远超其他 slot。`segment_reduce` 在 slot 28 上占据 RepEncoder 最大开销。
2. **Slot 19 高度冗余**:同一样本内连续出现大量相同 `sign:19`(如 `96:19` 重复 40+ 次)。在 `segment_reduce(sum)` 中,N 个相同 sign 等价于 `N × emb`,但代码独立查表 N 次再求和,浪费 embedding 带宽。
3. **特征极度稀疏**:百万级 sign id,每个样本仅 100-200 个 sign。Embedding 查表是主要内存瓶颈。
### 数据驱动的可优化方向
| 方向 | 合规性 | 预估收益 | 说明 |
|------|--------|----------|------|
| Slot 19 同值合并 | ⚠️ | 小 | N 个相同 sign 合并为 `N × emb`,减少 embedding 查表次数。属数据预处理灰区 |
| Slot 28 segment_reduce 融合 | ✅ | 中 | 将 slot 28 的大量 sign 预先按 offset 分桶,减少 kernel launch |
| Embedding 查表带宽 | ✅ | 小 | 已用 FP16embedding 5M×512 约 5GB |
## 优化路线图(来自 `推理优化方案.md`)
Baseline 数据:推理 229sAUC 0.759PCOC 1.110,得分 25.85。