返回列表

19th Place Solution

581. Google - Fast or Slow? Predict AI Model Runtime | predict-ai-model-runtime

开始: 2023-08-29 结束: 2023-11-17 基础软件 数据算法赛

第19名解决方案

作者:Amit Aharoni, Roy Segalz
排名:第19名
发布时间:2023-11-18

感谢Kaggle和Google组织本次比赛!这是我第一次参赛并乐在其中。比赛前我们对图神经网络(GNN)一无所知,但通过本次比赛学习了很多。同时感谢我的优秀队友@roysegalz

Tile数据集:

对于Tile数据集,我们使用RGCN模型,其中关系类型基于node_opcode。模型包含4个模块,每个模块结构为:RGCN -> LayerNorm -> ReLU

  • 损失函数:ListMLE
  • 隐藏层维度 = 128
  • 学习率调度器:CosineLRScheduler
  • 优化器:AdamW
  • 学习率 = 4e-4
  • 权重衰减 = 1e-4
  • 最终图表示采用最大聚合(max aggr)

我们在Tile数据集上达到0.198的分数(Layout数据集使用随机预测)

Layout数据集:

我们意识到区分不同图的关键在于强调node_config_feat特征。由于包含配置信息的节点数量远少于图中总节点数,这些数据在前向传播中容易丢失。我们的解决方案如下:

首先我们通过nn.Embedding和独热向量重新表示node_config_feat,然后构建了以下核心模型架构:

在每个模块后重新拼接数据显著提升了模型性能。

所有Layout数据集均采用相同的模型架构。

模型包含3个模块,每个模块结构为:GATv2 -> LayerNorm -> ReLU(由于RGCN在Layout数据集上计算开销过大,我们改用GATv2)

  • 隐藏层维度 = 64
  • 损失函数:nn.MarginRankingLoss(0.5)
  • 学习率调度器:CosineLRScheduler
  • 优化器:AdamW
  • 学习率 = 2e-4
  • 权重衰减 = 1e-4
  • 最终图表示采用虚拟节点(Virtual node)

我们的交叉验证分数:

数据集 Kendall-Tau CV
XLA default ~0.3
NLP default ~0.5
XLA random ~0.62
NLP random ~0.94
同比赛其他方案