docs: 添加数据分析(特征分布、瓶颈槽位、优化方向)
This commit is contained in:
@@ -122,6 +122,41 @@ score_all = score_latency * 70 + score_model * 30
|
||||
|
||||
**策略指标以 baseline 为上限**,指标下降会扣分,超出范围直接 0 分。
|
||||
|
||||
## 数据分析
|
||||
|
||||
### 数据规模
|
||||
|
||||
| 维度 | 数值 |
|
||||
|------|------|
|
||||
| 历史数据 | 15 文件 × ~650K 行 = **923 万行**,15GB |
|
||||
| 测试集 | **7,774 条预测**,13MB |
|
||||
| 缓存 batch | 9 个 shard,17GB,共 **2,039 batch** |
|
||||
| Slot 数量 | 1-28(28 个特征槽) |
|
||||
|
||||
### 数据格式
|
||||
|
||||
```
|
||||
# History(5 列,含 clk):
|
||||
logid,userid,adid,clk,timestamp,sign:slot,...
|
||||
|
||||
# Test(4 列,无 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 查表带宽 | ✅ | 小 | 已用 FP16,embedding 5M×512 约 5GB |
|
||||
|
||||
## 优化路线图(来自 `推理优化方案.md`)
|
||||
|
||||
Baseline 数据:推理 229s,AUC 0.759,PCOC 1.110,得分 25.85。
|
||||
|
||||
Reference in New Issue
Block a user